主要内容

interp2

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

描述

例子

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

矢量量化= interp2 (VXq, Yq假设一个默认的样本点网格。默认网格点覆盖矩形区域,X = 1: n而且Y = 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);V =山峰(X, Y);

绘制粗采样图。

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

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

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

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

在查询点处插值。

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

策划的结果。

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

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

对峰函数进行粗采样。

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

绘制粗采样图。

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

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

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

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

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

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

策划的结果。

图冲浪(Xq, Yq Vq);标题('精细网格上的三次插值');

图中包含一个axes对象。标题为Cubic Interpolation Over Finer Grid的axis对象包含一个类型为surface的对象。

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

负载flujet.matcolormap灰色的

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

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

显示图像区域。

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

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

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

Vq = interp2 (V, 5);

显示结果。

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

图中包含一个axes对象。标题为Linear Interpolation的axis对象包含一个类型为image的对象。

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

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

绘制粗采样图。

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

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

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

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

的范围内执行三次插值X而且Y,并将所有属于外部的查询赋值为零。

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

策划的结果。

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

图中包含一个axes对象。标题为Cubic Interpolation with Vq=0的X和Y域外的axis对象包含一个类型为surface的对象。

输入参数

全部折叠

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

  • 如果X而且Y是矩阵,那么它们包含a的坐标全网格(网格格式).使用meshgrid函数来创建X而且Y矩阵在一起。两个矩阵的大小必须相同。

  • 如果X而且Y是带菌者,那么它们被视为网格向量.两个向量中的值必须是严格单调,或增加或减少。

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

数据类型:|

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

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

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

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

例子:兰特(10,10)

数据类型:|
复数的支持:是的

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

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

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

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

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

  • 如果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)

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

网格中的9个采样点,每个维度的采样点之间有3个插值点

例子:interp2 (V, 2)

数据类型:|

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

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

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

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

  • 用较少的内存需求进行最快的计算

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

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

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

“makima” 改进的Akima立方Hermite插值。在查询点上的插值值基于一个分段多项式函数,该多项式的次数最多为3,使用每个维度上的相邻网格点的值进行评估。Akima公式被修改以避免超调。 C1
  • 每个维度至少需要2个点

  • 产生的波动比样条的

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

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

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

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

例子:5

例子:5 + 1我

数据类型:|
复数的支持:是的

输出参数

全部折叠

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

语法 特殊的条件 矢量的大小 例子
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) = [501]
然后size(Vq) = [50 100]
同上 XqYq矩阵或数组的大小相同吗 大小相同的矩阵或数组Xq而且Yq 如果size(Xq) = [50 25]
而且size(Yq) = [50 25]
然后size(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
然后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 1 2 2 2 2 2 2 3 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

Baidu
map