-2
我想要在Matlab中計算函數句柄的漸變,以備後用。函數句柄的漸變
e.G:
fun = @(x) x(1)^2+ 2*x(2)
grad_fun = @(x) gradient(fun(x))
如果我檢查這跟:grad_fun([1;1])
我收到0
對於所有的價值觀,我得到的是零。
有人可以幫我嗎?
在此先感謝!
我想要在Matlab中計算函數句柄的漸變,以備後用。函數句柄的漸變
e.G:
fun = @(x) x(1)^2+ 2*x(2)
grad_fun = @(x) gradient(fun(x))
如果我檢查這跟:grad_fun([1;1])
我收到0
對於所有的價值觀,我得到的是零。
有人可以幫我嗎?
在此先感謝!
內聯函數fun
返回一個標量值。換句話說,你試圖獲得一個常量的漸變。 函數gradient
的單參數必須是矩陣或行向量。有關詳細信息,請參閱MathWorks Documentation。
'grad_fun([1; 10])'的結果是什麼? – Alexander
結果是:ans = 0 – Sheosha
如果你想計算grad_fun([1; 10]),首先這個過程是爲了好玩,因爲fun = @(x)x(1)^ 2 + 2x(2)和x = [ 1; 10]這樣好玩會很有趣([1; 2])= 1^2 + 2 * 2和fun = 5,梯度(5)或樂趣(任何標量數)將爲0(零) –