Implement better generation of pseudo exp. data
authorLukáš Jiřiště <jiriste@icpf.cas.cz>
Mon, 13 May 2024 07:21:49 +0000 (09:21 +0200)
committerLukáš Jiřiště <jiriste@icpf.cas.cz>
Mon, 13 May 2024 07:21:49 +0000 (09:21 +0200)
pseudo_exp.m

index a1af93258ce56804aac651d429281f344d890377..64357629ba26bf9b4934eb2a7d6c23ae92a86b30 100644 (file)
@@ -2,10 +2,12 @@ function [t, p, t_open] = pseudo_exp(p1, V1, V2, Vvz, n)
        t_open = rand(1, n) * (50 - 15) + 15;
        t_open = ceil(cumsum(t_open));
        t = (0:ceil(t_open(n)) + 20);
-       p = rand(size(t)) * p1 / 100;
+       p = zeros(size(t));
+       peq = 0;
        for i = ceil(t_open)
                p2 = (p(i + 1) * (V2 - Vvz) + p1 * V1) / (V1 + V2 - Vvz);
-               peq = 0.7 * p2;
-               p(i + 1:end) += (p2 - peq) * exp((-(i + 1:length(p)) + i) / 10) + peq;
+               peq += 0.7 * (p2 - peq);
+               p(i + 1:end) = (p2 - peq) * exp((-(i + 1:length(p)) + i + 1) / 10) + peq;
        end
+       p += rand(size(t)) * p1 / 100;
 end