# How to calculate average of data over a given time period?

15 views (last 30 days)
benjamin giroud on 26 May 2020
Answered: Eric Sofen on 9 Jun 2020
I have a large data file that contains thousands of records for each hour. The first six columns are date and time and the others are measured data. I need to make an average on an hourly basis (one hour, one row). I've tried datenum but it consumes a lot of time and process. Is there any faster solution instead of mine? without datenum??
This is my solution:
Average_data=[ ];
for i3=Start_time:0.041666666627862:Stop_time %one hour step%
Average_data=[Average_data; i3 mean(Raw_data((datenum(datetime(Raw_data(:,1:6)))<i3&...
datenum(datetime(Raw_data(:,1:6)))>i3-0.041666666627862&~isnan(Raw_data(:,6+input_column))),7:end))];
end
Benjamin

#### 1 Comment

Star Strider on 26 May 2020
Explor the many capabilities of the retime function.

Eric Sofen on 9 Jun 2020
It would be helpful to see what your data looks like (are different time components) split into different table variables?) But as Star Strider recommended, consider using timetable and retime.