Warning when runing fsolve

9 views (last 30 days)
Fan
Fan on 3 Feb 2013
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!

Accepted Answer

Shashank Prasanna
Shashank Prasanna on 3 Feb 2013
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 Comments
Shashank Prasanna
Shashank Prasanna on 4 Feb 2013
options=optimset('Algorithm','Levenberg-Marquardt');
please see the documentation on optimset
Fan
Fan on 5 Feb 2013
Thank you very much!

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 3 Feb 2013
Pass in an options structure that indicates the algorithm and MaxFunEvals that you want to use.
  1 Comment
Fan
Fan on 4 Feb 2013
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?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!