scatteredInterpolant
对二维或三维散点数据插值
说明
使用 scatteredInterpolant
对散点数据的二维或三维数据集执行插值。scatteredInterpolant
返回给定数据集的插值 F
。您可以计算一组查询点(例如二维 (xq,yq)
)处的 F
值,以得出插入的值 vq = F(xq,yq)
。
使用 griddedInterpolant
对网格数据执行插值。
创建对象
语法
描述
创建一个空的散点数据插值对象。F
= scatteredInterpolant
在前三个语法中的任意一个中指定插值方法 F
= scatteredInterpolant(___,Method
)'nearest'
、'linear'
或 'natural'
作为最后一个输入参量。
指定内插和外插方法。在前三个语法的任意一个中同时传递 F
= scatteredInterpolant(___,Method
,ExtrapolationMethod
)Method
和 ExtrapolationMethod
作为最后两个输入参量。
输入参量
属性
用途
描述
使用 scatteredInterpolant
创建插值 F
。然后,您可以使用以下任何语法在特定点处计算 F
。
Vq = F(Pq)
在矩阵 Pq
中的查询点处对 F
求值。Pq
中的每行都包含查询点的坐标。
Vq = F(Xq,Yq)
和 Vq = F(Xq,Yq,Zq)
将查询点指定为两个或三个大小相等的数组。F
将查询点视为列向量,例如,Xq(:)
。
如果
F
的Values
属性是表示样本点处的一组值的列向量,则Vq
与查询点的大小相同。如果
F
的Values
属性是表示样本点处多组值的矩阵,则Vq
是矩阵,每列表示查询点处不同的一组值。
示例
详细信息
提示
计算多组不同查询点处的
scatteredInterpolant
对象F
的值比使用函数griddata
或griddatan
单独计算插值的速度更快。例如:% Fast to create interpolant F and evaluate multiple times F = scatteredInterpolant(X,Y,V) v1 = F(Xq1,Yq1) v2 = F(Xq2,Yq2) % Slower to compute interpolations separately using griddata v1 = griddata(X,Y,V,Xq1,Yq1) v2 = griddata(X,Y,V,Xq2,Yq2)
要更改插值样本值或插值方法,更新插值对象
F
的属性比创建新scatteredInterpolant
对象的效率更高。当您更新Values
或Method
时,输入数据的基础德劳内三角剖分不会更改,因此您可以快速计算新结果。使用
scatteredInterpolant
进行的散点数据插值使用数据的德劳内三角剖分,因此插值对样本点x
、y
、z
或P
中的缩放问题非常敏感。出现缩放问题时,您可以使用normalize
重新缩放数据并改进结果。有关详细信息,请参阅对不同量级的数据进行归一化。
算法
scatteredInterpolant
使用散点样本点的德劳内三角剖分执行插值 [1]。
参考
[1] Amidror, Isaac. “Scattered data interpolation methods for electronic imaging systems: a survey.” Journal of Electronic Imaging. Vol. 11, No. 2, April 2002, pp. 157–176.
扩展功能
版本历史记录
在 R2013a 中推出另请参阅
griddedInterpolant
| griddata
| griddatan
| ndgrid
| meshgrid