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.

Réponses (1)

Mischa Kim
Mischa Kim le 16 Mar 2014
Modifié(e) : Mischa Kim le 16 Mar 2014

0 votes

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.

Catégories

En savoir plus sur Language Fundamentals dans Centre d'aide et File Exchange

Tags

Question posée :

Ana
le 16 Mar 2014

Modifié(e) :

le 16 Mar 2014

Community Treasure Hunt

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

Start Hunting!

Translated by