Find monthly mean from daily data of same year using find function

1 visualizzazione (ultimi 30 giorni)
Hi I have a spreadsheet contains 1 year data and I want to find monthly mean column1 contains dd-mmm-yyyy And column2 contains data

Risposta accettata

KSSV
KSSV il 10 Lug 2019
REad about datevec. This will give you years, months and days. Using the months and your data you can find mean. Let thedates be your dates and A be your data.
[y,m,d] = datevec(thedates) ;
iwant = zeros(12,1) ;
for i = 1:12
iwant(i) = mean(A(m==i)) ;
end
  4 Commenti
Guillaume
Guillaume il 10 Lug 2019
Well, I'm sorry to say but you're teaching beginners bad practices. As I said, your code will not work properly if the there is more than one year in the data.
And your code cannot be easily changed to aggregate the data per quarter or per week. Using retime, it's as trivial as specifying 'quarterly' or 'weekly' instead of 'monthly'. And the intent is of course much clearer.
KSSV
KSSV il 10 Lug 2019
As the use said..the data is of one year.....quickly I gave that....

Accedi per commentare.

Più risposte (1)

Guillaume
Guillaume il 10 Lug 2019
The easiest way:
data = readtimetable('C:\somewhere\somefile.xlsx'); %may need some adjustement depending on the actual format of the line
monthlydata = retime(data, 'monthly', 'mean');
Done!

Categorie

Scopri di più su Dates and Time in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by