retime Linear or next

3 次查看(过去 30 天)
Greg LANGE
Greg LANGE 2022-12-2
I tried to retime my dataset every 10 minutes and I am tying to have it as minutes with Linear (for temperature).
TT2=retime(table_intermediaire,'minutes', linear');
I does works for me as it displays :
"Check for incorrect argument data type or missing argument in call to
function 'retime'."
What would be the command for => minutes and next for the same datasets ?

回答(2 个)

Star Strider
Star Strider 2022-12-2
编辑:Star Strider 2022-12-7
Try something like this —
Time = datetime('now')+hours(0:2).';
Temperature = 10*randn(size(Time));
T2 = table(Time,Temperature); % Create 'table'
TT2 = table2timetable(T2) % Create 'timetable'
TT2 = 3×1 timetable
Time Temperature ____________________ ___________ 07-Dec-2022 22:16:11 16.281 07-Dec-2022 23:16:11 4.817 08-Dec-2022 00:16:11 14.605
TT2r = retime(TT2,'regular', 'linear', 'TimeStep',minutes(10)) % Use 'retime'
TT2r = 14×1 timetable
Time Temperature ____________________ ___________ 07-Dec-2022 22:10:00 17.465 07-Dec-2022 22:20:00 15.554 07-Dec-2022 22:30:00 13.644 07-Dec-2022 22:40:00 11.733 07-Dec-2022 22:50:00 9.8224 07-Dec-2022 23:00:00 7.9117 07-Dec-2022 23:10:00 6.001 07-Dec-2022 23:20:00 5.4373 07-Dec-2022 23:30:00 7.0686 07-Dec-2022 23:40:00 8.6999 07-Dec-2022 23:50:00 10.331 08-Dec-2022 00:00:00 11.962 08-Dec-2022 00:10:00 13.594 08-Dec-2022 00:20:00 15.225
See the documentation section on Specify Time Step of Your Own for details.
EDIT — (7 Dec 2022 at 22:16)
The ‘datasets.mat’ file posted later and I didn’t see the update.
LD = load(websave('datasets','https://www.mathworks.com/matlabcentral/answers/uploaded_files/1216727/datasets.mat'));
table_intermediaire = LD.table_intermediaire
table_intermediaire = 7×2 table
DATE T_VApt01 ___________________ ________ 30/11/2018 00:00:00 35 30/11/2018 00:10:00 32 30/11/2018 00:20:00 20 30/11/2018 00:30:00 0 30/11/2018 00:40:00 20 30/11/2018 00:50:00 30 30/11/2018 01:00:00 0
timetable_intermediaire = table2timetable(table_intermediaire);
timetable_intermediairer = retime(timetable_intermediaire,'regular', 'linear', 'TimeStep',minutes(1)) % Use 'retime'
timetable_intermediairer = 61×1 timetable
DATE T_VApt01 ___________________ ________ 30/11/2018 00:00:00 35 30/11/2018 00:01:00 34.7 30/11/2018 00:02:00 34.4 30/11/2018 00:03:00 34.1 30/11/2018 00:04:00 33.8 30/11/2018 00:05:00 33.5 30/11/2018 00:06:00 33.2 30/11/2018 00:07:00 32.9 30/11/2018 00:08:00 32.6 30/11/2018 00:09:00 32.3 30/11/2018 00:10:00 32 30/11/2018 00:11:00 30.8 30/11/2018 00:12:00 29.6 30/11/2018 00:13:00 28.4 30/11/2018 00:14:00 27.2 30/11/2018 00:15:00 26
.

Seth Furman
Seth Furman 2022-12-7
I should add that if you wanted the new time step to be one minute, then you would want "minutely" instead of "minutes".
load datasets.mat
tt = table2timetable(table_intermediaire)
tt = 7×1 timetable
DATE T_VApt01 ___________________ ________ 30/11/2018 00:00:00 35 30/11/2018 00:10:00 32 30/11/2018 00:20:00 20 30/11/2018 00:30:00 0 30/11/2018 00:40:00 20 30/11/2018 00:50:00 30 30/11/2018 01:00:00 0
retime(tt,"minutely","linear")
ans = 61×1 timetable
DATE T_VApt01 ___________________ ________ 30/11/2018 00:00:00 35 30/11/2018 00:01:00 34.7 30/11/2018 00:02:00 34.4 30/11/2018 00:03:00 34.1 30/11/2018 00:04:00 33.8 30/11/2018 00:05:00 33.5 30/11/2018 00:06:00 33.2 30/11/2018 00:07:00 32.9 30/11/2018 00:08:00 32.6 30/11/2018 00:09:00 32.3 30/11/2018 00:10:00 32 30/11/2018 00:11:00 30.8 30/11/2018 00:12:00 29.6 30/11/2018 00:13:00 28.4 30/11/2018 00:14:00 27.2 30/11/2018 00:15:00 26

类别

Help CenterFile Exchange 中查找有关 Timetables 的更多信息

标签

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by