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!

 Accepted Answer

Shashank Prasanna
Shashank Prasanna on 3 Feb 2013

0 votes

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

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?
options=optimset('Algorithm','Levenberg-Marquardt');
please see the documentation on optimset
Thank you very much!

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 3 Feb 2013

0 votes

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

1 Comment

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!