problem with fminunc: why the returned gradient is not a vector
이전 댓글 표시
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!
답변 (1개)
Mischa Kim
2014년 3월 4일
편집: Mischa Kim
2014년 3월 4일
Chuoxin, have you set
options = optimset('GradObj','on') % gradient outputted as 2nd argument
[x,fval,exitflag,output,grad] = fminunc(...) % gradient is 5th argument
댓글 수: 1
Matt J
2014년 3월 4일
The gradient should always be returned in the 5th output argument, even when GradObj option is used.
카테고리
도움말 센터 및 File Exchange에서 Mathematics and Optimization에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!