我试图在Matlab中计算函数句柄的渐变,供以后使用。
e.G:
fun = @(x) x(1)^2+ 2*x(2)
grad_fun = @(x) gradient(fun(x))
如果我用以下方法检查:grad_fun([1;1])
我收到0。
对于所有值,我得到的只是零。
有人能帮助我吗?
提前致谢!
答案 0 :(得分:0)
fun
内联函数返回标量值。换句话说,您试图获得常量的渐变。
gradient
函数的单个参数必须是矩阵或行向量。有关详细信息,请参阅MathWorks Documentation。