Effacer les filtres
Effacer les filtres

Monthly average from daily data

1 vue (au cours des 30 derniers jours)
Ana
Ana le 16 Mar 2014
Modifié(e) : Mischa Kim le 16 Mar 2014
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
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 Creating and Concatenating Matrices dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by