using interp1 'nearest' and 1 value is missing

15 次查看(过去 30 天)
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
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 个)

类别

Help CenterFile Exchange 中查找有关 Interpolation 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by