problem with fminunc: why the returned gradient is not a vector
Ältere Kommentare anzeigen
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!
Antworten (1)
Mischa Kim
am 4 Mär. 2014
Bearbeitet: Mischa Kim
am 4 Mär. 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 Kommentar
Matt J
am 4 Mär. 2014
The gradient should always be returned in the 5th output argument, even when GradObj option is used.
Kategorien
Mehr zu Mathematics and Optimization finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!