MATLAB: VectorB(n) = sum(vectorA(1:n)) without a loop

loopMATLABsumvector

I would like to do:
vectorB(n) = sum(vectorA(1:n))
without a loop.
Thanks in advance

Best Answer

Perhaps you just want cumsum()
help cumsum
doc cumsum
Or you just need:
v= accumarray(n(:),n(:),[],@(x) sum(vectorA(1:x)));
Wanted = v(n);
% or
Wanted = arrayfun(@(x) sum(vectorA(1:x)),n)