- Reshape the array to separate the years and months.
- Extract the months of interest (June, July, August).
- Compute the mean over these months.
Averaging time series for a season
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello,
I have a 3d time series with month as the last dimension (latxlonxmonth) with 300 years worth of data, I have been using the annual average function for annual time series (latxlonx300)-
A = squeeze(nanmean(reshape(B,[s(1:2),12,s(3)/12]),3));
I now need to do a similar time seires but just for a specific season -June, July, August (latxlonx300).
How would I go about taking a seasonal mean instead of full annual mean? It is probably something simple that my mind is just not getting right now.
Thank you.
0 commentaires
Réponses (1)
Jaynik
le 16 Juil 2024
Hi,
You can follow a similar approach to the one you used for the annual mean. Instead of averaging over all 12 months, you will only average over the months of interest. Following is a general approach:
Here is the MATLAB code:
% Assuming B is your original 3D array (lat x lon x month)
% Reshape the array to separate years and months
B_reshaped = reshape(B, [s(1), s(2), 12, s(3)/12]);
% Extract the months of interest (June, July, August) i.e., 6:8
JJA_months = B_reshaped(:,:,6:8,:);
% Compute the mean over the months of interest
JJA_mean = squeeze(nanmean(JJA_months, 3));
Hope this helps!
0 commentaires
Voir également
Catégories
En savoir plus sur Multidimensional Arrays 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!