Find monthly mean from daily data of same year using find function
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
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
0 Commenti
Risposta accettata
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
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.
Più risposte (1)
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!
0 Commenti
Vedere anche
Categorie
Scopri di più su Dates and Time in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!