Extracting specific time points from two different time vectors

3 visualizaciones (últimos 30 días)
Sowmya MR
Sowmya MR el 26 de Mzo. de 2018
Respondida: Peter Perkins el 28 de Mzo. de 2018
Hi All,
I have two time vectors:
V1 = ['02-Feb-2018 08:23:42' '02-Feb-2018 08:24:42'.... '02-Feb-2018 09:10:42'] and V2 = [' 8:35 AM' ' 8:36 AM'...' 9:01 AM'].
Now, i want to identify the indices of starting (t0) and ending point (tend) of V2 (in this case t0 = ' 8:35 AM' and ' tend = 9:01 AM') in V1 and initialize a vector V3 (of length V1) which contains '1' between t0 and tend, and '0' in other time points. Since v1 and V2 are in different formats, i am not sure how to use datestr here. When i try datestr(v2), i get the following error:
Subscript indices must either be real positive integers or logicals.
Error in formatdate (line 157)
month = char(strrep(month(dtvector(:,2)), '.', '')); %remove period

Respuestas (2)

KSSV
KSSV el 26 de Mzo. de 2018
Read about datetime and datevec.
  3 comentarios
Sowmya MR
Sowmya MR el 26 de Mzo. de 2018
V1=['02-Feb-2018 08:23:42'; '02-Feb-2018 08:24:42';'02-Feb-2018 09:10:42'];
V2 = [' 8:35 AM' ;' 8:36 AM';' 9:01 AM'];
V1=datenum(V1);
V2=datenum(V2);
[~,sind]=min(abs(V2(1)-V1));
[~,eind]=min(abs(V2(end)-V1));
This usually works if V2 is same format as V1.

Iniciar sesión para comentar.


Peter Perkins
Peter Perkins el 28 de Mzo. de 2018
I suspect you will be happier using datetime and the isbetween function. Actually, it's hard to tell from your description, If all of your timestamps are on the same date, isbetween is probably what you want, though you'll need to take those partial timestamps and add a date to them.
If your timestamps are on different days, and you are selecting them based on their time of day, regardless of date, then you will want to convert V1 to datetimes, V2 to durations, and construct a logical vector based on applying timeofday to the datetimes.
A more concrete example of what you have and what you want would help. Your example code based on datenums seems to imply that V1 and V2 are all on the same date.

Categorías

Más información sobre Time Series Events en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by