スクリプト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.
このエラーを回避する方法がわかりません。