Cumulative sum at over an specified interval
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Karina Gutierrez
am 24 Feb. 2017
Kommentiert: Beder
am 3 Mär. 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 Kommentare
Akzeptierte Antwort
Beder
am 24 Feb. 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 Kommentare
Beder
am 3 Mär. 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.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!