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 件のコメント

Torsten
Torsten 2018 年 4 月 20 日
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.
Brian M.
Brian M. 2018 年 4 月 20 日
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