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

8 次查看(过去 30 天)
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

回答(1 个)

Eric Sofen
Eric Sofen 2020-6-9
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.

类别

Help CenterFile Exchange 中查找有关 Dates and Time 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by