fminunc
Minimisation non linéaire sans contrainte.
📝Syntaxe
x = fminunc(fun, x0)
x = fminunc(fun, x0, options)
x = fminunc(problem)
[x, fval, exitflag, output, grad, hessian] = fminunc(___)
📥Arguments d'entrée
Paramètre Description
fun Fonction objectif retournant un scalaire réel. Lorsque les options de gradient sont activées, elle peut aussi retourner le gradient et le Hessien.
x0 Point initial scalaire, vectoriel ou matriciel.
options Options créées avec optimoptions ou optimset.
problem Structure contenant les champs objective, x0, solver et options.
📤Arguments de sortie
Paramètre Description
x Minimiseur calculé.
fval Valeur de l'objectif en x.
exitflag Indicateur de terminaison.
output Structure de diagnostics avec iterations, funcCount, stepsize, algorithm, firstorderopt et message.
grad Gradient en x.
hessian Hessien approché ou fourni par l'utilisateur en x.
đź“„Description

fminunc minimise une fonction objectif scalaire non linéaire sans contrainte.

L'algorithme par défaut quasi-newton utilise BFGS, DFP, la plus forte pente ou BFGS à mémoire limitée selon les options HessianApproximation et HessUpdate. L'algorithme trust-region utilise les gradients utilisateur, les Hessiennes objectif optionnelles, les fonctions de produit Hessien-vecteur et le gradient conjugué tronqué.

Les modes d'affichage acceptés sont off, none, final, final-detailed, notify, notify-detailed, iter et iter-detailed.

đź’ˇExemples
Minimiser un polynĂ´me quadratique.
fun = @(x) 3*x(1)^2 + 2*x(1)*x(2) + x(2)^2 - 4*x(1) + 5*x(2);
[x, fval] = fminunc(fun, [1, 1])
Utiliser un gradient avec l'algorithme trust-region.
function [f, g] = rosenwithgrad(x)
  f = 100*(x(2) - x(1)^2)^2 + (1 - x(1))^2;
  g = [-400*(x(2)-x(1)^2)*x(1) - 2*(1-x(1)); 200*(x(2)-x(1)^2)];
end
opts = optimoptions('fminunc', 'Algorithm', 'trust-region', 'SpecifyObjectiveGradient', true);
x = fminunc(@rosenwithgrad, [-1; 2], opts)
đź”—Voir aussi
fminconoptimoptionsfminsearch
Used Functions
optimoptions optimset
📚Bibliographie
Broyden, C. G., The convergence of a class of double-rank minimization algorithms, IMA Journal of Applied Mathematics, 1970. Fletcher, R., Practical Methods of Optimization, Wiley, 1987. Liu, D. C. et Nocedal, J., On the limited memory BFGS method for large scale optimization, Mathematical Programming, 1989. Nocedal, J. et Wright, S. J., Numerical Optimization, Springer, 2006.
đź•”Historique des versions
Version Description
2.0.0 version initiale
Modifier cette page sur GitHub