- stop on convergence

This commit is contained in:
2023-06-11 08:16:08 +02:00
parent 51f3889de0
commit 10674bc376
+19 -3
View File
@@ -53,13 +53,29 @@ A = 0*T
Pa = [0 0 0 0]';
Pp = [M_CaSO4; M_CaCl2; M_MgSO4; M_NaCl];
Dn = 1;
while Dn > 0.5,
[A1, Pa, Dn] = vecfit(Pp,mask,T,A,Pa, 0.0001.*(1-exp(-Dn)))
CONV_COUNTER_RELOAD = 10;
Dn0 = 1;
conv_counter = CONV_COUNTER_RELOAD;
while true,
[A1, Pa, Dn1] = vecfit(Pp,mask,T,A,Pa, 0.0001.*(1-exp(-Dn0)))
Dc = round_n(Dn1,3);
if Dn0 == Dc,
if conv_counter == 0,
break;
else
conv_counter -= 1
end
else
conv_counter = CONV_COUNTER_RELOAD
end
Dn0 = Dc;
end
T=T
A1=A1
Pa=Pa
endfunction
function zr = round_n(z, n)
zr = round(z*10^n)/10^n;
endfunction