Compute cumulative sum of a column vector without for loop

Illustration
Travis - 2021-03-08T10:31:47+00:00
Question: Compute cumulative sum of a column vector without for loop

For each index of a column vector , I want to compute the sum from index to index+spacing. spacing is an integer.   My aim is not to use for-loop but I didn't manage to find a way to avoid it:   A=(1:10)'; % column vector spacing = 4; % scalar solution = zeros(length(A)-spacing,1); for index=1:length(A)-win % equals 6 in this example solution(index)=sum(A(index:index+spacing)); end solution =     15 20 25 30 35 40  

Expert Answer

Profile picture of Neeta Dsouza Neeta Dsouza answered . 2025-11-20

The filter() command is one way:
 
 
tmp = filter(ones(1,spacing+1),1,A);
solution = tmp(spacing+1:end)


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!