我有一个 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.
我不明白如何解决这个错误。