NONLCON must be a function using lsqnonlin

9 ビュー (過去 30 日間)
James99
James99 2023 年 8 月 27 日
コメント済み: James99 2023 年 8 月 28 日
Hello everyone!
I am trying to estimate parameters using lsqnonlin and I get the following error:
Error using cnls
NONLCON must be a function
Error in lsqnonlin (line 220)
[xCurrent,Resnorm,FVAL,EXITFLAG,OUTPUT,LAMBDA,JACOB] = cnls(caller, FUN,xCurrent,A,B,Aeq,Beq,LB,UB,NONLCON, ...
I have no nonlinear constraints and therefore I left NONLCON as empty square brackets. I don't understand where I am going wrong.
The error occurs on line 70.

採用された回答

Matt J
Matt J 2023 年 8 月 27 日
編集済み: Matt J 2023 年 8 月 27 日
No, you have set the nonlcon argument to Cexp which is a numeric vector. You should review the documentation for the correct ordering if the arguments.
  6 件のコメント
Matt J
Matt J 2023 年 8 月 28 日
If the optimization time is long, it doesn't necessarily mean you have slow convergence. If one execution of resfun takes a long time, that will also make the optimization time longer.
James99
James99 2023 年 8 月 28 日
Right, but the warnings about not reaching the solution without reducing the time step below a permitted value a part of the process? I noticed that MATLAB continues with the calculation despite of these warnings. I suppose it does that particular iteration with smallest permitted time step value.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSolver 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