interp3

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

描述

例子

VQ= interp3 (X, Y, Z,V,XQ,YQ ZQ)使用线性插值在特定的查询点返回三个变量的函数的插值值。结果总是经过函数的原始采样。X,Y,Z包含样品点的坐标。V包含每个样本点对应的函数值。XQ,YQ,ZQ包含查询点的坐标。

VQ= interp3 (V,XQ,YQ ZQ)假设一个默认的样本点网格。默认的网格点覆盖该区域,X = 1: n,Y = 1: m,Z = 1: p,其中[M,N,P] =尺寸(V)。当您希望节省内存并且不关心点之间的绝对距离时,请使用此语法。

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

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

例子

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

例子

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

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

  • 的外推值“花”'makima'方法

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

例子

全部折叠

加载流函数的点和值,在每个维度的10个点采样。

[X,Y,Z,V] =流(10);

函数返回数组中的网格,X,Y,Z。网格覆盖了整个地区, 0 1 X 1 0 , - 3. Y 3. , - 3. Z 3. ,间距是 Δ X = 0 5 , Δ Y = 0 7 , Δ Z = 0 7

现在,通过样本的体积绘制切片:X = 6,X = 9,Y = 2,Z = 0

图片(X,Y,Z,V,[6 9],2,0);阴影平面

创建具有0.25间隔的查询网格。

[Xq, Yq Zq] = meshgrid (。1: .25:10, 3: .25:3, 3: .25:3);

在查询网格中的点上进行插值,并使用相同的片平面绘制结果。

Vq = interp3 (X, Y, Z, V, Xq Yq, Zq);图块(Xq, Yq Zq、Vq 9 [6], 2 0);阴影平面

加载流函数的点和值,在每个维度的10个点采样。

[X,Y,Z,V] =流(10);

函数返回数组中的网格,X,Y,Z。网格覆盖了整个地区, 0 1 X 1 0 , - 3. Y 3. , - 3. Z 3. ,间距是 Δ X = 0 5 , Δ Y = 0 7 , Δ Z = 0 7

通过样本的体积绘制切片在:X = 6,X = 9,Y = 2,Z = 0

图片(X,Y,Z,V,[6 9],2,0);阴影平面

创建具有0.25间隔的查询网格。

[Xq, Yq Zq] = meshgrid (。1: .25:10, 3: .25:3, 3: .25:3);

属性在查询网格中的点上插入'立方体'插值方法。然后把结果画出来。

Vq = interp3 (X, Y, Z, V, Xq Yq, Zq、'立方体');图块(Xq, Yq Zq、Vq 9 [6], 2 0);阴影平面

创建网格载体,x,y,z。这些向量定义与中的值相关的点V

x = 1:10 0;y = (1:50) ';z = 1小时30分;

将样本值定义为一个50×100×30的随机数数组,V。使用画廊函数创建数组。

V =画廊(“uniformdata”,50,100,30,0);

评估V在定义域外的三个点x,y,z。指定extrapval = 1

xq = [0 0 0];yq = [0 0 51];zq = [0 101 102];vq = interp3 (x, y, z, V, xq yq, zq、“线性”,-1)
vq =1×3-1 -1 -1

所有这三点都可以衡量1因为它们不在的范围内x,y,z

输入参数

全部折叠

示例网格点,指定为实数组或向量。示例网格点必须是唯一的。

  • 如果X,Y,Z是数组,则它们含有的坐标全网格(meshgrid格式)。使用meshgrid函数来创建X,Y,Z一起阵列。这些数组必须是相同的大小。

  • 如果X,Y,Z向量,它们被当作a网格矢量。这些向量的值必须是严格单调,无论是增加或减少。

请注意

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

例:[X, Y, Z] = meshgrid (1:30, 10:10 1:5)

数据类型:|

样本值,指定为实数或复数阵列。对于尺寸要求V取决于大小X,Y,Z:

  • 如果X,Y,Z数组是否表示一个完整的网格(在meshgrid格式),则尺寸V匹配X,Y,或Z

  • 如果X,Y,Z那么,网格是向量吗大小(V)= [长度(Y)的长度(X)的长度(Z)]

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

