文档

interp1.

1-D数据插值(表查找)

语法

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,方法,推断)
页= interp1 (x, v,方法,“页”)

描述

例子

VQ.= interp1 (xvXQ.使用线性插值返回特定查询点的1-D函数的内插值。向量x包含样本点,和v包含相应的值,vx)。向量XQ.包含查询点的坐标。

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

例子

VQ.= interp1 (xvXQ.方法指定另一种插值方法:'最近''下一个''以前的''线性''样条曲线''pchip''makima', 要么'立方体'.默认方法是'线性'

例子

VQ.= interp1 (xvXQ.方法推断指定对位于范围之外的点进行评估的策略x.放推断'extrap'当你想使用的时候方法推断算法。或者,您可以指定标量值,在这种情况下,interp1.返回域外所有点的值x

例子

VQ.= interp1 (vXQ.返回插值值,并假定默认的样本点坐标集。默认的点是来自的数字序列1n, 在哪里n取决于形状v

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

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

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

VQ.= interp1 (vXQ.方法指定任何备用插值方法,并使用默认采样点。

VQ.= interp1 (vXQ.方法推断指定外推策略并使用默认采样点。

PP.= interp1 (xv方法,'pp')返回片段的多项式形式vx)使用方法算法。

请注意

不推荐使用此语法。使用栅格internallant.代替。

例子

全部折叠

定义采样点,x以及相应的样本值,v

x = 0:π/ 2 *π;v = sin (x);

定义查询点,以更精细的采样在范围内x

XQ = 0:PI / 16:2 * PI;

插值在查询点处的功能并绘制结果。

图Vq1 = Interp1(x,v,xq);情节(x, v,'o'xq vq1,':'');XLIM([02 * pi]);标题('(默认)线性插值');

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

图Vq2 = Interp1(x,v,xq,'样条曲线');情节(x, v,'o'xq vq2,':'');XLIM([02 * pi]);标题('样条插值');

定义一组函数值。

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”'VQ');

定义一组样本点。

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,imag(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]''WeatherData =表(X,T,'variablenames',{“时间”“温度”})
WeatherData =7x2表格时间温度_____________ ___________ ________ 1月1日,00:00 3月31日1日01日,04:00 2月1日,04:00 2月1日,08:00 24日1日1日,12:00 41 1月1日,16:00 43日1日期02年1月1日02,00:00 31.
情节(WeatherData。时间,WeatherData。温度,'o'

内插数据集以预测每分钟的温度读数。由于数据是定期的,请使用'样条曲线'插值方法。

xq = (datetime(2016、1、1):分钟(1):datetime(2016年1、2)';V = interp1 (WeatherData。时间,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 =Nan NaN 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

[-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,其列是向量,v1.v2., 和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,实线表示VQ.

输入参数

全部折叠

采样点,指定为实数的行或列向量。中的值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]

数据类型:单身的|双倍的|持续时间|约会时间

示例值,指定为载体,矩阵或真实或复数的数组。如果v是矩阵或数组,然后每个列包含单独的1-D值集。

如果v包含复数,然后interp1.分别插值实部和虚部。

例子:兰德(10)

例子:兰特(10,1)

例子:兰特(10,3)

数据类型:单身的|双倍的|持续时间|约会时间
复数的支持:金宝app是的

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

例子:5

例子:1:0.05:10

例子:(1:0.05:10)'

例子:[0 1 2 7.5 10]

数据类型:单身的|双倍的|持续时间|约会时间

插值方法,指定为该表中的选项之一。

方法

描述

连续性

评论

'线性'

线性插值。查询点处的插值值基于每个相应维度的相邻网格点处的值的线性插值。这是默认的插值方法。

C0

  • 至少需要2分

  • 需要更多的内存和计算时间而不是最近的邻居

'最近'

最近的邻居插补。查询点处的插值值是最近的样本网格点处的值。

不连续

  • 至少需要2分

  • 适度的内存要求

  • 最快的计算时间

'下一个'

下一个邻居插值。查询点上的插值值是下一个样本网格点上的值。

不连续

  • 至少需要2分

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

'以前的'

以前的邻居插值。查询点处的插值值是先前示例网格点处的值。

不连续

  • 至少需要2分

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

'pchip'

形状保护分段立方体插值。查询点处的内插值基于相邻网格点处的值的形状保留的分段立方插值。

C1

  • 要求至少4分

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

'立方体'

请注意

行为Interp1(...,'立方')将在未来的发布中改变。在未来的释放中,此方法将执行立方卷积。

一样'pchip'

C1

此方法当前返回与'pchip'

'v5cbic'

MATLAB中的三次卷积®5。

C1

要点必须均匀间隔。'立方体'将替换'v5cbic'在未来的版本中

'makima'

改进的Akima三次Hermite插值。在一个查询点上的插值值是基于一次最多为3的多项式的分段函数。对秋岛公式进行了修改,以避免过冲。

C1

  • 至少需要2分

  • 产生的起伏少于'样条曲线',但不会像'pchip'

  • 计算比'pchip',但通常少于'样条曲线'

  • 内存需求类似于'样条曲线'

'样条曲线'

使用Not-A-Cnot结束条件的样条插值。查询点处的插值值基于每个相应维度的相邻网格点处的值的立方插值。

C2

  • 要求至少4分

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

在R2017b及后续版本中,方法也可以使用双引号指定为字符串。例如,“样条”

推断策略,指定为'extrap'或者实标量。

  • 指定'extrap'当你想要的时候interp1.用与内插相同的方法求域外点的值。

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

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

  • 如果指定'pchip''样条曲线', 要么'makima'插值方法,那么默认行为是'extrap'

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

在R2017b及后续版本中,推断也可以使用双引号指定为字符串。例如,“extrap”

例子:'extrap'

例子:5

数据类型:char|细绳|单身的|双倍的

输出参数

全部折叠

作为标量、向量、矩阵或数组返回的内插值。的大小VQ.取决于形状vXQ.

V的形状 xq的形状 VQ的大小 例子
向量 向量 大小(xq) 如果大小(v) = [1 100]
尺寸(xq)= [1 500]
然后尺寸(Vq)= [1 500]
向量 矩阵
或n-d阵列
大小(xq) 如果大小(v) = [1 100]
尺寸(xq) = [50 30]
然后尺寸(Vq)= [50 30]
矩阵
或n-d阵列
向量 [长度(XQ)尺寸(v,2),...,尺寸(v,n)] 如果尺寸(v)= [100 3]
尺寸(xq)= [1 500]
然后尺寸(Vq)= [500 3]
矩阵
或n-d阵列
矩阵
或n-d阵列
(尺寸(xq, 1),…,大小(xq, n),…大小(v, 2),…,大小(v, m)] 如果尺寸(v)= [4 5 6]
尺寸(xq) = [2 3 7]
然后尺寸(VQ)= [2 3 7 5 6]

分段多项式,作为您可以传递给的结构ppval.评估功能。

扩展能力

在R2006A之前介绍

这个主题有用吗?