フィルターのクリア

Fit an Ordinary Differential Equation (ODE) using lsqcurvefit

3 ビュー (過去 30 日間)
Jonas Hilpert
Jonas Hilpert 2018 年 11 月 14 日
コメント済み: Torsten 2018 年 11 月 15 日
Hello,
i have a system of 11 ODE's (ode45) and want to fit them to measured data. For that i have 11 variables i want to optimate. My Question:
Additional to the lb and ub in the lsqcurvefot solver, i want a condition for the variables like x(1)+x(2)=5. Is that possible?

採用された回答

Torsten
Torsten 2018 年 11 月 14 日
編集済み: Torsten 2018 年 11 月 14 日
Remove parameters x(1) and x(2) from your list and introduce one new variable x(12). From x(12), calculate x1=5*cos^2(x(12)) and x2=5*sin^2(x(12)) and insert x1 and x2 instead of x(1) and x(2) in your ODE system.
If your constraints are more complicated than this one, use "fmincon" instead of "lsqcurvefit".
  2 件のコメント
Jonas Hilpert
Jonas Hilpert 2018 年 11 月 15 日
thank you very much for your answer! You are right, my constraints are more complicated. Actually i need as follows: x(1)+x(2)+x(3)+x(4)+x(5)+x(6) = 5 or probably even more constraints.....
I have tried your suggestion, unfortunately this is not working really well. I was thinking "fmincon" is not working for a system of ode's, or am I wrong? I hope you have another suggestion for me
Torsten
Torsten 2018 年 11 月 15 日
"lsqcurvefit" has nothing to do with the integration of the system of ODEs. That's why "fmincon" will work as well as "lsqcurvefit".

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeOrdinary Differential Equations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by