x = fsolve(fun, x0)
[x, fval, exitflag, output, jacobian] = fsolve(fun, x0, options)
x = fsolve(problem)
| Paramètre | Description |
|---|---|
| fun | fonction retournant les résidus des équations. |
| x0 | point initial. |
| options | options du solveur. |
| 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. |
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.
fun = @(x) [x(1) - 3; x(2) + 4];
[x, fval] = fsolve(fun, [0; 0])
| Version | Description |
|---|---|
| 2.0.0 | version initiale |