主要内容

interp2

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

描述

例子

矢量量化= interp2 (X, YVXq, Yq使用线性插值在特定查询点返回两个变量函数的插值值。结果总是通过函数的原始采样。X而且Y包含样本点的坐标。V包含每个采样点上对应的函数值。Xq而且Yq包含查询点的坐标。

矢量量化= interp2 (VXq, Yq假设样本点的默认网格。默认网格点覆盖矩形区域,X = 1: n而且Y = 1: m,在那里[m,n] = size(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);

绘制粗抽样图。

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

图中包含一个轴对象。标题为Original Sampling的axes对象包含一个类型为surface的对象。

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

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

在查询点进行插值。

Vq = interp2(X,Y,V,Xq,Yq);

画出结果。

图冲浪(Xq, Yq Vq);标题(“使用更细网格的线性插值”);

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

对峰函数进行粗抽样。

[X,Y] = meshgrid(-3:3);V =峰(7);

绘制粗抽样图。

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

图中包含一个轴对象。标题为Original Sampling的axes对象包含一个类型为surface的对象。

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

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

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

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

画出结果。

图冲浪(Xq, Yq Vq);标题(“精细网格上的立方插值”);

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

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

负载flujet.matcolormap灰色的

隔离图像的一个小区域,并将其投射到单精度。

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

显示图像区域。

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

图中包含一个轴对象。标题为Original Image的axes对象包含一个Image类型的对象。

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

Vq = interp2(V,5);

显示结果。

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

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

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

[X,Y] = meshgrid(- 2:75:2);R =√(X。^2 + y ^2)+ eps;V = sin(R)./(R);

绘制粗抽样图。

图surf(X,Y,V) xlim([-4 4]) ylim([-4 4]) title(“原始采样”

图中包含一个轴对象。标题为Original Sampling的axes对象包含一个类型为surface的对象。

创建扩展到域之外的查询网格X而且Y

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

的域内进行三次插值X而且Y,并将所有在此范围之外的查询赋值为0。

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

画出结果。

数字冲浪(Xq,Yq,Vq)标题(Vq=0的X、Y外三次插值);

图中包含一个轴对象。标题为Cubic Interpolation with Vq=0 Outside Domain of X and Y的轴对象包含一个类型为surface的对象。

输入参数

全部折叠

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

例子:[X,Y] = meshgrid(1:30,-10:10)

数据类型:|

样例值,指定为实矩阵或复矩阵。尺寸要求V取决于的大小X而且Y

  • 如果X而且Y矩阵是否表示一个完整的网格(inmeshgrid格式),然后V一定要和X而且Y

  • 如果X而且Y网格是向量吗V一定是矩阵包含长度(Y)行和长度(X)列。

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

例子:兰特(10,10)

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

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

  • 如果Xq而且Yq是标量,则它们是单个查询点的坐标。

  • 如果Xq而且Yq向量的方向是不同的吗Xq而且Yq被视为网格向量。

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

  • 如果Xq而且Yq是矩阵,那么它们要么表示一个完整的查询点网格(inmeshgrid格式)或分散的点。

  • 如果Xq而且Yq为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,使用每个各自维度中相邻网格点的值进行评估。Akima公式被修改以避免超调。 C1
  • 每个维度至少需要2个点

  • 产生的波动比样条的

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

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

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

域外的函数值X而且Y,指定为实数或复数标量。interp2的定义域外的所有点返回此常量值X而且Y

例子:5

例子:5 + 1我

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

输出参数

全部折叠

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

语法 特殊的条件 Vq大小 例子
Xq interp2 (X, Y, V, Yq)
interp2 (V, Xq, Yq)
这些语法的变体包括方法extrapval
XqYq是标量 标量 size(Vq) = [1 1]当你经过Xq而且Yq标量。
同上 XqYq向量的大小和方向相同吗 相同大小和方向的向量Xq而且Yq 如果size(Xq) = [100 1]
而且size(Yq) = [100 1]
然后size(Vq) = [100 1]
同上 XqYq矢量是混合方向的吗 矩阵,其中行数为长度(Yq),列数为长度(Xq) 如果size(Xq) = [1 100]
而且size(Yq) = [50 1]
然后size(Vq) = [50 100]
同上 XqYq矩阵或数组的大小相同吗 相同大小的矩阵或数组Xq而且Yq 如果size(Xq) = [5025]
而且size(Yq) = [50 25]
然后size(Vq) = [50 25]
interp2 (V, k)
这种语法的变体包括方法extrapval
没有一个

矩阵中行数为:
2^k * (size(V,1)-1)+1

列数为:
2^k * (size(V,2)-1)+1

如果size(V) = [10 20]
而且K = 2
然后size(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),所以它根本不是单调的。

全网格(网格格式)

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 0 1 2 3 y = 1 1 1 1 1 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之前介绍