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

4 views (last 30 days)
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
Thanks in advance
Benjamin

Answers (1)

Eric Sofen
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.

Categories

Find more on Dates and Time in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!