data extraction from a time series

7 vues (au cours des 30 derniers jours)
Binu
Binu le 1 Fév 2022
Hi I have a time seris data. I want to extract the data , for example, from 06:01:01 to 20:01:01 everyday. I have attached a few days of data as a sample.
Thank you

Réponse acceptée

Walter Roberson
Walter Roberson le 1 Fév 2022
I had to guess that you wanted to exclude 20:01:01 itself.
I wonder if what you would really want is "after 6 am (excluding 6 am), up to and include 8 pm" ? Or maybe 6 am (inclusive) up to but excluding 8 pm ?
filename = 'https://www.mathworks.com/matlabcentral/answers/uploaded_files/880370/test%20data.xlsx';
opt = detectImportOptions(filename, 'readvariablenames', false);
opt = setvartype(opt, 1, 'datetime');
opt = setvaropts(opt, 1, 'InputFormat', 'uuuu-MM-dd HH:mm:ss');
T = readtable(filename, opt);
[h, m, s] = hms(T{:,1});
d = duration(h, m, s);
starttime = duration(06,01,01);
endtime = duration(20,01,1);
mask = isbetween(d, starttime, endtime, 'openright');
selected_T = T(mask,:);
selected_T(end-10:end,:)
ans = 11×3 table
Var1 Var2 Var3 ___________________ __________ _____ 2021-07-03 15:01:01 {0×0 char} 0.259 2021-07-03 16:01:01 {0×0 char} 0.266 2021-07-03 17:01:01 {0×0 char} 0.239 2021-07-03 18:01:01 {0×0 char} 0.249 2021-07-03 19:01:01 {0×0 char} 0.251 2021-07-04 06:01:01 {0×0 char} 0.356 2021-07-04 07:01:01 {0×0 char} 0.334 2021-07-04 08:01:01 {0×0 char} 0.321 2021-07-04 09:01:01 {0×0 char} 0.319 2021-07-04 10:01:01 {0×0 char} 0.373 2021-07-04 11:01:01 {0×0 char} 0.371

Plus de réponses (0)

Catégories

En savoir plus sur Time Series dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by