例:兰特(10,10,10)

数据类型:|
复数的支持:万博1manbetx

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

  • 如果XQ,YQ,ZQ是标量,那么它们是单个查询点的坐标R3.

  • 如果XQ,YQ,ZQ向量是不同方向的吗XQ,YQ,ZQ被当作网格向量在R3.

  • 如果XQ,YQ,ZQ那么,向量的大小和方向是相同的吗XQ,YQ,ZQ被视为散点R3.

  • 如果XQ,YQ,ZQ如果数组大小相同,则它们表示由查询点组成的完整网格(在meshgrid格式)或分散点R3.

请注意

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

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

数据类型:|

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

如果k0,然后VQ等于V

interp3 (V, 1)等于interp3 (V)

下面的插图描述了k = 2在一个平面上R3.。有在红72个内插的值,并在黑9的采样值。

例:interp3 (V, 2)

数据类型:|

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

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

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

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

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

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

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

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

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

  • 产生的波动比“花”

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

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

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

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

例:5

例:5 + 1I

数据类型:|
复数的支持:万博1manbetx

输出参数

全部折叠

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

语法 特殊的条件 矢量的大小 例子
interp3 (X, Y, Z, V, Xq, Yq, Zq)
interp3 (V, Xq, Yq Zq)
这些语法的变体包括方法extrapval
XQ,YQ,ZQ是标量。 纯量 size(Vq) = [11]当你通过XQ,YQ,ZQ标量。
同上 XQ,YQ,ZQ具有相同的大小和方向的矢量。 相同大小和方向的向量XQ,YQ,ZQ 如果size(Xq) = [100 1],
大小(Y染色体长臂)= [100 1],
size(Zq) = [100 1],
然后size(Vq) = [100 1]
同上 XQ,YQ,ZQ为混合方向的向量。 size(Vq) =[长度(Y)长度(X)长度(Z)] 如果size(Xq) = [1 100],
size(Yq) = [50 1],
size(Zq) = [15],
然后size(Vq) = [50 100 5]
同上 XQ,YQ,ZQ是相同大小的数组。 的大小相同的排列XQ,YQ,ZQ 如果大小(Xq) = [50 25],
大小(Y染色体长臂)= [50 25],
大小(ZQ)= [50 25],
然后大小(VQ)= [50 25]
interp3 (V, k)
该语法的和变化包括方法extrapval
没有

阵列,其中的长度个尺寸为
2 ^ k *(大小(V, i) 1) + 1

如果size(V) = [10 12 5],
k = 3,
然后大小(VQ)= [73 89 33]

更多关于

全部折叠

严格单调

一组总是递增或递减的值,不可逆。例如,这个序列,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格式)

interp3,一个完整的网格由三个阵列,其元素代表点的网格,在限定的区域的R3.。第一个数组包含x-坐标,第二个数组包含y,而第三个数组包含z坐标 - 。每个阵列中的值沿着单一维度上变化,并且沿其他尺寸恒定。

的值x也参与是严格单调,增加,并沿第2维变化。的值y-数组是严格单调的,递增的,并沿一维变化。的值z- 阵列是严格单调,增加,以及沿第三维变化。使用meshgrid函数创建可传递到的完整网格interp3

网格向量

interp3,网格载体由混合取向的三个矢量,关于在网格定义的点的R3.

例如,下面的代码创建的区域中,1网格向量≤x≤3,4≤y≤5,6≤z≤8:

X = 1:3;Y =(4:5)';Z = 6:8;

散点

interp3,离散点由三个数组或向量组成,XQ,YQ,ZQ,定义散在的点的集合R3.。第i个数组包含第i个维度的坐标。

例如,下面的代码指定点(1、19、10)、(6、40、1)、(15、33、22)和(0、61、13)。

Xq = [16];15 0];Yq = [19 40];33 61);Zq = [10 1];22日13];

扩展功能

之前介绍过的R2006a