【发布时间】:2018-10-30 12:33:43
【问题描述】:
我正在尝试自动创建一个函数句柄,它是函数句柄的总和。当我尝试手动执行此操作时,它起作用了:
f1 = @(x) x(1);
f2 = @(x) x(2);
f3 = @(x) x(3);
f = @(x) f1(x)+f2(x)+f3(x);
但是当我尝试自动执行此操作时(使用 for 循环):
aux = {f1,f2,f3};
f = @(x) 0;
for i=1:3
f = @(x) f(x) + cell2mat(aux(i));
end
我收到以下错误:
“function_handle”类型的输入参数的未定义运算符“+”。
我的目标是将此函数句柄与fmincon 函数一起使用。
因此,另一种解决方案也会有所帮助。
【问题讨论】:
-
f(x) + aux{i}(x)在循环内工作吗? -
是的,它奏效了。谢谢
标签: matlab math sum function-handle