How do you get a global average at each time step so they can be summed?
    4 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Nesha Wright
 le 23 Juin 2018
  
    
    
    
    
    Réponse apportée : Ameer Hamza
      
      
 le 25 Juin 2018
            I have a 4D array of emissions. I want the average emissions at each time step so that I can then sum all of these averages and determine the total emissions by a certain year (in this case the entire file).
I think that I need to use a loop but am not sure how. I am currently using this: mean_time=sum(squeeze(mean(mean(mean(total,1),2),3))); as time is the 4th dimension.
2 commentaires
  Ameer Hamza
      
      
 le 23 Juin 2018
				What do you think is wrong with this, it is better to use vectorized code instead of using for loop. Also the above is equivalent to
mean_time = sum(mean(mean(mean(total))));
Réponse acceptée
  Ameer Hamza
      
      
 le 25 Juin 2018
        If you want to average at each time step as by omitting the sum() function. For example
averageTimeSteps = mean(mean(mean(total)));
if total is a 4D matrix, the above command will produce a 1D vector. You can access element just as a regular vector e.g. averageTimeSteps(1), averageTimeSteps(2), ... etc. However, the result is still a 4D matrix so display might be a bit confusing. To simplify the display, try
averageTimeSteps = squeeze(mean(mean(mean(total))));
0 commentaires
Plus de réponses (0)
Voir également
Catégories
				En savoir plus sur Loops and Conditional Statements 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!

