Cumulative sum at over an specified interval
    3 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
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 commentaires
Réponse acceptée
  Beder
      
 le 24 Fév 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 commentaires
  Beder
      
 le 3 Mar 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.
Plus de réponses (0)
Voir également
Catégories
				En savoir plus sur Logical dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!