How to solve two coupled first order ODEs and use the solution (through curve fitting to experimental data) to optimize the parameters through fminsearch
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposte (1)
Star Strider
il 6 Mar 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 Commenti
Vedere anche
Categorie
Scopri di più su Interpolation in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!