MATLAB: problème avec la tolérance fsolve

J’utilise fsolve pour résoudre un système d’équations surdéterminé en utilisant l’algorithme levenberg marquardt.
Cela fonctionne très bien, bien que le message « Equation résolue, fsolve bloqué. » C’est bien pour 90% de mes cas.
Cependant, pour des systèmes d’équations particuliers, ma valeur de fonction qui est retournée (fval) après avoir dit que l’équation est résolue (avec fsolve calé) est
0.009486931983140
-0.035516210533842
-0.019252250306780
ce qui est inacceptable pour mon besoin.
Étant donné que la tolérance de fonction par défaut est 1e-6, pourquoi accepte-t-il cela comme solution?

Meilleure réponse

  • Il s’avère que la tolérance de fonction est comparée à la norme (fval) ^ 2 et la tolérance par défaut était 1e-3. Il suffit de le changer en 1e-10 (selon mes besoins) et son bon fonctionnement.