Cumulative sum at over an specified interval
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Karina Gutierrez
el 24 de Feb. de 2017
Comentada: Beder
el 3 de Mzo. de 2017
Hi, I have an input vector of data that I would like to process to have a cumulative sum that resets and starts every 7 data points. For instance consider I have the following:
A = 1,0,2,2,4,1,0,7,2,3,1,0,0,1
I want to create a cumulative sum for the first 7 points and then start over again for the next set of 7 points, then I have:
B = 1,1,3,5,9,10,10,7,9,12,13,13,13,14
Thanks in advance! Karina
0 comentarios
Respuesta aceptada
Beder
el 24 de Feb. de 2017
B=reshape(A,7,[]);
C=cumsum(B,1);
D=reshape(C,[],1);
Or:
B=reshape(cumsum(reshape(A,7,[]),1,[],1);
Be careful: This only works as long as the length of A is divisible by 7.
2 comentarios
Beder
el 3 de Mzo. de 2017
Try to use "B=reshape(A(1:end-mod(numel(A),7)),7,[]); This will shorten your A to a size divisible by 7.
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!