minimization fmincon with ode
1 回表示 (過去 30 日間)
古いコメントを表示
Hello, I am using fmincon to fit my model to data.
I have a set of differential equations that give me the model results:
dy/dt=f(x,y,t)
where y are the points I want to compare to experimental points, x are my decision variables and t is time.
My objective function objfun is the sum of the squares of the residuals (y-data)^2
I profiled my code and I saw that it spends the most time solving the ode. I wanted to know if there is a way, numerically, to use my set of ODE dy/dt to determine the gradient dobjfun/dx so I can give it to fmincon beforehand instead of it using finite differences to determine it.
Thank you,
0 件のコメント
採用された回答
Torsten
2019 年 1 月 8 日
編集済み: Torsten
2019 年 1 月 8 日
To get dobjectfun/dx numerically, you had to solve even more ODEs:
Section: Use a Gradient Evaluation Function.
I wouldn't advice you to do so.
Best wishes
Torsten.
2 件のコメント
Torsten
2019 年 1 月 8 日
You can use derivative-free optimization methods, e.g. fminsearch.
For methods that need the Jacobian, nothing can be done.
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!