主要内容

scatteredInterpolant

插入2 d或3 d分散数据

描述

使用scatteredInterpolant在二维或三维数据集进行插值分散的数据scatteredInterpolant返回interpolantF对于给定的数据集,可以评估F在一组查询点,等(yq xq)在二维插值vq = F (xq yq)

使用griddedInterpolant进行插值,网格数据

创建

描述

F= scatteredInterpolant创建一个空分散数据interpolant对象。

例子

F= scatteredInterpolant (xgydF4y2Ba,ygydF4y2Ba,v)创建一个interpolant适合的表面形式v=F(xgydF4y2Ba,ygydF4y2Ba)。向量xgydF4y2BaygydF4y2Ba指定(x, y)采样点的坐标。v是一个向量,其中包含相关的样本值点(x, y)

例子

F= scatteredInterpolant (xgydF4y2Ba,ygydF4y2Ba,z,v)创建一个3 d interpolant的形式v=F(xgydF4y2Ba,ygydF4y2Ba,z)。

例子

F= scatteredInterpolant (P,v)指定采样点的坐标数组。的行P包含(xgydF4y2Ba,ygydF4y2Ba)或(xgydF4y2Ba,ygydF4y2Ba,z)坐标中的值v

例子

F= scatteredInterpolant (___,方法)指定一个插值方法:“最近的”,“线性”,或“天然”。指定方法作为最后一个输入参数的前三个语法。

例子

F= scatteredInterpolant (___,方法,ExtrapolationMethod)指定的内插和外推方法。通过方法ExtrapolationMethod在最后两个输入参数的前三个语法。

  • 方法可以是:“最近的”,“线性”,或“天然”

  • ExtrapolationMethod可以是:“最近的”,“线性”,或“没有”

输入参数

全部展开

采样点,指定为向量的大小一样v。采样点应是唯一的。然而,如果采样点有重复,scatteredInterpolant显示一个警告和合并复制成一个单一的点。

数据类型:

