How to use vectorization to sum every five elements in 100x1 vector?

12 visualizzazioni (ultimi 30 giorni)
I have tried this code..
c = (1:100)'; % Dummy data
for n = 1:20 % This one works
m(n) = 1 + (n - 1)*5;
p(n) = 5 + (n - 1)*5;
csum(n,:) = sum(c((m(n):p(n)),:));
end
nn = 1:20; % The vectorization code adds only the first five elements.
mm(nn) = 1 + (nn-1)*5;
pp(nn) = 5 + (nn-1)*5;
ccsum(nn,:) = sum(c((m(nn):p(nn)),:));
The result that I want is the one like csum but for vectorization's result, ccsum is only at the sum of the first five elements in c. Please help..

Risposta accettata

Walter Roberson
Walter Roberson il 26 Giu 2020
csum = sum( reshape(c, 5, []) ).' ;

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by