using interp1 'nearest' and 1 value is missing

hey,
i have 2 datetime arrays and im trying to find the nearest date and time (prior) from one array to another using interp1
my line of code is:
nearest= interp1(refDatetime, 1:length(refDatetime),expDatetime, 'nearest');
refDateTime:
'03-Feb-2020 09:28:38' '03-Feb-2020 10:49:51' '03-Feb-2020 11:02:04' '03-Feb-2020 11:04:18' '03-Feb-2020 11:17:35' '03-Feb-2020 11:20:28' '03-Feb-2020 11:25:41'
expDatetime:
'03-Feb-2020 11:22:39' '03-Feb-2020 11:28:40'
nearest:
6 NaN
interp1 always gives me NaN for the last exp date time (i run the code with several inputs giving different values for these 2 arrays).
the value i expect is 7 but instead its NaN
any idea what i do wrong?

 채택된 답변

Walter Roberson
Walter Roberson 2020년 8월 7일

0 개 추천

nearest= interp1(refDateTime, 1:length(refDateTime),expDateTime, 'nearest', 'extrap')
The interpolation mode you were using, linear interpolation (the default) returns nan for anything outside of the range of the input independent variable; you have to turn on extrapolation.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Interpolation에 대해 자세히 알아보기

태그

질문:

2020년 8월 7일

댓글:

2020년 8월 7일

Community Treasure Hunt

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

Start Hunting!

Translated by