【发布时间】:2018-07-13 11:14:18
【问题描述】:
我正在尝试跨时间插入 X 和 Y 坐标的值。当我尝试对特定坐标(X,Y 值)进行插值时,我得到了 NaN。
data_to_be_interpolated = final_plot_matrix(:,[1 24:25]);
data_to_be_interpolated(isnan(data_to_be_interpolated)) = 0;
X_coordinate = data_to_be_interpolated(2:end,2);
Y_coordinate = data_to_be_interpolated(2:end,3);
time = data_to_be_interpolated(2:end,1);
coordinates_together = [X_coordinate Y_coordinate];
missing_part = fillmissing(data_to_be_interpolated(2:end,2:3),'linear','SamplePoints',data_to_be_interpolated(2:end,1))
当我给出值 5.6366e+04(时间值)来获得 X 和 Y 坐标的插值时,现在得到的是 [0, 0],而不是 X 和 Y 值。任何帮助将不胜感激。
【问题讨论】:
-
您需要先从数据中删除 nans
-
在
NaNs 之间插值将始终导致NaN输出。您必须从输入X和Y中排除NaN。还要确保你想要插值的值x_new包含在你原来的X域中,否则你必须使用interp1函数的extrapolation开关。 -
@AnderBiguri,我删除了 nans 并执行了操作,现在它显示 [0, 0] 而不是 nans
-
@Hoki,你能给我更清晰的图片吗?很抱歉,我无法理解您所说的外推开关是什么意思。
标签: matlab interpolation