У меня есть следующее timetable
в Matlab:
intersectionPoints =
10×1 timetable
Timestamp Value
____________________ ______
01-Feb-2016 00:00:00 1.0848
01-Feb-2016 01:00:00 1.0847
01-Feb-2016 04:00:00 1.0848
02-Feb-2016 14:07:44 1.0914
02-Feb-2016 17:21:36 1.0916
03-Feb-2016 01:49:18 1.0917
03-Feb-2016 07:18:43 1.0919
04-Feb-2016 00:53:20 1.1088
04-Feb-2016 04:18:16 1.1097
04-Feb-2016 21:38:10 1.1199
У меня также есть следующее timedate
:
checkDate = datetime("03-Feb-2016 01:49:20")
checkDate =
datetime
03-Feb-2016 01:49:20
Я хочу получить из intersectionPoints
запланируйте строки, которые являются предыдущей и следующей, чтобы указать c отметку времени. В моем конкретном случае c мне нужно получить две точки:
res =
2×1 timetable
Timestamp Value
____________________ ______
03-Feb-2016 01:49:18 1.0917
03-Feb-2016 07:18:43 1.0919
res
- это timetable
с двумя элементами. Это две ближайшие точки от intersectionPoints
до checkDate
, в прошлом и будущем связанные с checkDate
. Я могу l oop по всем значениям меток времени и проверять их вручную, но это не эффективно (у меня большие графики). Я также могу выполнить двоичный поиск вручную по этим элементам, но я хотел бы знать, есть ли встроенный или более простой способ поиска этих двух значений.
Как найти значения timetable
которые рядом с определенным?