样条插值Matlab

Spline Interpolation Matlab

我有以下内容:

x = 1:365;
y = T;
xx = missing;
yy = spline(x,y,xx)

我有数据T,是365天的数据,missing是一个vector,包含了数据出错的天数。我需要在缺失的日子里生成估计值。但是,当我使用上述语法时,它 returns 是一个 0 向量。我做错了什么?

我怀疑丢失的数据在您的矢量 T 中指定为零。您将该信息提供给 spline 进行插值,这很容易,确切的值已经存在,它是一个零,这就是返回的值。假设 missing 包含缺少数据的天数,试试这个:

x = 1:365;
y = T;
x(missing) = [];
y(missing) = [];
xx = missing;
yy = spline(x,y,xx)

这样丢失的数据不再编码为零,但它们实际上丢失了,spline可以使用邻居来估计值。