vq = interp1(v, xq, 'nearest', 0)
Я ожидал, что интерполяция ближайшего соседа похожа на round
(xq) и получу значения в v
.Например:
v = [1 0];
xq = 0.4 : 0.2 : 2
xq =
0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0
round(xq)
ans =
0 1 1 1 1 1 2 2 2
vq = interp1(v, round(xq), '', 0) % get ones for round(xq) == 1
vq =
0 1 1 1 1 1 0 0 0
Я ожидал, что «ближайший» будет похож на выше round
.Однако
vq = interp1(v, xq, 'nearest', 0)
vq =
0 0 0 1 1 1 0 0 0
Это ни round
(xq), ни floor
, ни ceil
.Чего мне не хватает?