fsolve
Résoudre un système d'équations non linéaires.
📝Syntaxe
x = fsolve(fun, x0)
[x, fval, exitflag, output, jacobian] = fsolve(fun, x0, options)
x = fsolve(problem)
📥Arguments d'entrée
Paramètre Description
fun fonction retournant les résidus des équations.
x0 point initial.
options options du solveur.
📤Arguments de sortie
Paramètre Description
x racine estimée, avec la forme de x0.
fval résidu en x, avec la forme retournée par fun.
exitflag raison de l'arrêt : 1 (valeurs de fonction proches de zéro), 2 (pas inférieur à StepTolerance), 3 (variation du résidu inférieure à FunctionTolerance), 4 (direction de recherche inférieure à StepTolerance), 0 (limite d'itérations ou d'évaluations), -1 (arrêt par la fonction de sortie), -2 (convergence vers un point qui n'est pas une racine), -3 (effondrement de la région de confiance ou de la régularisation).
output structure avec les champs iterations, funcCount, algorithm, firstorderopt et message.
jacobian approximation finale de la jacobienne.
📄Description

fsolve résout des systèmes d'équations non linéaires F(x) = 0.

L'option Algorithm sélectionne le moteur : 'trust-region-dogleg' (défaut, systèmes carrés), 'trust-region' ou 'levenberg-marquardt'. Les systèmes non carrés basculent automatiquement sur Levenberg-Marquardt avec un avertissement.

Le défaut de MaxFunctionEvaluations est 100*numberOfVariables, MaxIterations vaut 400 et FunctionTolerance et StepTolerance valent 1e-6. L'option Display accepte 'off', 'none', 'final', 'final-detailed', 'notify', 'notify-detailed', 'iter' et 'iter-detailed'.

Si Jacobian vaut 'on' ou si SpecifyObjectiveGradient vaut true, fun doit aussi retourner la jacobienne des résidus.

💡Exemples
fun = @(x) [x(1) - 3; x(2) + 4];
[x, fval] = fsolve(fun, [0; 0])
🔗Voir aussi
fzerolsqnonlin
Used Functions
optimoptions lsqnonlin
📚Bibliographie
M. J. D. Powell, "A hybrid method for nonlinear equations", Numerical Methods for Nonlinear Algebraic Equations, 1970. J. Nocedal and S. J. Wright, Numerical Optimization, Springer, 2006.
🕔Historique des versions
Version Description
2.0.0 version initiale
Modifier cette page sur GitHub