Calculate a monthly average from 3-hour data

2 views (last 30 days)
Hello everyone!
I'm having a little trouble trying to make a code to calculate the average or the mean for a set of data 90585x1.
This set have information every 3 hours from temperature from 1950 to 2010, I want to make those values a monthly average and after i've got my data set reduced plot.
I was looking to apply a for-lopp or an accumarray don't know how to make this, if anyone could help me, I will be so grateful

Answers (1)

David Hill
David Hill on 4 Jun 2020
If you want to simplify slightly, 8 readings * 30 days/month = 240 readings per month ... = 377 months = 90480 readings. Truncate the rest of the readings.
T=T(1:90480);
T=reshape(T,240,[]);
m=mean(T);
  3 Comments
David Hill
David Hill on 4 Jun 2020
My assumption was that you could just live with every month having 30 days. I am not sure if you can live with that; if not, you code will be more complex.
Oscar Sierra
Oscar Sierra on 4 Jun 2020
I will try with 30 days per month! Thank you so much David!

Sign in to comment.

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!