1

我有一个函数句柄单元:

f{1}=@(x)a1(x);
f{2}=@(x)a2(x);
...
f{N}=@(x)aN(x);

N在这里是一个很大的数。在所有这些函数句柄上执行累积和的最方便的方法是什么?例如,我想要一个新函数 g{} 的单元格:

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

谢谢。

4

1 回答 1

1

如果您可以使用返回标量累积和的单个函数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获取每个组件 functionf{1}f{2},并返回在 处评估该函数的结果x。每个函数的结果应该是标量。然后计算所有这些值的累积和。

于 2014-03-27T21:59:21.260 回答