MATLAB: Inequality Constraints on Parameter Estimates using lsqnonlin

lsqnonlin

Hi, I am using lsqnonlin to solve a nonlinear least squares problem. I am aware of the fact that you can specify hard upper and lower bounds on parameters, however, is it possible to specify inequality constraints on fitted parameters. For example, if I am fitting parameters a,b,and c, I would like c<b<a. To be clear, I would only like to use lsqnonlin as this is the best nonlinear least squares solver for my problem.
Thanks!

Best Answer

Instead of b, use c+b'^2 and instead of a, use c+b'^2+a'^2 in your equations and solve for c, b' and a'.
Then c=c, b=c+b'^2 and a=c+b'^2+a'^2 satisfy your constraints.
Best wishes
Torsten.
Related Question