cumulative sum of an array
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Lanceric Tse
am 13 Aug. 2018
Kommentiert: James Tursa
am 13 Aug. 2018
Hi, so I have an array,b, I need to find the cumulative sums for every 5 values.
To calculate the cumulative sum S of an array a with 5 values
b=[1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0];
a=[1 2 3 4 5];
amean=mean2(a);
S=zeros([1 length(a)]);
S(1)=a(1)-amean
for i=2:5
S(i)=S(i-1)+(a(i)-amean)
end
S=-2 -3 -3 -2 0
The result for b should look like S = -2 -3 -3 -2 0 0 1 3 6 0 -2 -3 -3 -2 0 0 1 3 6 0
2 Kommentare
James Tursa
am 13 Aug. 2018
What is your question? For the given b, what would be your desired output?
Akzeptierte Antwort
Matt J
am 13 Aug. 2018
Bearbeitet: Matt J
am 13 Aug. 2018
br=reshape(b,5,[]);
S=reshape( cumsum(br-mean(br)) ,1,[])
1 Kommentar
James Tursa
am 13 Aug. 2018
And, for older versions of MATLAB
S = reshape( cumsum(bsxfun(@minus,br,mean(br))) ,1,[])
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!