Resample datetime to minute resolution

9 views (last 30 days)
Hi community!
Thanks in advance for the help and suggestions I always receive. Now I jumo to my query!
So, I have a dataset as shown in the attached photo. I have a Start Time (1st column) and End Time (2nd column) of filling up of Gas Pump in Volume (3rd column). I want to resample every 1 minute based on Start Time and End Time. For the rest hours of the day, I want 0 values. At the end, I should have 1440 (24 x 60) values. I tried the "retime" function but was unsuccessful. Could anyone help me out?
Thanks again
Untitled.png
  2 Comments
Walter Roberson
Walter Roberson on 16 Aug 2019
Do you have a dataset() array from Statistics Toolbox? Do you have a table() from basic MATLAB? Do you have a timetable() ?
Alex
Alex on 16 Aug 2019
Yes Walter. I have attached the data in table format.

Sign in to comment.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 16 Aug 2019
Edited: Andrei Bobrov on 16 Aug 2019
T = fuel1(:,{'Start','Volume'});
T.Properties.VariableNames={'time','vol'};
T1=table;
T1.time = fuel1.End;
T1.vol = zeros(size(fuel1,1),1);
T = table2timetable(sortrows([T;T1]));
Tout = retime(T,'minutely','previous');
  6 Comments
Alex
Alex on 20 Aug 2019
Great! I just figured out that. Thanks again Adam!
Adam Danz
Adam Danz on 20 Aug 2019
retime() is quite powerful. I have to reference the documentation frequently when I use it.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!