根据函数分配 Matlab 向量

Assigning a Matlab vector according to a function

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

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 解决了上述问题,但我很好奇如何为任何函数执行此操作。

你想要的可以直接用cumsum函数完成:

vect_y = cumsum(vect_x);