Matlab 中的插值

interpn(https://ww2.mathworks.cn/help/matlab/ref/interpn.html ) 一个函数打天下 详见 https://ww2.mathworks.cn/help/matlab/math/interpolating-gridded-data.html?searchHighlight=interp2&s_tid=srchtitle_interp2_2

说明 示例 Vq = interpn(X1,X2,…,Xn,V,Xq1,Xq2,…,Xqn) 使用线性插值返回 n 变量函数在特定查询点的插入值。结果始终穿过函数的原始采样。X1,X2,…,Xn 包含样本点的坐标。V 包含各样本点处的对应函数值。Xq1,Xq2,…,Xqn 包含查询点的坐标。

Vq = interpn(V,Xq1,Xq2,…,Xqn) 假定一个默认的样本点网格。默认网格的每个维度均包含点 1,2,3,…ni。ni 的值为 V 中第 i 个维度的长度。如果您希望节省内存且不在意点之间的绝对距离,则可使用此语法。

Vq = interpn(V) 将每个维度上样本值之间的间隔分割一次,形成优化网格,并在这些网格上返回插入值。

示例 Vq = interpn(V,k) 将每个维度上样本值之间的间隔反复分割 k 次,形成优化网格,并在这些网格上返回插入值。这将在样本值之间生成 2^k-1 个插值点。

示例 Vq = interpn(___,method) 指定备选插值方法:’linear’、’nearest’、‘pchip’、‘cubic’、‘makima’ 或 ‘spline’。默认方法为 ’linear’。

示例 Vq = interpn(___,method,extrapval) 还指定标量值 extrapval,此参数会为处于样本点域范围外的所有查询点赋予该标量值。

如果您为样本点域范围外的查询省略 extrapval 参数,则基于 method 参数,interpn 返回下列值之一:

对于 ‘spline’ 和 ‘makima’ 方法,返回外插值

对于其他内插方法,返回 NaN 值


100 Words|This article has been read times