入力がベクトルで、関数がスカラーを返す特定のポイントで関数の勾配を見つけるために、次のコードを試しています。
以下は、勾配を計算しようとしている関数です。
%fun.m
function [result] = fun(x, y)
result = x^2 + y^2;
これが私がグラデーションと呼ぶ方法です。
f = @(x, y)fun(x, y);
grad = gradient(f, [1 2])
しかし、次のエラーが表示されます
octave:23> gradient(f, [1 2])
error: `y' undefined near line 22 column 22
error: evaluating argument list element number 2
error: called from:
error: at line -1, column -1
error: /usr/share/octave/3.6.2/m/general/gradient.m at line 213, column 11
error: /usr/share/octave/3.6.2/m/general/gradient.m at line 77, column 38
このエラーを解決するにはどうすればよいですか?