seasonal average over years

3 visualizzazioni (ultimi 30 giorni)
Agnete
Agnete il 15 Dic 2013
Risposto: Image Analyst il 15 Dic 2013
I have monthly averages of daily data for 7 years (84x1). I would like to make an May-October average for the whole period (7x1). I have tried different approaches but I am just getting more confused.
Thank you!

Risposta accettata

Image Analyst
Image Analyst il 15 Dic 2013
Try this demo:
% Make sample data
temps = randi(100, 84, 1)
% Reshape to a month by year array.
tempsByMonth = reshape(temps, 12,7)
% Extract the May - October months.
mayThroughOct = tempsByMonth(5:10,:)
% Get the means over all those extracted months.
meanMayOct = mean(mayThroughOct(:))
Of course it could be make into a more cryptic, obtuse one liner if you wanted, but I went for understandability.
If you have the Image Processing Toolbox, you have mean2() so it can be shortened to
tempsByMonth = reshape(temps, 12,7) % Reshape to a month by year array.
meanMayOct = mean2(tempsByMonth(5:10,:)) % Get the means over extracted months.
and still be fairly readable.

Più risposte (0)

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by