How to suppress warnings from fsolve method?
Afficher commentaires plus anciens
Hello,
how to suppress these kind of warnings for the fsolve method? It is orange by the way.
Warning: Trust-region-dogleg algorithm of FSOLVE cannot handle non-square systems; using Levenberg-Marquardt algorithm instead.
> In fsolve (line 298)
In function1 (line 24)
In mainScript (line 265)
Thank you!
Réponses (2)
The message means, that the default choise of the Trust-region-dogleg method is not suffcient.
The best way to suppress a warning is to fix the reason. If you know in advance, that you need a Levenberg-Marquardt algorithm, enable it explicitely instead of letting fsolve examine the problem by its own. See https://www.mathworks.com/help/optim/ug/fsolve.html#inputarg_options .
5 commentaires
Manuela Gräfe
le 9 Mai 2017
Torsten
le 9 Mai 2017
As Jan suggests, enable the algorithm explicitly:
options = optimoptions('fsolve','Algorithm','levenberg-marquardt');
x = fsolve(fun,x0,options)
Best wishes
Torsten.
Manuela Gräfe
le 9 Mai 2017
Walter Roberson
le 9 Mai 2017
What benefit is being derived from not passing in the Algorithm option?
Jan
le 10 Mai 2017
@Manuela: It is possible to suppress warning messages, see doc warning . But it is a bad idea to ignore warnings. Even if you now know, what you are doing, your program might change in the future. Your data might be delivered as square matrix by accident and then a completely different solver is used. This might have unexpected consequences.
Alan Weiss
le 9 Mai 2017
0 votes
Alan Weiss
MATLAB mathematical toolbox documentation
1 commentaire
Walter Roberson
le 9 Mai 2017
In particular, the ID is optim:fsolve:NonSquareSystem
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!