How to pass a linear dependence between some parameters into MATLAB non linear solver?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am fitting a multiparametric model based on a set of differential equations to the experimental data.
I have initial guesses:
par0= [ 1.0, 0.05, 1.0, 0.01, 2*12*1000, 100*4, 300, 2.25, 0, 0.35, 0.43, 0.54, 0.67, 0.8, 0.94];
lb...
ub...
problem=createOptimProblem('lsqcurvefit','objective',@doFit,'x0',par0,'lb',lb,'ub',ub,'xdata',xdata,'ydata',ydata');
ms = MultiStart('TolFun',1e-20,'TolX',1e-20);
par= run(ms,problem,10);
I know that there is a linear dependence between par(10),par(11),par(12),par(13),par(14),par(15), par(16) like sketched in the plot
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/158340/image.jpeg)
How to pass this dependence into the solver? Thank you in advance.
0 commentaires
Réponse acceptée
Matt J
le 10 Mar 2014
Modifié(e) : Matt J
le 10 Mar 2014
Are you saying par(10:16) lies on a line of known slope? If so, you can eliminate par(11:16) from the problem using the equation
par(11:16)=par(10)+slope*(1:6)
Using the above equation, everything can be written in terms of par(1:10) only.
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Least Squares dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!