主要内容

interp2

网格格式的二维网格数据插值

描述

例子

矢量量化= interp2 (X, YVXq, Yq使用线性插值返回在特定查询点处的两个变量函数的内插值。结果始终通过该功能的原始采样。XY包含样本点的坐标。V包含每个采样点上对应的函数值。XqYq包含查询点的坐标。

矢量量化= interp2 (VXq, Yq假设采样点的默认网格。默认网格点覆盖矩形区域,x = 1:nY = 1: m,在那里[m, n] =大小(V).当您希望节省内存并且不关心点之间的绝对距离时,请使用此语法。

矢量量化= interp2 (V通过在每个维度中分割一次样本值之间的间隔,返回在精细网格上的插值值。

例子

矢量量化= interp2 (Vk返回由重复减半间隔形成的精细网格上的插值值k每个维度的时间。这导致了这一点2 ^ k - 1在样本值之间插入点。

例子

矢量量化= interp2 (___方法指定另一种插值方法:'线性'“最近的”“立方”“makima”, 或者样条的.默认方法是'线性'

例子

矢量量化= interp2 (___方法extrapval还指定了extrapval,标量值分配给位于采样点的域外的所有查询。

如果省略extrapval参数用于示例点域外的查询,然后基于方法论点interp2返回以下其中一项:

  • 的外推值样条的“makima”方法

  • 其他插值方法的值

例子

全部折叠

粗样品的山峰函数。

[x,y] = meshgrid(-3:3);v =峰(x,y);

绘制粗采样图。

图Surf(x,y,v)标题('原始抽样');

图中包含一个坐标轴。标题原始抽样的轴包含类型表面的对象。

创建间隔为0.25的查询网格。

[Xq, Yq] = meshgrid (3:0.25:3);

在查询点上插入。

Vq = Interp2(x,y,v,xq,yq);

绘制结果。

图冲浪(XQ,YQ,VQ);标题('使用更精细的网格'线性插值');

图中包含一个坐标轴。标题为“使用更精细网格的线性插值”的轴包含一个类型为曲面的对象。

粗略地样本峰值功能。

[x,y] = meshgrid(-3:3);v =峰值(7);

绘制粗采样图。

图Surf(x,y,v)标题('原始抽样');

图中包含一个坐标轴。标题原始抽样的轴包含类型表面的对象。

创建间隔为0.25的查询网格。

[Xq, Yq] = meshgrid (3:0.25:3);

在查询点上进行插值,并指定三次插值。

Vq = interp2 (X, Y, V, Xq, Yq“立方”);

绘制结果。

图冲浪(XQ,YQ,VQ);标题('立方插值超过更精细的网格');

图中包含一个坐标轴。标题为“精细网格上的立方插值”的轴包含一个类型为曲面的对象。

将一些图像数据加载到工作区中。

负载flujet.matCOLOROMAP.灰色的

分离图像的一个小区域,并将其转换为单精度。

V =单(X (200:300 1:25));

显示图像区域。

显示亮度图像(V);轴离开标题(原始图像的

图中包含一个坐标轴。具有标题原始图像的轴包含类型图像的对象。

在每个维度中,通过重复划分精细网格点之间的间隔五次来插入插值值。

Vq = interp2 (V, 5);

显示结果。

显示亮度图像(Vq);轴离开标题('线性插值'

图中包含一个坐标轴。标题线性插值的轴包含类型图像的对象。

在这个范围内对函数进行粗略采样,(2, 2)在这两个维度。

(X, Y) = meshgrid (2:0.75:2);R =√X。^2 + y ^2)+ eps;V =罪(R)。/ (R);

绘制粗采样图。

图surf(X,Y,V) xlim([-4 4]) ylim([-4 4]) title('原始抽样'

图中包含一个坐标轴。标题原始抽样的轴包含类型表面的对象。

创建扩展到域中的查询网格XY

[Xq, Yq] = meshgrid (3:0.2:3);

的范围内进行三次插值XY,并分配外面归零的所有查询。

Vq = interp2 (X, Y, V, Xq, Yq“立方”,0);

绘制结果。

图冲浪(Xq, Yq Vq)标题(X和Y外域Vq=0的三次插值);

图中包含一个坐标轴。标题为Vq=0的X和Y外域三次插值的轴包含一个曲面类型的对象。

输入参数

全部折叠

采样网格点,指定为实矩阵或实向量。样本网格点必须是唯一的。

例子:[x,y] = meshgrid(1:30,-10:10)

数据类型:单身的|

示例值,指定为真实或复杂的矩阵。尺寸要求V取决于大小XY

  • 如果XY矩阵是否代表一个完整的网格(在meshgrid.格式),然后V必须与之相同XY

  • 如果XY然后是网格向量V必须是包含的矩阵冗长)行和长度(x)列。

如果V包含复数,然后interp2分别插值实部和虚部。

例子:兰特(10,10)

数据类型:单身的|
复数的支持:金宝app是的

查询点,指定为真正的标量,向量,矩阵或数组。

  • 如果XqYq是标量,则它们是单个查询点的坐标。

  • 如果XqYq是不同方向的向量吗XqYq被视为网格载体。

  • 如果XqYq那么向量的大小和方向是相同的吗XqYq被视为分散点在二维空间中。

  • 如果XqYq是矩阵,那么它们要么表示一个完整的查询点网格(在meshgrid.格式)或分散点。

  • 如果XqYq是N-D数组,则它们表示二维空间中的散点。

例子:[Xq, Yq] = meshgrid ((1:0.1:10), (5:0.1:0))

数据类型:单身的|

细化因子,指定为实的、非负的整数标量。该值指定在每个维度中重复划分精细网格的间隔的次数。这导致了这一点2 ^ k - 1在样本值之间插入点。

如果k0,然后矢量量化是一样的V

interp2 (V, 1)是一样的Interp2(v)

下图显示了插值值(红色)在9个样本值(黑色)中的位置k = 2

例子:interp2 (V, 2)

数据类型:单身的|

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

方法 描述 连续性 注释
'线性' 查询点上的插值值是基于每个维度上相邻网格点上的值的线性插值。这是默认的插值方法。 C0
  • 每个维度至少需要两个网格点

  • 需要比“最近的”

“最近的” 查询点处的插值值是最近的样本网格点处的值。 不连续
  • 每个维度需要两个网格点。

  • 最快的计算与适度的内存需求

“立方” 查询点上的插值值是基于每个维度上相邻网格点上的值的三次插值。插值是基于三次卷积的。 C1
  • 电网必须在每个尺寸中具有均匀的间距,但间距对于所有尺寸不一定是相同的

  • 每个维度至少需要四个点

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

“makima” 改进的Akima三次Hermite插值。在一个查询点上的插值值是基于多项式的分段函数,多项式的度最多为3,使用每个维度上相邻网格点的值进行计算。对秋岛公式进行了修改,以避免过冲。 C1
  • 每个维度至少需要2个点

  • 产生的起伏少于样条的

  • 计算时间通常小于样条的,但内存要求是相似的

样条的 查询点上的插值值是基于每个维度上相邻网格点上的值的三次插值。插值是基于三次样条使用非结结束条件。 C2
  • 每个维度需要四个点

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

功能值外部域XY,指定为实标量或复标量。interp2为域之外的所有点返回此常量值XY

例子:5

例子:5 + 1我

数据类型:单身的|
复数的支持:金宝app是的

输出参数

全部折叠

内容值,作为真实或复杂的标量,向量或矩阵返回。尺寸和形状矢量量化取决于您使用的语法,并且在某些情况下,输入参数的大小和值。

语法 特殊的条件 VQ的大小 例子
Interp2(x,y,v,xq,yq)
interp2 (V, Xq, Yq)
和这些语法的变化包括方法或者extrapval
XqYq是标量 标量 尺寸(Vq)= [1 1]当你通过时XqYq标量。
同上 XqYq是相同尺寸和方向的载体 相同大小和方向的矢量XqYq 如果大小(Xq) = [100 1]
尺寸(yq)= [100 1]
然后尺寸(Vq) = [100 1]
同上 XqYq是混合定位的矢量 矩阵在其中行数是长度(Yq),列数为长度(XQ) 如果尺寸(xq)= [1 100]
尺寸(yq)= [50 1]
然后大小(Vq)= [50 100]
同上 XqYq是相同尺寸的矩阵或阵列 大小相同的矩阵或数组XqYq 如果尺寸(xq)= [50 25]
size(Yq) = [50 25]
然后尺寸(Vq) = [50 25]
interp2 (V, k)
这种语法的变体包括方法或者extrapval
没有一个

其中行数为:
2 ^ k *(大小(V, 1) 1) + 1

列数是:
2 ^ k *(尺寸(v,2)-1)+1

如果尺寸(V) = [10 20]
k = 2
然后尺寸(Vq) = [37 77]

更多关于

全部折叠

严格单调

一组总是递增或递减,没有反转的值。例如,序列,A = [2 4 6 8]是严格的单调和增加。序列,B = [2 4 4 6 8]不是严格的单调,因为之间没有变化b (2)b (3).序列,C = [2 4 6 8 6]包含一个反转C(4)C(5),所以它一点也不单调。

全网格(meshgrid格式)

interp2,完整网格是一对矩阵,其元素表示矩形区域上的点网格。一个矩阵包含x-坐标,另一个矩阵包含y坐标。的值x矩阵是严格单调并沿行递增。其列的值是常数。的值y-矩阵是严格单调的,并沿列递增。其行的值是常数。使用meshgrid.创建一个可以传递的完整网格的函数interp2

例如,以下代码为区域(-1≤)创建一个完整的网格x≤3和1≤y≤4:

[x,y] = meshgrid(-1:3,(1:4))
X = -1 0 1 2 3 -1 0 1 2 3 -1 0 11 2 3 -1 0 1 2 3 Y = 1 11 11 11 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 4

网格向量是一种更紧凑的格式,可以表示网格而不是完整网格。两种格式与样本值矩阵之间的关系V

网格向量

interp2,网格向量由一对向量组成,定义x- 和y- 在网格中的控制。行矢量定义x-CoordInates,列向量定义y坐标。

例如,下面的代码创建指定区域(-1≤)的网格向量x≤3和1≤y≤4:

x = 1:3;y = (1:4) ';

分散点

interp2,分散点由一对数组组成,数组定义了二维空间中分散点的集合。一个数组包含x-坐标,另一个包含y坐标。

例如,下面的代码指定了点(2,7)、(5,3)、(4,1)和(10,9):

X = [2 5;4 10];Y = [7 3;1 9];

扩展功能

在R2006A之前介绍