how to average specific rows of all columns?
    2 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    laxminarayana pasupuleti
 le 10 Juin 2017
  
    
    
    
    
    Réponse apportée : J Yadav
 le 16 Jan 2019
            i am having 100x32 matrix in my data set. i would like to average 20 rows of all columns, like first 20rows average, next 20 and so..on...
can any one help in this problem.
2 commentaires
Réponse acceptée
  the cyclist
      
      
 le 10 Juin 2017
        
      Modifié(e) : the cyclist
      
      
 le 10 Juin 2017
  
      % Some made-up data
A = rand(100,32);
N = 20;
movingAverageA = movmean(A,[(N-1) 0]); % Trailing average of N rows
output = movingAverageA(N:N:end,:);
3 commentaires
Plus de réponses (2)
  J Yadav
 le 16 Jan 2019
        to take a moving average of 1 to 20 rows, then 21-40 rows, then 41-60 rows etc. 
of a data matrix with n rows and m columns. 
you may also try:
for i=1:(n/20) % given that n is a multpile of 20 or your choice of no. of rows to average.
    a=(i-1)*20+1;
    b=(i-1)*20+20;
    meandata(i,:) = mean(data(a:b,:),1);
end
0 commentaires
  Image Analyst
      
      
 le 10 Juin 2017
        
      Modifié(e) : Image Analyst
      
      
 le 12 Juin 2017
  
      The first index are the rows. For example to average only the first 20 rows
columnMeans = mean(data([1:20], :), 1);
Or to average rows 34, 23, and 194, do
rowsToAverage = [34, 23, 194];
columnMeans = mean(data(rowsToAverage, :), 1);
2 commentaires
  Image Analyst
      
      
 le 12 Juin 2017
				This seems to work:
data = randi(9, 100, 32) % Sample 100x32 data
columnMeans = [
  mean(data([1:20], :), 1);
  mean(data([21:40], :), 1);
  mean(data([41:60], :), 1);
  mean(data([61:80], :), 1);
  mean(data([81:100], :), 1)]
Is that what you want?
Voir également
Catégories
				En savoir plus sur Geometry and Mesh 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!



