Matlab 函数句柄单元格的累积和

Matlab 函数句柄单元格的累积和,matlab,function-handle,Matlab,Function Handle,我有一个函数句柄单元: f{1}=@(x)a1(x); f{2}=@(x)a2(x); ... f{N}=@(x)aN(x); N在这里是一个很大的数字。对所有这些函数句柄执行累积求和最方便的方法是什么?e、 g.我想有一个新函数g{}的单元格,其中: g{1}=f{1}; g{2}=f{1}+f{2}; ... g{N}=f{1}+...+f{N}. 谢谢。如果您可以使用单个函数g返回标量x的累积和: g = @(x) cumsum(cellfun(@(y) y(x), f)) 例如:

我有一个函数句柄单元:

f{1}=@(x)a1(x);
f{2}=@(x)a2(x);
...
f{N}=@(x)aN(x);
N在这里是一个很大的数字。对所有这些函数句柄执行累积求和最方便的方法是什么?e、 g.我想有一个新函数g{}的单元格,其中:

g{1}=f{1};
g{2}=f{1}+f{2};
...
g{N}=f{1}+...+f{N}.
谢谢。

如果您可以使用单个函数
g
返回标量
x
的累积和:

g = @(x) cumsum(cellfun(@(y) y(x), f))
例如:

f{1} = @(x) x;
f{2} = @(x) x^2;
f{3} = @(x) x^3;
g = @(x) cumsum(cellfun(@(y) y(x), f))
g(3)
ans =
     3    12    39

说明:
cellfun
获取每个组件函数
f{1}
f{2}
等,并返回在
x
处计算该函数的结果。每个函数的结果都应该是标量。然后计算所有这些值的累积和。

它没有给我正确的答案。你能详细说明一下吗?谢谢。我找到了一个麻烦的解决方法:g=@(x)cellfun(@(f)f(x),f);gg=@(x)cumsum(g(x))。现在gg(x)给了我想要的。但是有没有更聪明的方法呢?@Void对不起,有个错误。现在请看