MATLAB Answers

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

69 views (last 30 days)
Robert
Robert on 15 Aug 2017
Commented: sm fattah on 20 Nov 2019
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.

  0 Comments

Sign in to comment.

Accepted Answer

Teja Muppirala
Teja Muppirala on 15 Aug 2017
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

Show 1 older comment
Peter Perkins
Peter Perkins on 15 Aug 2017
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.
Peter Perkins
Peter Perkins on 5 Jul 2018
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)

Ohad Zivan
Ohad Zivan on 5 Jul 2018
Edited: dpb on 30 May 2019
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

Community Treasure Hunt

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

Start Hunting!

Translated by