Inequality Constraints on Parameter Estimates using 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!

 채택된 답변

Torsten
Torsten 2018년 4월 20일

0 개 추천

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

The solution parameters for lsqnonlin are c, b' and a'. If your ODE model works with the parameters a, b and c, you have to feed it with c, c+b'^2 and c+b'^2+a'^2.
Best wishes
Torsten.
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 2018년 4월 23일
편집: Torsten 2018년 4월 23일
No, it's just an attempt to make lsqnonlin work for your constraints on the parameters.
Best wishes
Torsten.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

태그

질문:

2018년 4월 19일

편집:

2018년 4월 23일

Community Treasure Hunt

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

Start Hunting!

Translated by