seasonal average over years

5 次查看(过去 30 天)
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!

采纳的回答

Image Analyst
Image Analyst 2013-12-15
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.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by