为什么插值给我 NANi 值
Why interpolation gives me NANi values
我有一个向量 X = [1.4104 - 0.6176i -0.5766 + 0.3408i];
我需要在 Matlab 中使用命令 interp1
运行 插值到 1:4:8 中,但这给了我 NANi 结果,如下所示:
X = [1.4104 - 0.6176i -0.5766 + 0.3408i];
Y = interp1(1:4:8 , X , 1:8)
向量Y的结果是1.4104 - 0.6176i 0.9137 - 0.3780i 0.4169 - 0.1384i -0.0798 + 0.1012i -0.5766 + 0.3408i NaN + NaNi NaN + NaNi NaN + NaNi
那么,这有什么问题呢?
插值在其边界处未定义。 X
如果长度为2,对应的time/position值为1:4:8
=[1,5]
。现在,您想在 time/position 1:8
= [1 2 3 4 5 6 7 8]
处获得结果。插值器现在应该如何处理 [6 7 8]
处的内容,因为它无法推断。
您可能想做的是
Y = interp1(0:4:8 , X , 1:8)
(从0
开始得到[0 4 8]
?
我有一个向量 X = [1.4104 - 0.6176i -0.5766 + 0.3408i];
我需要在 Matlab 中使用命令 interp1
运行 插值到 1:4:8 中,但这给了我 NANi 结果,如下所示:
X = [1.4104 - 0.6176i -0.5766 + 0.3408i];
Y = interp1(1:4:8 , X , 1:8)
向量Y的结果是1.4104 - 0.6176i 0.9137 - 0.3780i 0.4169 - 0.1384i -0.0798 + 0.1012i -0.5766 + 0.3408i NaN + NaNi NaN + NaNi NaN + NaNi
那么,这有什么问题呢?
插值在其边界处未定义。 X
如果长度为2,对应的time/position值为1:4:8
=[1,5]
。现在,您想在 time/position 1:8
= [1 2 3 4 5 6 7 8]
处获得结果。插值器现在应该如何处理 [6 7 8]
处的内容,因为它无法推断。
您可能想做的是
Y = interp1(0:4:8 , X , 1:8)
(从0
开始得到[0 4 8]
?