根据函数分配Matlab向量

时间:2015-02-21 18:02:17

标签: matlab vectorization

我基本上想要对以下内容进行矢量化:

vect_y = zeros(1,numel(vect_x);
for i = 1:numel(vect_x)
    vect_y = sum(vect_x(1:i));
end

这可能吗?作为一个例子,我试图通过以下方式使用arrayfun:

y = arrayfun(@(y) sum(y), vect_x(1:1), vect_x(1:2), ..., vect_x(1:n));

但这不会起作用而且不干净。

编辑: 所以我现在知道cumsum解决了上述问题,但我很好奇我将如何为任何函数执行此操作。

1 个答案:

答案 0 :(得分:0)

您可以直接使用cumsum功能完成您的工作:

vect_y = cumsum(vect_x);