一维、二维与多维插值

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一维、二维与多维插值

插值就是已知一组离散的数据点集,在集合内部某两个点之间预测函数值的方法。

一、一维插值

插值运算是根据数据的分布规律,找到一个函数表达式可以连接已知的各点,并用此函数表达式预测两点之间任意位置上的函数值。

插值运算在信号处理和图像处理领域应用十分广泛。

1.一维插值函数的使用

若已知的数据集是平面上的一组离散点集(x,y),则其相应的插值就是一维插值。MATLAB中一维插值函数是interp1。

y=interp([x,]y,xi,[method],['extrap'],[extrapval]),[]代表可选。

method:'nearest','linear','spline','pchip','cubic','v5cubic'。

此m文件运行结果:放大π/2处:

2.内插运算与外插运算

(1)只对已知数据点集内部的点进行的插值运算称为内插,可比较准确的估测插值点上的函数值。

(2)当插值点落在已知数据集的外部时的插值称为外插,要估计外插函数值很难。

MATLAB对已知数据集外部点上函数值的预测都返回NaN,但可通过为interp1函数添加'extrap'参数指明也用于外插。

MATLAB的外插结果偏差较大。

二、二维插值

已知点集在三维空间中的点的插值就二维插值问题,在图像处理中有广泛的应用。

二维插值函数是interp2,用法与一维插值函数interp1类似。

ZI=interp2(X, Y, Z, XI, YI, method, extrapval):在已知的(X,Y,Z)三维栅格点数据上,在(XI, YI)这些点上用method指定的方法估计函数值,外插使用'extrapval'。

二维插值中已知数据点集(X, Y)必须是栅格格式,一般用meshgrid函数产生。interp2要求(X, Y)必须是严格单调的并且是等间距的,如果(X, Y)不是等间距的,会将且变换为等间距形式,如果已知是等间距的,可在method参数前加星号,如果:'*cubic'。

运行结果:

三、多维插值

1.interp3

三维插值,VI=interp3(X,Y, Z, V, XI, YI, ZI, method),用法同二维插值interp2。

2.n维插值

VI=interpn(X1, X2, X3…, V, Y1, Y2, Y3,…, method),用法同二维插值interp2。

3.ndgrid

产生n维空间上的栅格。

[X1, X2, X3, …]=ndg rid(x1, x2, x3, …)

相关文档
最新文档