采样点数组,指定为一个——- - - - - -n矩阵,分和的数量吗n的维度空间点所在。每一行的P包含(xgydF4y2Ba,ygydF4y2Ba)或(xgydF4y2Ba,ygydF4y2Ba,z样本点的坐标。采样点应是唯一的。然而,如果采样点有重复,scatteredInterpolant显示一个警告和合并复制成一个单一的点。

数据类型:

样本值,指定为一个向量,定义了函数值的采样点,v=F(xgydF4y2Ba,ygydF4y2Ba,z)

scatteredInterpolant不忽略v,所以这些采样点附近的插值结果

数据类型:

插值方法,指定这些选项之一。

方法 描述 连续性
“线性”(默认)

线性插值

C0
“最近的”

最近邻插值

不连续
“天然”

自然相邻插值

C1(在采样点除外)

外推方法,指定这些选项之一。

ExtrapolationMethod 描述
“线性”

基于边界梯度的线性外推法。默认时方法“线性”“天然”

“最近的”

最近邻的推断。这种方法计算最近邻的价值。默认时方法“最近的”

“没有”

没有外推。凸包外的任何查询返回

属性

全部展开

采样点,指定为一个矩阵。矩阵的大小——- - - - - -2——- - - - - -3代表点在二维或三维空间。每一行的包含(xgydF4y2Ba,ygydF4y2Ba)或(xgydF4y2Ba,ygydF4y2Ba,z一个独特的样本点的坐标。的行对应的函数值

数据类型:

在采样点函数值,指定为一个向量与每个点相关联的值

scatteredInterpolant不忽略,所以这些采样点附近的插值结果

数据类型:

插值方法,指定为“线性”,“最近的”,或“天然”。看到方法这些方法的描述。

外推方法,指定为“最近的”,“线性”,或“没有”。看到ExtrapolationMethod这些方法的描述。

数据类型:

使用

描述

使用scatteredInterpolant创建interpolant,F。然后你可以评估F在特定使用下列语法点:

Vq = F (Pq)指定查询点的矩阵魁人党。在每一行魁人党包含一个查询点的坐标。

Vq = F (Xq Yq)Vq = F (Xq, Yq Zq)指定查询点作为两个或三个同等大小的矩阵。

Vq = F ({xq, yq})Vq = F ({xq, yq zq})指定查询点网格向量。使用这个语法来节省内存当你想查询一大网格点。

例子

全部折叠

定义一些采样点并计算三角函数的价值在这些位置。这些点是interpolant的样本值。

t = linspace(3/4 *π,2 *π,50)';x = [3 * cos (t);2 * cos (t);0.7 * cost);y = [3 * sin (t);2 * sin (t);0.7 * sin (t)];v = repelem ([-0.5;1.5;2)、长度(t));

创建interpolant。

F = scatteredInterpolant (x, y, v);

评估interpolant查询地点(xq,yq)。

tq = linspace (3/4 * pi + 0.2, 2 *π- 0.2,40)';xq = (2.8 * cos (tq操作);1.7 * cos (tq操作);因为(tq)];yq = (2.8 * sin (tq操作);1.7 * sin (tq操作);sin (tq)];vq = F (xq, yq);

策划的结果。

plot3 (x, y, v,“。”xq yq,矢量量化,“。”)、网格标题(线性插值的)包含(“x”),ylabel (“y”),zlabel (“值”)传说(样本数据的,“插入查询数据”,“位置”,“最佳”)

图包含一个坐标轴对象。坐标轴对象标题线性插值,包含x, y ylabel包含2线类型的对象。一个或多个行显示的值只使用这些对象标记表示样本数据,插入查询数据。

为一组创建一个interpolant分散抽样点,然后在一组三维评估interpolant查询点。

三角函数定义200个随机点和示例。这些点是interpolant的样本值。

rng默认的;P = -2.5 + 5 *兰德(200 [3]);v =罪(P (: 1)。^ 2 +(:,2页)。^ 2 + P (: 3)。^ 2)。/ (P (: 1)。^ 2 + P (:, 2) ^ 2 + P (:, 3)。^ 2);

创建interpolant。

F = scatteredInterpolant (P, v);

评估interpolant查询地点(xq,yq,的zq)。

[xq, yq zq] = meshgrid (2:0.25:2);vq = F (xq, yq zq);

剧情片结果。

xslice =(闲置,1 2);yslice = (0, 2);zslice = (2,0);片(xq, yq zq、vq xslice, yslice, zslice)

图包含一个坐标轴对象。坐标轴对象包含7表面类型的对象。

替换的元素属性,当你想改变采样点的值。你得到立即的结果评估新的interpolant因为原三角不会改变。

创建50个随机点和一个指数函数示例。这些点是interpolant的样本值。

rng (“默认”)x = -2.5 + 5 *兰德(50 [1]);50 y = -2.5 + 5 *兰德([1]);v = x。* exp (- x ^ 2 y ^ 2);

创建interpolant。

F = scatteredInterpolant (x, y, v)
与属性:F = scatteredInterpolant分:[50 x2双]值:[50 x1双]方法:“线性”ExtrapolationMethod:“线性”

评估interpolant在(1.40,1.90)

F (1.40, 1.90)
ans = 0.0069

改变interpolant样本值,评估interpolant在同一点。

vnew = x。^ 2 + y ^ 2;F。Values = vnew; F(1.40,1.90)
ans = 5.6491

使用groupsummary消除重复采样点和控制如何结合之前调用scatteredInterpolant

创建一个200 -,- 3矩阵的样本点的位置。添加重复的点在过去五行。

P = -2.5 + 5 *兰德(200 3);P (197:200:) = repmat (P(196年:),4,1);

创建一个向量随机值的采样点。

V =兰德(大小(P, 1), 1);

如果您尝试使用scatteredInterpolant重复采样点,它会抛出一个警告和平均中相应的值V产生一个独特的观点。不过,您可以使用groupsummary消除重复的点创建interpolant之前。这是特别有用如果你想结合重复点平均以外的使用方法。

使用groupsummary消除重复采样点和保护的最大价值V在复样点的位置。指定采样点矩阵作为分组变量和相应的值作为数据。

[V_unique, P_unique] = groupsummary (V, P, @max);

由于分组变量有三列,groupsummary返回独特的群体P_unique作为一个单元阵列。细胞数组转换成一个矩阵。

P_unique = [P_unique {}):;

创建interpolant。由于采样点是独特的,scatteredInterpolant不把一个警告。

我= scatteredInterpolant (P_unique V_unique);

比较的结果提供了几种不同的插值算法scatteredInterpolant

创建一个示例数据集50分散点。点的数量是人为小强调插值方法之间的差异。

x = 3 + 6 *兰德(50,1);y = 3 + 6 *兰德(50,1);v = sin (x)。^ 4。* cos (y);

创建的interpolant和网格查询点。

F = scatteredInterpolant (x, y, v);[xq, yq] = meshgrid (3:0.1:3);

结果使用“最近的”,“线性”,“天然”方法。每次插补方法发生变化时,需要重新查询interpolant得到更新后的结果。

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

图包含一个坐标轴对象。坐标轴对象2标题最近邻包含对象类型的线,表面。一个或多个行显示的值只使用这些对象标记代表采样点,插值结果。

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

图包含一个坐标轴对象。坐标轴对象2标题线性包含对象类型的线,表面。一个或多个行显示的值只使用这些对象标记代表采样点,插值结果。

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

图包含一个坐标轴对象。坐标轴对象自然邻居标题包含2线类型的对象,表面。一个或多个行显示的值只使用这些对象标记代表采样点,插值结果。

绘制精确解。

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

图包含一个坐标轴对象。坐标轴对象2标题精确解包含对象类型的线,表面。一个或多个行显示的值只使用这些对象标记代表采样点,准确的表面。

查询一个interpolant单点凸包外使用最近邻的推断。

定义一个矩阵的200个随机点和一个指数函数示例。这些点是interpolant的样本值。

rng (“默认”)P = -2.5 + 5 *兰德(200 [2]);x = P (: 1);y = P (:, 2);v = x。* exp (- x ^ 2 y ^ 2);

创建interpolant,指定线性插值和最近邻的推断。

F = scatteredInterpolant (P, v,“线性”,“最近的”)
F = scatteredInterpolant属性:点:[200 x2双]价值观:[200 x1双]方法:“线性”ExtrapolationMethod:“最近”

评估interpolant外凸包。

vq = F (3.0, -1.5)
vq = 0.0029

禁用外推和评估F在同一点。

F。ExtrapolationMethod =“没有”;vq = F (3.0, -1.5)
vq =南

更多关于

全部展开

提示

  • 它是更快地评估scatteredInterpolant对象F在许多不同的查询点比计算插入单独使用功能griddatagriddatan。例如:

    %快速创建多次interpolant F和评估F = scatteredInterpolant (X, Y, V) v1 = F (Xq1 Yq1) v2 = F (Xq2 Yq2)%计算分别插入使用griddata慢v1 = griddata (X, Y, V, Xq1 Yq1) v2 = griddata (X, Y, V, Xq2 Yq2)
  • 改变或插值方法插值样本值,它是更有效的更新interpolant对象的属性F而不是创建一个新的scatteredInterpolant对象。当你更新方法,底层的德劳内三角的输入数据不会改变,所以你可以很快计算新结果。

  • 分散的数据插值scatteredInterpolant使用德劳内三角测量的数据,所以可以敏感的采样点的扩展问题xgydF4y2Ba,ygydF4y2Ba,z,或P。当这种情况发生时,您可以使用正常化重新调节数据和改善结果。看到规范化数据与不同的大小为更多的信息。

算法

scatteredInterpolant使用分散的德劳内三角测量采样点进行插值[1]

引用

[1]Amidror,艾萨克。散射电子成像系统数据插值方法:调查。”电子杂志的成像。2号卷。11日,2002年4月,第157 - 176页。

扩展功能

版本历史

介绍了R2013a