主要内容

interp3.

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

描述

例子

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

VQ.= interp3 (VXQ,YQ,ZQ假设有一个默认的样本点网格。默认网格点覆盖该区域,X = 1: nY = 1: mZ = 1: p,在哪里[m,n,p] =尺寸(v).当您希望节省内存并且不关心点之间的绝对距离时,请使用此语法。

VQ.= interp3 (V通过将样本值与每个维度之间的间隔划分一次形成的细化网格上的内插值。

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

例子

VQ.= interp3 (___方法指定另一种插值方法:“线性”'最近''立方''makima',或'样条曲线'.默认方法是“线性”

例子

VQ.= interp3 (___方法extrapval还指定了extrapval,这是一个标量值,分配给位于样本点域之外的所有查询。

如果省略extrapval参数用于示例点域外的查询,然后基于方法争论interp3.返回下列任意一个:

  • 的外推值'样条曲线''makima'方法

  • 其他插值方法的值

例子

全部折叠

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

[x,y,z,v] =流量(10);

函数返回数组中的网格,XYZ.网格覆盖了这个区域, 0 1 X 1 0 - 3. Y 3. - 3. Z 3. ,间距为 δ. X 0 5 δ. Y 0 7 , δ. Z 0 7

现在,plot切片通过样本的体积在:X = 6X = 9Y = 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);

函数返回数组中的网格,XYZ.网格覆盖了这个区域, 0 1 X 1 0 - 3. Y 3. - 3. Z 3. ,间距为 δ. X 0 5 δ. Y 0 7 , δ. Z 0 7

通过样本的体积绘制切片:X = 6X = 9Y = 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);阴影

创建网格向量,xy,z.这些向量定义了与内值相关的点V

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

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

RNG('默认') V = rand(50,100,30);

评估V在域外的三个点xy,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因为它们不在。的范围之内xy,z

输入参数

全部折叠

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

  • 如果XY,Z是阵列,然后它们包含一个坐标全网格(meshgrid格式).使用meshgrid创建的功能XY,Z阵列在一起。这些阵列必须具有相同的大小。

  • 如果XY,Z是向量,那么它们被视为a网格向量.这些向量的值一定是严格单调,要么增加或减少。

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

数据类型:|双人间

示例值,指定为真实或复杂的数组。尺寸要求V取决于尺寸XY,Z

  • 如果XY,Z数组是否代表一个完整的网格(在meshgrid格式),那么大小V匹配的大小XY,或Z

  • 如果XY,Z是网格向量吗尺寸(v)= [长度(y)长度(x)长度(z)]

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

示例:兰特(10,10,10)

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

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

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

  • 如果XQ.YQ.,ZQ.是不同方向的向量吗XQ.YQ.,ZQ.R3.

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

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

示例:[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..红色和9个黑色样本值中有72个内插值。

示例:interp3 (V, 2)

数据类型:|双人间

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

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

  • 需要更多的记忆'最近'

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

  • 最快的计算,具有适度的内存要求

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

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

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

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

  • 产生的波动比'样条曲线'

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

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

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

域中的函数值XY,Z,指定为实标量或复标量。interp3.返回此常量值的域外的所有点XY,Z

示例:5

示例:5 + 1i

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

输出参数

全部折叠

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

语法 特殊条件 矢量的大小 例子
interp3 (X, Y, Z, V, Xq, Yq, Zq)
interp3 (V, Xq, Yq Zq)
这些语法的变体包括方法extrapval
XQ.YQ.,ZQ.是标量。 标量子 size(Vq) = [1 1]当你通过XQ.YQ.,ZQ.标量。
同上 XQ.YQ.,ZQ.是相同大小和方向的矢量。 大小和方向相同的向量XQ.YQ.,ZQ. 如果大小(Xq) = [100 1]
尺寸(yq)= [100 1]
尺寸(Zq) = [100 1]
然后尺寸(Vq) = [100 1]
同上 XQ.YQ.,ZQ.是混合方向的向量。 size(Vq) = [length(Y) length(X) length(Z)] 如果尺寸(Xq) = [1 100]
大小(Yq) = [50 1]
尺寸(Zq) = [1 5]
然后尺寸(Vq) = [50 100 5]
同上 XQ.YQ.,ZQ.是相同大小的数组。 尺寸与XQ.YQ.,ZQ. 如果尺寸(Xq) = [50 25]
尺寸(yq)= [50 25]
尺寸(zq)= [50 25]
然后尺寸(Vq)= [50 25]
interp3 (V, k)
和这种语法的变化包括方法extrapval
没有

数组,其中的长度尺寸是
2 ^ k *(大小(V, i) 1) + 1

如果大小(V) = [10 12 5]
k = 3
然后尺寸(Vq)= [73 89 33]

更多关于

全部折叠

严格单调

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

完整网格(以网格格格格式)

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

的值x也参与是严格单调,增加,并沿第二次维度变化。的值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 6;15 0];Yq = [19 40;33 61);Zq = [10 1;22日13];

扩展功能

之前介绍过的R2006a