Parameter Estimation of 3 ODE systems with lsqcurvefit does not converge

1 回表示 (過去 30 日間)
gina_et_berg
gina_et_berg 2020 年 4 月 7 日
コメント済み: Star Strider 2020 年 4 月 8 日
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

採用された回答

Star Strider
Star Strider 2020 年 4 月 7 日
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 件のコメント
gina_et_berg
gina_et_berg 2020 年 4 月 8 日
thanks a million! really appreciate your help
Star Strider
Star Strider 2020 年 4 月 8 日
As always, my pleasure!
I wish I could have gotten it to work.
.

サインインしてコメントする。

その他の回答 (1 件)

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

カテゴリ

Help Center および File ExchangeProgramming についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by