Inequality Constraints on Parameter Estimates using lsqnonlin

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

Accepted Answer

Torsten
Torsten on 20 Apr 2018
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.
  3 Comments
Brian M.
Brian M. on 20 Apr 2018
Okay, thanks Torsten. I will try this out and let you know how it works. Is there a particular explanation to why this transformation of parameters works with lsqnonlin?
Best, Brian
Torsten
Torsten on 23 Apr 2018
Edited: Torsten on 23 Apr 2018
No, it's just an attempt to make lsqnonlin work for your constraints on the parameters.
Best wishes
Torsten.

Sign in to comment.

More Answers (0)

Categories

Find more on Quadratic Programming and Cone Programming in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!