Average values from timeseries
Afficher commentaires plus anciens
Hiiii. I am very new to matlab. I have a timeseries of data that I would like to average for average values per hour per day per month per year ( 24*365=8760 values in output file). Basically the data is structured as follows:
Date Time Temperature
1/1/2005 1:00 282.19
1/1/2005 2:00 281.5
1/1/2005 3:00 281.04
1/1/2005 4:00 282.58
....
31/12/2014 23:00 294.75
31/12/2014 24:00 294.57
The data I am trying to import as individual vectors/columns or as a timetable. I would like to get a new table/matrix with 8760 new rows each averaging value of each hour of each day of each month by averaging all the 14 years of data. I have tried doing it using index or 'find' approach but it didnt quite work. Any help would be highly appreciated. Thaaanks :D
1 commentaire
Adam Danz
le 19 Fév 2020
Then use TT2 = retime(TT,'hourly','mean') to compute the hourly mean, monthly mean, yearly, etc.
Réponse acceptée
Plus de réponses (1)
Jancoba Dorley
le 28 Fév 2022
0 votes
The best wway to do this is to convert the table to timetable
Example:
x = table2timetable(data); %Note that data is a table containing time xby1 datetime and xby1 double
x_daily=retime(x,'daily','mean'); %this calculates the daily mean from the datetime table
% you can do the saame to get the hourly mean.
Catégories
En savoir plus sur Data Preprocessing dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!