Do dlgradient and dlfeval have to be used together?

3 次查看(过去 30 天)
Do dlgradient and dlfeval have to be used together?
function [y,dydx] = rosenbrock(x)
y = 100*(x(2) - x(1).^2).^2 + (1 - x(1)).^2;
dydx = dlgradient(y,x);
end
[y,dydx] = rosenbrock([1,2]),
get error??? Value to differentiate must be a traced dlarray scalar.
Can't it be as convenient as pytorch?”a traced dlarray scalar.“ not clear!!!

回答(2 个)

KALYAN ACHARJYA
KALYAN ACHARJYA 2020-1-6
编辑:KALYAN ACHARJYA 2020-1-6
x=[1,2];
[y,dydx]=rosenbrock(x);
  1 个评论
cui,xingxing
cui,xingxing 2020-1-7
Undefined function 'dlgradient' for input arguments of type 'double'.
should type "dlarray"

请先登录,再进行评论。


cui,xingxing
cui,xingxing 2020-1-7
编辑:cui,xingxing 2020-1-7
but i input like this in command window , is OK ,why???
[fval,gradval] = dlfeval(@rosenbrock,dlarray([1,2]))
fval =
1×1 dlarray
100
gradval =
1×2 dlarray
-400 200

标签

产品


版本

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by