一维、二维与多维插值

转自:http://hi.baidu.com/%CD%EE%CE%F7%D1%A7%D4%BA%D6%DC%D3%EE/blog/item/4a154c093116e6a92fddd445.html

 

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

一、一维插值

    插值运算是根据数据的分布规律,找到一个函数表达式可以连接已知的各点,并用此函数表达式预测两点之间任意位置上的函数值。
    插值运算在信号处理和图像处理领域应用十分广泛。

1.一维插值函数的使用

    若已知的数据集是平面上的一组离散点集(x,y),则其相应的插值就是一维插值。MATLAB中一维插值函数是interp1。
    y=interp([x,]y,xi,[method],['extrap'],[extrapval]),[]代表可选。
    method:'nearest','linear','spline','pchip','cubic','v5cubic'。


[0102.3]一维、二维与多维插值



此m文件运行结果:

 

[0102.3]一维、二维与多维插值


放大π/2处:

 

[0102.3]一维、二维与多维插值


2.内插运算与外插运算

    (1)只对已知数据点集内部的点进行的插值运算称为内插,可比较准确的估测插值点上的函数值。
    (2)当插值点落在已知数据集的外部时的插值称为外插,要估计外插函数值很难。
    MATLAB对已知数据集外部点上函数值的预测都返回NaN,但可通过为interp1函数添加'extrap'参数指明也用于外插。
    MATLAB的外插结果偏差较大。

 

二、二维插值

    已知点集在三维空间中的点的插值就二维插值问题,在图像处理中有广泛的应用。
    二维插值函数是interp2,用法与一维插值函数interp1类似。
    ZI=interp2(XYZXIYI, method, extrapval):在已知的(X,Y,Z)三维栅格点数据上,在(XIYI)这些点上用method指定的方法估计函数值,外插使用'extrapval'。

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

 

 

运行结果:

[0102.3]一维、二维与多维插值


三、多维插值
1.interp3

    三维插值,VI=interp3(X,YZVXIYIZI, method),用法同二维插值interp2。

2.n维插值

    VI=interpn(X1X2X3…VY1Y2Y3,, method),用法同二维插值interp2。

3.ndgrid

    产生n维空间上的栅格。

    [X1X2X3, …]=ndgrid(x1x2x3, …)

 
本文出处

[1] 王正林,刘明.精通Matlab 7[M].北京:电子工业出版社,2006,P205~P214

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值