problem with fminunc: why the returned gradient is not a vector
Afficher commentaires plus anciens
Hi, I am using the fminunc to find a minimum of a multivariable function f(x), where x is a vector. I want to know the value of the gradient at the solution x. So I type "[x,grad] = fminunc(fun,x0)" to get the gradient. However, the returned gradient is a scalar instead of a vector. I think the gradient should be a vector since my x is a vector. Could somebody explain it for me? Thanks!
Réponses (1)
Mischa Kim
le 4 Mar 2014
Modifié(e) : Mischa Kim
le 4 Mar 2014
Chuoxin, have you set
options = optimset('GradObj','on') % gradient outputted as 2nd argument
[x,fval,exitflag,output,grad] = fminunc(...) % gradient is 5th argument
1 commentaire
Matt J
le 4 Mar 2014
The gradient should always be returned in the 5th output argument, even when GradObj option is used.
Catégories
En savoir plus sur Mathematics and Optimization 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!