How to solve two coupled first order ODEs and use the solution (through curve fitting to experimental data) to optimize the parameters through fminsearch
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am solving two coupled ODEs with the intention of optimising the parameters of the analytical solution using fminsearch. I am also following the example of Monod kinetics and curve fitting. However both the Monod example and my solution gives various errors, as I try different things to solve the problem. I can not figure out where am I going wrong.
See the attached m-files.
0 Kommentare
Antworten (1)
Star Strider
am 6 Mär. 2018
The lambertw function could be a problem with respect to fitting your equation system. It is not always possible to use fminsearch (even though it is ‘derivative-free’) and other such optimisation functions and achieve a reasonable result.
If you have the Global Optimization Toolbox, I have found the ga function (see this Comment to HELP ME PLEASE! How to find parameter estimation with fminsearch? (link)) to provide good results. I used a very large, random, initial population. I got a very good fit to the data. It took a while, and as I see it, the time was well spent.
Gradient-descent nonlinear parameter estimation routines are sensitive to the initial parameter estimates, whereas ga, given a large initial population and enough time, will converge on the best result possible. If you don’t have access to the ga function, simple unconstrained genetic algorithm codes are relatively easy to write. (If it is not already obvious, I really like genetic algorithm optimisations!)
I have not run your code, or experimented with using ga to optimise it. I leave this for you to experiment with first.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Interpolation 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!