文档

interp1

一维数据插值(查表)

语法

Vq = interp1(x,v,xq)
Vq = interp1(x,v,xq,方法)
Vq = interp1(x,v,xq,方法,外推)
Vq = interp1(v,xq)
Vq = interp1(v,xq,方法)
Vq = interp1(v,xq,方法,外推)
Pp = interp1(x,v,方法,' Pp ')

描述

例子

矢量量化= interp1 (xvxq使用线性插值返回特定查询点上1-D函数的插值值。向量x包含样本点和v包含相应的值,vx)。向量xq包含查询点的坐标。

如果在同一点坐标上采样了多组数据,则可以通过v作为一个数组。数组的每一列v包含一组不同的1-D样本值。

例子

矢量量化= interp1 (xvxq方法指定一个可选的插值方法:“最近的”“下一个”“以前”“线性”样条的“pchip”,或“立方”。默认方法为“线性”

例子

矢量量化= interp1 (xvxq方法外推法的域之外的点的计算策略x。集外推法“extrap”当你想使用方法外推的算法。或者,您可以指定一个标量值,在这种情况下,interp1的定义域外的所有点返回该值x

例子

矢量量化= interp1 (vxq返回插值值,并假定样本点坐标为默认集合。默认点是来自的数字序列1n,在那里n取决于形状v

  • 当v是一个向量时,默认的点是1:长度(v)

  • 当v是一个数组时,默认点为1:尺寸(v, 1)

当您不关心点之间的绝对距离时,请使用此语法。

矢量量化= interp1 (vxq方法指定任何可选插值方法,并使用默认采样点。

矢量量化= interp1 (vxq方法外推法指定外推策略并使用默认抽样点。

= interp1 (xv方法“页”)的分段多项式形式vx)使用方法算法。

例子

全部折叠

定义样本点,x,和对应的样本值,v

X = 0:pi/4:2*pi;V = sin(x);

将查询点定义为范围内的更细抽样x

Xq = 0:pi/16:2*pi;

在查询点插入函数并绘制结果。

图vq1 = interp1(x,v,xq);情节(x, v,“o”xq vq1,“:”。);xlim([0 2 *π]);标题('(默认)线性插值');

现在评估v在相同的点上使用样条的方法。

图vq2 = interp1(x,v,xq,样条的);情节(x, v,“o”xq vq2,“:”。);xlim([0 2 *π]);标题(样条插值的);

定义一组函数值。

V = [0 1.41 2 1.41 0 -1.41 -2 -1.41 0];

定义一组位于默认点之间的查询点,1:9。在本例中,默认点为1:9因为v包含9值。

Xq = 1.5:8.5;

评估vxq

Vq = interp1(v,xq);

画出结果。

图绘制((1:9),v,“o”xq矢量量化,‘*’);传奇(“v”矢量量化的);

定义一组样本点。

X = 1:10;

定义函数的值,,在样本点上。

V = (5*x)+(x.^2*1i);

将查询点定义为范围内的更细抽样x

Xq = 1:0.25:10;

插入v在查询点。

Vq = interp1(x,v,xq);

用红色表示结果的实部,用蓝色表示虚部。

图绘制(x,真正的(v),“* r”xq,真实(vq),“- r”);持有情节(x,图像放大(v),‘* b”xq,图像放大(vq),“- b”);

插值时间戳数据点。

考虑一个包含每四小时测量一次的温度读数的数据集。用一天的数据创建一个表并绘制数据图。

x = (datetime(2016、1、1):小时(4):datetime(2016年1、2)';x.Format =“MMM dd, HH:mm”;T = [31 25 24 41 43 33 31]';天气数据=表(x,T,“VariableNames”, {“时间”“温度”})
WeatherData =7×2表时间温度_____________ ___________ 1月1日,1月31日00:00,1月25日04:00,1月24日08:00,1月01日12:00,1月41日16:00 43日,1月02日20:00 33日,00:00 31
情节(WeatherData。时间,WeatherData。温度,“o”

插值数据集来预测一天中每分钟的温度读数。由于数据是周期性的,所以使用样条的插值方法。

Xq = (datetime(2016,1,1):minutes(1):datetime(2016,1,2))';V = interp1(天气数据。时间,WeatherData。温度,xq,样条的);

绘制插值点。

持有情节(xq, V,“r”

定义样本点,x,和对应的样本值,v

X = [1 2 3 4 5];V = [12 16 31 10 6];

指定查询点,xq的范围之外x

Xq = [0 0.5 1.5 5.5 6];

评估vxq使用“pchip”方法。

Vq1 = interp1(x,v,xq,“pchip”
vq1 =19.3684 13.6316 13.2105 7.4800 12.5600

接下来,评估vxq使用“线性”方法。

Vq2 = interp1(x,v,xq,“线性”
vq2 =南南14南南

现在,使用“线性”方法。“extrap”选择。

Vq3 = interp1(x,v,xq,“线性”“extrap”
vq3 =8 10 14 4 2

“pchip”默认是推断,但是“线性”没有。

定义样本点,x,和对应的样本值,v

X = [-3 -2 -1 0 1 2 3];V = 3*x.^2;

指定查询点,xq的范围之外x

Xq = [-4 -2.5 -0.5 0.5 2.5 4];

现在评估vxq使用“pchip”方法的域之外的任何值x对于这个值,27

Vq = interp1(x,v,xq,“pchip”, 27)
vq =27.0000 18.6562 0.9375 0.9375 18.6562 27.0000

定义样本点。

X = (-5:5)';

在定义的点处选取三个不同的抛物线函数x

V1 = x.^2;V2 = 2*x。^2 + 2;V3 = 3*x。^2 + 4;

创建矩阵v,它的列是向量,v1v2,v3

V = [v1 v2 v3];

定义一组查询点,xq的范围内进行更精细的采样x

Xq = -5:0.1:5;

计算所有三个函数xq然后画出结果。

Vq = interp1(x,v,xq,“pchip”);图绘制(x, v,“o”xq, vq);H = gca;h.XTick = -5:5;

图中的圆圈表示v,实线表示矢量量化

输入参数

全部折叠

抽样点,指定为实数的行向量或列向量。中的值x必须是不同的。的长度x必须符合下列要求之一:

  • 如果v是向量吗长度(x)必须等于长度(v)

  • 如果v是数组吗长度(x)必须等于大小(v, 1)

例子:[1 2 3 4 5 6 7 8 9 10]

例子:1:10

例子:[3 7 11 15 19 23 27 31]'

数据类型:||持续时间|datetime

样例值,指定为向量、矩阵或实数或复数数组。如果v是一个矩阵或数组,那么每一列包含一组单独的一维值。

如果v那么,它包含复数interp1分别插值实部和虚部。

例子:兰德(10)

例子:兰特(10,1)

例子:兰特(10,3)

数据类型:||持续时间|datetime
复数支持:金宝app是的

查询点,指定为标量、向量、矩阵或实数数组。

例子:5

例子:1:0.05:10

例子:(1:0.05:10) '

例子:[0 1 2 7.5 10]

数据类型:||持续时间|datetime

插值方法,从下表中指定一个值。

方法 描述 连续性 评论
“线性” 线性插值。查询点上的插值值基于每个维度上相邻网格点上的值的线性插值。这是默认的插值方法。 C0
  • 要求至少2分。

  • 需要比最近邻居更多的内存和计算时间。

“最近的” 最近邻插值。查询点上的插值值是最近的样本网格点上的值。 不连续
  • 要求至少2分。

  • 适度的内存需求

  • 最快计算时间

“下一个” 下一个邻居插值。查询点的内插值是下一个样本网格点的值。 不连续
  • 要求至少2分。

  • 相同的内存要求和计算时间“最近的”

“以前” 以前的邻居插值。查询点上的插值值是前一个样例网格点上的值。 不连续
  • 要求至少2分。

  • 相同的内存要求和计算时间“最近的”

“pchip” 保形分段三次插值。查询点上的插值值基于相邻网格点上的值保持形状的分段三次插值。 C1
  • 要求至少4分。

  • 需要比线性更多的内存和计算时间。

“立方”

    注意:的行为“立方”interp1(…)将在将来的版本中更改。在未来的版本中,该方法将执行三次卷积。

一样“pchip” C1 此方法当前返回的结果与“pchip”
“v5cubic” 三次卷积在MATLAB中的应用®5. C1 点必须均匀间隔。“立方”将取代“v5cubic”在未来的版本中。
样条的 样条插值使用非结结束条件。查询点上的插值值基于每个维度中相邻网格点上的值的三次插值。 C2
  • 要求至少4分。

  • 需要更多的内存和计算时间“pchip”

外推策略,指定为“extrap”或者一个实标量。

  • 指定“extrap”当你想要interp1用它用于插值的相同方法来计算域外的点。

  • 需要时指定标量值interp1为域外的点返回特定的常数值。

默认行为取决于输入参数:

  • 如果您指定“pchip”样条的插值方法,则默认行为为“extrap”

  • 所有其他插值方法返回默认情况下,用于域外的查询点。

例子:“extrap”

例子:5

数据类型:字符||

输出参数

全部折叠

内插值,返回为标量、向量、矩阵或数组。的大小矢量量化取决于形状vxq

v形 xq的形状 Vq大小 例子
向量 向量 大小(xq) 如果尺寸(v) = [1 100]
Size (xq) = [1 500]
然后Size (vq) = [1 500]
向量 矩阵
或N-D数组
大小(xq) 如果尺寸(v) = [1 100]
Size (xq) = [5030]
然后Size (vq) = [50 30]
矩阵
或N-D数组
向量 [长度(xq)大小(v, 2),…,大小(v, n)) 如果尺寸(v) = [100 3]
Size (xq) = [1 500]
然后Size (vq) = [500 3]
矩阵
或N-D数组
矩阵
或N-D数组
(尺寸(xq, 1),…,大小(xq, n),…大小(v, 2),…,大小(v, m)] 如果尺寸(v) = [4 5 6]
Size (xq) = [2 3 7]
然后Size (vq) = [2 3 7 5 6]

分段多项式,作为结构返回,你可以传递给ppval用于求值的函数。

扩展功能

R2006a之前介绍

这个话题有用吗?