资源描述:
《【matlab应用 – 数据插值】一维、二维与多维插值》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、插值就是已知一组离散的数据点集,在集合内部某两个点之间预测函数值的方法。一、一维插值 插值运算是根据数据的分布规律,找到一个函数表达式可以连接已知的各点,并用此函数表达式预测两点之间任意位置上的函数值。 插值运算在信号处理和图像处理领域应用十分广泛。1.一维插值函数的使用 若已知的数据集是平面上的一组离散点集(x,y),则其相应的插值就是一维插值。MATLAB中一维插值函数是interp1。 y=interp([x,]y,xi,[method],['extrap'],[extrapval]),[]代表可选。 method:'neare
2、st','linear','spline','pchip','cubic','v5cubic'。此m文件运行结果:放大π/2处:2.内插运算与外插运算 (1)只对已知数据点集内部的点进行的插值运算称为内插,可比较准确的估测插值点上的函数值。 (2)当插值点落在已知数据集的外部时的插值称为外插,要估计外插函数值很难。 MATLAB对已知数据集外部点上函数值的预测都返回NaN,但可通过为interp1函数添加'extrap'参数指明也用于外插。 MATLAB的外插结果偏差较大。二、二维插值 已知点集在三维空间中的点的插值就二维插值问题,在
3、图像处理中有广泛的应用。 二维插值函数是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参数前加
4、星号,如果:'*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,…]=ndgrid(x1,x2,x3,…)四、疑问 在图像处理上有怎样的应用呢?尺寸放大吗? 能否在图像压缩中应用插值呢?