主要内容

griddata

插值2-D或3-D分散数据

描述

例子

矢量量化= griddata (xyvxqyq适合窗体的表面vfxy到向量中分散的数据(x, y, v).的griddata函数在指定的查询点处插值曲面(yq xq)并返回插值值,矢量量化.曲面总是通过定义的数据点x而且y

例子

矢量量化= griddata (xyzvxqyq的zq拟合窗体的超曲面vfxyz

矢量量化= griddata (___方法指定用于计算的插值方法矢量量化使用前面语法中的任何输入参数。方法可以“线性”“最近的”“天然”“立方”,或v4的.默认方法为“线性”

XqYq矢量量化= griddata(xyvxqyq而且XqYq矢量量化= griddata(xyvxqyq方法此外返回Xq而且Yq,其中包含查询点的网格坐标。

例子

全部折叠

在查询点的统一网格上插入随机分散的数据。

在中间的200个随机点上对函数进行抽样-2.5而且2.5

rng (“默认”) xy = -2.5 + 5*rand([200 2]);X = xy(:,1);Y = xy(:,2);V = x.*exp(-x.²-y.²);

xy,v是包含分散(不均匀)样本点和数据的向量。

定义一个规则网格,并在网格上插入分散的数据。

[xq,yq] = meshgrid(-2:。2:2, 2: .2:2);Vq = griddata(x,y,v,xq,yq);

将网格化的数据绘制为网格,将分散的数据绘制为点。

网格(xq yq vq)plot3 (x, y, v,“o”xlim([-2.7 2.7])

图中包含一个轴对象。坐标轴对象包含两个类型为surface、line的对象。

插值在随机分散点采样的4-D函数的3-D切片。

以4-D函数为例 v x y z 在2500个随机点之间-1而且1.向量xy,z包含非均匀抽样点。

X = 2*兰特(2500,1)- 1;Y = 2*rand(2500,1) - 1;Z = 2*rand(2500,1) - 1;V = x.²+ y.^3 - z.^4;

定义一个规则网格xy范围[- 1,1]中的点,并设置 z 0 .在这个二维查询点的网格上进行插值(xq yq 0)生成一个三维插值切片(vq xq yq 0)4-D数据集的(x, y, z, v)

D = -1:0.05:1;[xq,yq,zq] = meshgrid(d,d,0);

插值网格上的零散数据。画出结果。

Vq = griddata(x,y,z,v,xq,yq,zq);plot3 (x, y, v,“罗”)举行冲浪(xq yq vq)

图中包含一个轴对象。axis对象包含line、surface类型的2个对象。

比较几种不同的插值算法的结果griddata

创建一个包含50个分散点的样本数据集。点的数量人为地很小,以突出插补方法之间的差异。

X = -3 + 6*rand(50,1);Y = -3 + 6*rand(50,1);V = sinx。^4 .* cos(y);

创建一个查询点网格。

[xq,yq] = meshgrid(-3:0.1:3);

控件对样例数据进行插值“最近的”“线性”“天然”,“立方”方法。将结果绘制成图进行比较。

Z1 = griddata(x,y,v,xq,yq,“最近的”);plot3 (x, y, v,“莫”)举行网格(xq, yq z1)标题(“最近邻”)传说(采样点的插值结果的“位置”“西北”

图中包含一个轴对象。标题为“最近邻”的axis对象包含line、surface类型的2个对象。这些对象代表样本点,插值曲面。

Z2 = griddata(x,y,v,xq,yq,“线性”);图plot3 (x, y, v,“莫”)举行网格(xq, yq z2)标题(“线性”)传说(采样点的插值结果的“位置”“西北”

图中包含一个轴对象。标题为Linear的axis对象包含2个类型为line、surface的对象。这些对象代表样本点,插值曲面。

Z3 = griddata(x,y,v,xq,yq,“天然”);图plot3 (x, y, v,“莫”)举行网格(xq yq z3)标题(“天然的邻居”)传说(采样点的插值结果的“位置”“西北”

图中包含一个轴对象。标题为“自然邻居”的axis对象包含line、surface类型的2个对象。这些对象代表样本点,插值曲面。

Z4 = griddata(x,y,v,xq,yq,“立方”);图plot3 (x, y, v,“莫”)举行网格(xq yq z4)标题(“立方”)传说(采样点的插值结果的“位置”“西北”

图中包含一个轴对象。题目为Cubic的坐标轴对象包含两个类型为line、surface的对象。这些对象代表样本点,插值曲面。

画出精确的解。

图plot3 (x, y, v,“莫”)举行网格(xq yq,罪(xq)。^4 .* cos(yq))精确解的)传说(采样点的准确的表面的“位置”“西北”

图中包含一个轴对象。标题为Exact Solution的axis对象包含两个类型为line、surface的对象。这些对象代表样本点,精确曲面。

输入参数

全部折叠

样本点坐标,用向量表示。中对应的元素xy,z指定xyz样本值所在点的坐标v是已知的。样本点必须是唯一的。

数据类型:|

样本值,指定为一个向量。的样本值v对应于中的样本点xy,z

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

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

查询点,指定为向量或数组。向量或数组中的相应元素指定xyz查询点的坐标。查询点是griddata进行插值。

  • 如果要传递查询点网格,则指定数组。使用ndgridmeshgrid构造数组。

  • 如果要传递散点的集合,请指定向量。

指定的查询点必须位于样本数据点的凸包内。griddata返回对于凸包之外的查询点。

数据类型:|

插值方法,指定为本表中的方法之一。

方法 描述 连续性
“线性” 基于三角形的线性插值(默认),支持2-D和3-D插值。万博1manbetx C0
“最近的” 基于三角剖分的最近邻插值,支持二维和三维插值。万博1manbetx 不连续
“天然” 基于三角剖分的自然邻居插值,支持二维和三维插值。万博1manbetx这种方法在线性和三次之间进行了有效的权衡。 C1除了样本点
“立方” 基于三角的立方插值,只支持2-D插值。万博1manbetx C2
v4的

双谐样条插值(MATLAB®4griddata方法)只支持2-万博1manbetxD插值。与其他方法不同,这种插值不是基于三角测量。

C2

数据类型:字符

输出参数

全部折叠

内插值,作为向量或数组返回。的大小矢量量化取决于查询点输入的大小xqyq,的zq

  • 对于2-D插值,其中xq而且yq指定一个——- - - - - -n查询点网格,矢量量化是一个——- - - - - -n数组中。

  • 对于三维插值,其中xqyq,的zq指定一个——- - - - - -n——- - - - - -p查询点网格,矢量量化是一个——- - - - - -n——- - - - - -p数组中。

  • 如果xqyq(和的zq3-D插值)是指定散点的向量,则矢量量化是一个相同长度的向量。

对于所有插值方法以外v4的,输出矢量量化包含样本数据凸包之外的查询点的值。的v4的方法对所有点执行相同的计算,而不考虑位置。

查询点的网格坐标,以向量或矩阵形式返回。的形状Xq而且Yq这取决于你如何指定xq而且yq

  • 如果你指定xq作为一个行向量yq作为一个列向量griddata使用这些网格向量来形成一个完整的网格[Xq,Yq] = meshgrid(Xq,Yq).在这种情况下,Xq而且Yq输出将作为包含查询点的完整网格坐标的矩阵返回。

  • 如果xq而且yq都是行向量还是列向量Xq = Xq而且Yq = Yq

提示

  • 离散数据插值griddata使用德劳内三角测量的数据,所以可以敏感的缩放问题xy,z.当发生这种情况时,您可以使用正常化调整数据规模,改善结果。看到将不同量级的数据规范化获取更多信息。

扩展功能

版本历史

R2006a之前介绍