スクリプトobjective
を記述して評価するMatlabで呼び出される関数が あります。[f, df] = objective(x, {@fun1, @fun2, ..., @funN})
関数fun1, fun2, ..., funN
の形式は[f, df] = funN(x)
.
内部objective
では、 と呼ばれるセル配列の各入力に対してfun
、Matlab 組み込み関数を使用して、指定された関数を次のように評価しますfeval
。
function [f, df] = objective(x, fun)
f = 0;
df = 0;
for i = 1:length(fun)
fhandle = fun(i);
[fi, dfi] = feval(fhandle, x);
f = f + fi;
df = df + dfi;
end
end
を評価すると、次のエラーが表示されますobjective
。
Error using feval
Argument must contain a string or function_handle.
このエラーを回避する方法がわかりません。