How to pass a linear dependence between some parameters into MATLAB non linear solver?

1 view (last 30 days)
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.

Accepted Answer

Matt J
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.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!