interp2

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

描述

例子

VQ= interp2 (X, Y,V,XQ,Y染色体长臂)使用线性插值返回特定查询点上两个变量的函数的插值值。结果总是经过函数的原始采样。XY包含样品点的坐标。V包含每个样本点对应的函数值。XQYQ包含查询点的坐标。

VQ= interp2 (V,XQ,Y染色体长臂)假设采样点的默认网格。默认的网格点覆盖的矩形区域,X = 1: nY = 1: m,其中[m, n] =大小(V)。当您希望节省内存并且不关心点之间的绝对距离时,请使用此语法。

VQ= interp2 (V)返回上通过将采样值之间的间隔一次在每个维度形成的精制网格中的内插值。

例子

VQ= interp2 (V,k)返回由重复将间隔减半而形成的精细网格上的内插值k每个维度的时间。这将导致2 ^ k-1个样本值之间内插点。

例子

VQ= interp2 (___,方法)指定一个替代的插值方法:“线性”,“最近”,'立方体','makima',或“花”。默认的方法是“线性”

例子

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

如果你省略extrapval参数查询域外的样本点,则基于方法论据interp2返回下列内容之一:

  • 对于外推值“花”'makima'方法

  • 对于其它的内插方法的值

例子

全部折叠

粗样品山峰函数。

(X, Y) = meshgrid(三3);V =山峰(X, Y);

画出粗采样。

图冲浪(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);V =山峰(7);

画出粗采样。

图冲浪(X, Y, V)标题(“原始采样”);

创建0.25间距查询网格。

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

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

VQ = interp2(X,Y,V,Xq的,YQ'立方体');

策划的结果。

图冲浪(Xq的,YQ VQ);标题(“细网格上的三次插值”);

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

负载flujet.matcolormap灰色的

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

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

显示图像区域。

于imagesc(V);轴标题(“原始图像”)

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

Vq = interp2 (V, 5);

显示结果。

于imagesc(VQ);轴标题(线性插值的)

粗略地在范围内采样一个函数,[-2,2]在这两个维度。

[X,Y] = meshgrid(-2:0.75:2);R = SQRT(X. ^ 2 + Y ^ 2)+ EPS;V = SIN(R)./(R);

画出粗采样。

图冲浪(X,Y,V)XLIM([ -  4 4])ylim([ -  4 4])标题(“原始采样”)

创建超出的域名查询网格XY

[Xq的,Y染色体长臂] = meshgrid(-3:0.2:3);

在的域内进行三次插值XY,并将所有落在外面的查询赋值为零。

VQ = interp2(X,Y,V,Xq的,YQ'立方体',0);

策划的结果。

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

输入参数

全部折叠

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

  • 如果XY矩阵是否包含a的坐标全网格(meshgrid格式)。使用meshgrid函数来创建XY矩阵在一起。这两个矩阵必须是相同的大小。

  • 如果XY被矢量,则它们被视为网格矢量。在两种载体中的值必须严格单调,无论是增加或减少。

请注意

在未来的版本中,interp2将不接受用于样品和查询网格的行和列向量的混合组合。相反,必须通过构建满格meshgrid。或者,如果你有一个大的数据集,你可以使用griddedInterpolant而不是interp2

例:(X, Y) = meshgrid (1:30, 10:10)

数据类型:|

样本值,指定为实矩阵或复矩阵。尺寸要求V取决于大小XY:

  • 如果XY矩阵是否表示一个完整的网格meshgrid格式),然后V必须和XY

  • 如果XY那么,网格是向量吗V必须是含有基质长度(Y)行和长度(X)列。

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

例:兰特(10,10)

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

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

  • 如果XQYQ是标量,那么他们是一个单一的查询点的坐标。

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

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

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

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

请注意

在未来的版本中,interp2将不接受用于样品和查询网格的行和列向量的混合组合。相反,必须通过构建满格meshgrid。或者,如果你有一个大的数据集,你可以使用griddedInterpolant而不是interp2

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

数据类型:|

细化系数,指定作为一个真正的,非负整数标量。此值指定的次数反复划分细化网格的间隔在每个维度的数目。这将导致2 ^ k-1个样本值之间内插点。

如果k0,然后VQ等于V

interp2(V,1)等于interp2 (V)

内插值的下图显示了放置(红色)之间的九个取样值(黑色),用于k = 2

例:interp2(V,2)

数据类型:|

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

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

  • 需要的不仅仅是更多的内存“最近”

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

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

'立方体' 查询点上的插值值是基于每个相应维度上相邻网格点上的值的三次插值。插值是基于三次卷积。 C1
  • 网格必须在每个维度上有均匀的间距,但间距不必在所有维度上都相同

  • 要求每个维度中至少有四个点

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

'makima' 改进的Akima立方Hermite插值。查询点上的内插值基于多项式的分段函数,次数最多为三次,使用每个相应维度上邻近网格点的值计算。Akima公式被修改以避免过冲。 C1
  • 在每个维度中至少需要2个点

  • 产生的波动比“花”

  • 计算时间通常小于“花”,但是内存需求是相似的

“花” 查询点上的插值值是基于每个相应维度上相邻网格点上的值的三次插值。内插是使用不-A-结结束条件基于三次样条。 C2
  • 在每个维度上需要四个点

  • 需要更多的内存和计算时间'立方体'

的域外的函数值XY,指定为实标量或复标量。interp2返回外域的所有点这个常数的值XY

例:5

例:5 + 1I

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

输出参数

全部折叠

内插的值,以实标量或复标量、向量或矩阵的形式返回。的大小和形状VQ取决于您使用的语法,在某些情况下,还取决于输入参数的大小和值。

语法 特殊情况 矢量的大小 例子
Xq interp2 (X, Y, V, Yq)
interp2 (V, Xq, Yq)
这些语法的变体包括方法extrapval
XQ,YQ是标量 纯量 size(Vq) = [11]当你通过XQYQ标量。
同上 XQ,YQ具有相同的大小和方向的矢量 相同大小和方向的向量XQYQ 如果size(Xq) = [100 1]
大小(Y染色体长臂)= [100 1],
然后size(Vq) = [100 1]
同上 XQ,YQ是混合方向的向量吗 其中的行数为长度(Y染色体长臂),列数为长度(Xq的) 如果size(Xq) = [1 100]
size(Yq) = [50 1],
然后size(Vq) = [50 100]
同上 XQ,YQ矩阵或数组大小相同吗 矩阵或相同尺寸的阵列XQYQ 如果大小(Xq) = [50 25]
大小(Y染色体长臂)= [50 25],
然后大小(VQ)= [50 25]
interp2 (V, k)
该语法的和变化包括方法extrapval
没有

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

列数为:
2 ^ k *(大小(V, 2) 1) + 1

如果size(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 1 2 3 -1 1 2 2 2 2 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4

网格向量是一种比完整网格更紧凑的表示网格的格式。两种格式与样本值矩阵的关系V

网格向量

interp2,网格矢量由一对矢量的定义的x- - -y-网格中的坐标。行向量定义x坐标和列向量定义y坐标。

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

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

散点

interp2散点由一对限定散在2-d空间中的点的集合阵列的。一个阵列包含x-坐标,另一个包含y坐标。

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

x = [2 5;4 10];y = [7];1 9];

扩展功能

之前介绍过的R2006a