根据函数分配 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);
我基本上想对以下内容进行矢量化:
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);