Would be possible to calculate half hour average by using retime?

Hello,
The current time steps allowed in retime https://www.mathworks.com/help/matlab/ref/retime.html are:
'yearly' One year
'quarterly' One quarter
'monthly' One month
'weekly' One week
'daily' One day
'hourly' One hour
'minutely' One minute
'secondly' One second
But would be possible to calculate half hour average? or other specific time step average (like 5, 10, 15 minutes...) beside the standard here mentioned?
Thanks.

 Accepted Answer

Yes, there is an example a little bit down the in the documentation for RETIME , under this heading:
Interpolate Timetable Data to Arbitrary Times
I've copied the relevant sample code here:
%%Make sample data
Time = datetime({'2015-12-18 07:29:53';'2015-12-18 08:00:00';...
'2015-12-18 08:31:02';'2015-12-18 09:30:00'});
Temp = [37.3;41.9;45.7;39.8];
Pressure = [30.1;29.9;30.03;29.8];
TT1 = timetable(Time,Temp,Pressure)
%%Retime to 30 minute intervals
newTimes = [datetime('2015-12-18 07:30:00'):minutes(30):datetime('2015-12-18 09:30:00')];
TT2 = retime(TT1,newTimes,'linear')

4 Comments

This example concerns interpolation, but aggregation works as well (for example, change 'linear' to 'mean').
Teja is correct. Just to expand a bit, those strings like 'yearly', 'quarterly', etc. are just conveniences for common uses. You can synchronize to any time vector you want as long as it's increasing. Doesn't even have to be regular.
Thank you, very appreciated Teja and Peter!
Update: In R2018a, there's a new syntax that makes this a bit easier:
tt = retime(tt,'regular',method,'TimeStep',minutes(30))

Sign in to comment.

More Answers (1)

From Matlab: Adjust Timetable Data to Regular Times Calculate the means over six-hour time intervals. Specify a regular time step using the 'regular' input argument and the 'TimeStep' name-value pair argument.
TT = retime(outdoors,'regular','mean','TimeStep',hours(6)); TT(1:5,:) ans=5×3 timetable Time Humidity TemperatureF PressureHg _________________ ______ __________ ________
2015-11-15 00:00:00 48.9 51.45 29.61
2015-11-15 06:00:00 48.9 51.45 29.6
2015-11-15 12:00:00 49.025 51.45 29.61
2015-11-15 18:00:00 48.9 51.225 29.607
2015-11-16 00:00:00 48.5 51.4 29.61

Categories

Asked:

on 15 Aug 2017

Commented:

on 20 Nov 2019

Community Treasure Hunt

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

Start Hunting!