Monthly average from daily data

Hello,
I have one column with daily data, defined as double. How can I get into another column an average for every 30 days of daily data, to then get monthly averages? So for every 30 values of daily data, I would get one monthly average. I have 114502 daily observations. i don't care if the 30 days aren't exactly from each month, I just want 30-day averages.
I'm new to matlab, any help would be appreciated. thank you.

Answers (1)

Mischa Kim
Mischa Kim on 16 Mar 2014
Edited: Mischa Kim on 16 Mar 2014
Filipa, use something like
data = [data; zeros(1,30*round(numel(data)/30)-numel(data))]
avdata = mean(reshape(data,numel(data)/30,[]))
The first command adds zeros at the end of the data vector to allow for reshaping the vector into a 30-by-N array. This way you can easily take averages of all N columns.

Categories

Find more on Language Fundamentals in Help Center and File Exchange

Tags

Asked:

Ana
on 16 Mar 2014

Edited:

on 16 Mar 2014

Community Treasure Hunt

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

Start Hunting!