From dd87a2c318536c0019505057b4db4a1e8ae25a7f Mon Sep 17 00:00:00 2001 From: jens Date: Sun, 11 Jun 2023 21:02:15 +0200 Subject: [PATCH] - reduced debug --- brew/water_optimizer.m | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/brew/water_optimizer.m b/brew/water_optimizer.m index 77d5ee9..782fd7f 100644 --- a/brew/water_optimizer.m +++ b/brew/water_optimizer.m @@ -14,7 +14,7 @@ ## along with this program. If not, see . ## -*- texinfo -*- -## @deftypefn {} {@var{retval} =} brewwater_optimizer (@var{input1}, @var{input2}) +## @deftypefn {} {@var{retval} =} water_optimizer (@var{input1}, @var{input2}) ## ## @seealso{} ## @end deftypefn @@ -22,7 +22,7 @@ ## Author: Jens ## Created: 2023-06-08 -function brewwater_optimizer (TEST_SUITE, k_ve) +function water_optimizer (TEST_SUITE, k_ve) # Load constants water_constants() @@ -63,7 +63,7 @@ M_Mg_0_mmol = k_Mg_0_mg/M_Mg; % mmol/l M_Na_0_mmol = k_Na_0_mg/M_Na; % mmol/l M_Cl_0_mmol = k_Cl_0_mg/M_Cl; % mmol/l M_S_0_mmol = k_S_0_mg/M_S; % mmol/l -A = k_ve*create_mol([i_Ca i_Mg i_Na i_Cl i_S], [M_Ca_0_mmol M_Mg_0_mmol M_Na_0_mmol M_Cl_0_mmol M_S_0_mmol], mol_masses) +A0 = k_ve*create_mol([i_Ca i_Mg i_Na i_Cl i_S], [M_Ca_0_mmol M_Mg_0_mmol M_Na_0_mmol M_Cl_0_mmol M_S_0_mmol], mol_masses) # Target profile M_Ca_1_mmol = k_Ca_1_mg/M_Ca; % mmol/l @@ -76,13 +76,13 @@ T = create_mol([i_Ca i_Mg i_Na i_Cl i_S], [M_Ca_1_mmol M_Mg_1_mmol M_Na_1_mmol M if TEST_SUITE == 1, # Allowed substances, easy Pp = [M_EL_Ca; M_EL_Mg; M_EL_Na; M_EL_Cl; M_EL_S]; -learning_rate = 0.01 +learning_rate = 0.01; end if TEST_SUITE == 2, # Allowed substances, difficult Pp = [M_CaSO4; M_CaCl2; M_MgSO4; M_NaCl]; -learning_rate = 0.001 +learning_rate = 0.001; end # Init vecfit vars @@ -90,7 +90,7 @@ end Pa = zeros(N_subst, 1); # ignore oxygen -mask = create_mol([i_Ca i_Mg i_S i_Cl i_Na], [1 1 1 1 1], mol_masses) > 0 +mask = create_mol([i_Ca i_Mg i_S i_Cl i_Na], [1 1 1 1 1], mol_masses) > 0; V = 50; % liter _dn = []; @@ -98,7 +98,7 @@ CONV_COUNTER_RELOAD = 20; Dn0 = 1; conv_counter = CONV_COUNTER_RELOAD; while true, - [A1, Pa, Dn1] = vecfit(Pp,mask,T,A,Pa, learning_rate.*(1-exp(-Dn0))) + [A1, Pa, Dn1] = vecfit(Pp,mask,T,A0,Pa, learning_rate.*(1-exp(-Dn0))); Dc = round_n(Dn1,2); if Dn0 == Dc, if conv_counter == 0, @@ -114,9 +114,8 @@ while true, end plot(1:length(_dn), _dn); grid(); title("Distance"); xlabel("Iteration"); ylabel("Dn") -T=T A1=A1 -Pa=Pa +Dn1 = Dn1 endfunction