Parameter Estimation of 3 ODE systems with lsqcurvefit does not converge

1 Ansicht (letzte 30 Tage)
Hello
I have atttached my codes. I have used similar codes as Star Strider 's Monod kinetics and curve fitting techniques. But it does not converge. Can you please help me figure out what I am doing wrong here?
Thanks

Akzeptierte Antwort

Star Strider
Star Strider am 7 Apr. 2020
First, re-define ‘alpha0’ to include the initial conditions::
alpha0 = [alpha0; 80.2;4.451e-3;4.264e-3];
and change ‘kinetics’ correspondingly so that:
c0 = alpha(end-2:end);
With those changes, it converged very quickly for me (R2020a) producing:
Local minimum possible.
lsqcurvefit stopped because the final change in the sum of squares relative to
its initial value is less than the value of the function tolerance.
<stopping criteria details>
kinetic parameters:
alpha(1) = 1160.81907
alpha(2) = 0.60175
alpha(3) = 2.38292
alpha(4) = 1.71922
alpha(5) = 1482.53287
alpha(6) = 0.21982
alpha(7) = 2.88669
alpha(8) = 2.53375
alpha(9) = 77.58045
alpha(10) = 2.62417
alpha(11) = 2.62398
If it does not produce the parameter values you expect, it would be best to use a global search, such as the genetic algorithm (ga) function. If you have the Global Optimization Toolbox, I will post a version of that code that uses ga.
  8 Kommentare
gina_et_berg
gina_et_berg am 8 Apr. 2020
thanks a million! really appreciate your help
Star Strider
Star Strider am 8 Apr. 2020
As always, my pleasure!
I wish I could have gotten it to work.
.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

gina_et_berg
gina_et_berg am 8 Apr. 2020
That was a huge help. Now at least I know whatever I used manually is a better fit to my data. Thanks a lot.

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by