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

2 次查看(过去 30 天)
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.

采纳的回答

Matt J
Matt J 2014-3-10
编辑:Matt J 2014-3-10
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 个)

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by