How to take an average over one month during different years ?

3 vues (au cours des 30 derniers jours)
Ali Saremi
Ali Saremi le 1 Sep 2017
Commenté : Kelly Kearney le 6 Sep 2017
Hi,
I've got some data from 1979 to 2017. I want to take an average over data of month, for example, January from 1979 to 2017. Only January, not other months. PLease see attached. I have also attached my Matlab file which contains the table with date and data. If you could take a look and let me know how I can do it, I would appreciate it. Thank you.
Regards Ali

Réponse acceptée

Kelly Kearney
Kelly Kearney le 1 Sep 2017
A bit hard to tell from your screenshot whether your time array is an array of datetimes or an array of date strings. Assuming it's the former
% Some fake data
t = datetime(1979,1,1):datetime('today');
x = rand(size(t));
% Average data by month
for im = 1:12
xavg(im) = mean(x(month(t)==im));
end
  3 commentaires
Ali Saremi
Ali Saremi le 2 Sep 2017
Dear kelly,
I have also attached my MATLAB file. If you could take a look at this, would be great. Thank you.
Kind Regards Ali
Kelly Kearney
Kelly Kearney le 6 Sep 2017
I don't see any attached mat file. If you post the exact code you attempted, and any error messages, that will be much more useful than screenshots to diagnose the problem.
In particular, is the Time column in your table composed of datetimes or date strings?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Images 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!

Translated by