Warning when runing fsolve

When I run fsolve, there's a warning:
Warning: Trust-region-dogleg algorithm of FSOLVE cannot handle non-square systems; using Levenberg-Marquardt algorithm instead.
> In fsolve at 303
Solver stopped prematurely.
fsolve stopped because it exceeded the function evaluation limit, options.MaxFunEvals = 1000 (the default value).
How can I fixed that? Thank you!

 採用された回答

Shashank Prasanna
Shashank Prasanna 2013 年 2 月 3 日

0 投票

The Warning is acceptable. If you are running the code I gave you, you already know it is not a SQUARE system.
As with all iterative problems, you will have to play around with Tolerances to achieve the results you want. Relax the MaxFunEvals that Walter mentioned using OPTIMSET:
I really really advise you read this since you are new to optimization in MATLAB:

3 件のコメント

Fan
Fan 2013 年 2 月 4 日
Thank you very much for your suggestion and sorry for the late reply.
But could you tell me how can I change the algorithm to Levenberg-Marquardt algorithm if I want to see the difference between them?
Shashank Prasanna
Shashank Prasanna 2013 年 2 月 4 日
options=optimset('Algorithm','Levenberg-Marquardt');
please see the documentation on optimset
Fan
Fan 2013 年 2 月 5 日
Thank you very much!

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

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2013 年 2 月 3 日

0 投票

Pass in an options structure that indicates the algorithm and MaxFunEvals that you want to use.

1 件のコメント

Fan
Fan 2013 年 2 月 4 日
Thank you very much for your suggestion and sorry for the late reply.
But could you tell me how can I change the algorithm to Levenberg-Marquardt algorithm if I want to see the difference between them?

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

カテゴリ

Community Treasure Hunt

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

Start Hunting!

Translated by