Fit model to experimental data
7 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi,
I have experimental data as X is a vector of angles and Y is the resisting moment. So for experiments I have a serie of coordinates X_exp,Y_exp.
I have a model which is theoritically described by a serie of nested formulas. I cannot really write a formula in a short and easy way and directly introduce in a matlab fit function.
As output of may model I have X_mod as a vector of angles and Y_mod as a vector of resisting moments. If necessary, I can produce vector size of model indentically to experimental vectors.
I have four parameters of my model that I would like to optimize simultenaously and minimize to 5% error the distance between the experiment data points and the model points.
I use nested loops to do that but it's not efficient and I have to choose an order for my parameters.
Do you have a solution which like a fit could propose the best compromise of the four parameters which are part of a complex model ?
Kind regards.
Steph.
0 Commenti
Risposte (2)
John D'Errico
il 3 Lug 2017
Modificato: John D'Errico
il 3 Lug 2017
"which like a fit"? This IS a curve fit.
Just use a curve fitting tool. So the curve fitting toolbox, or nlinfit, lsqnonlin, or lsqcurvefit. Just because it takes some effort to write down does not mean you cannot write a function that embodies your model.
This will work as long as the model does not use anything that rounds numbers internally, uses floor, or ceil, or anything like that, or is discontinuous in anyway.
0 Commenti
Stephane Roche
il 3 Lug 2017
1 Commento
Torsten
il 4 Lug 2017
You can define your model in a function instead of writing the model equation in one (short) function handle. This way, the parameters can be used in as many nested functions as necessary.
Best wishes
Torsten.
Vedere anche
Categorie
Scopri di più su Get Started with Curve Fitting Toolbox 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!