How to pass a linear dependence between some parameters into MATLAB non linear solver?
2 views (last 30 days)
Show older comments
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
How to pass this dependence into the solver? Thank you in advance.
0 Comments
Accepted Answer
Matt J
on 10 Mar 2014
Edited: Matt J
on 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 Comments
More Answers (0)
See Also
Categories
Find more on Least Squares in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!