基于MATLAB的插值应用

时间:2022-10-17 05:55:54

基于MATLAB的插值应用

摘要: 本文论述了Matlab的一些插值应用,通过对插值的理解以及对一维插值和二维插值应用展示,进一步说明插值的重要性。

Abstract: This article discusses some simple interpolation applications based on Matlab, through the understanding for interpolation and some simple examples for unidimensional interpolation and two-dimensional interpolation, explains the importance of interpolation.

关键词: Matlab;插值;一维插值;二维插值;

Key words: Matlab;interpolation;unidimensional interpolation;two-dimensional interpolation

中图分类号:TP393文献标识码:A文章编号:1006-4311(2011)16-0173-02

作者简介:刀学龙(1978-),男,云南新平人,硕士,讲师,主要从事通信网络的研究和教学。

0 引言

Matlab在数值计算方面有广泛的用途,尤其对于数学模型的建立有很大的帮助。用Matlab的一些功能阐述数据插值的应用。在绘制图像及数据处理时,插值的地位越来越重要。

1 插值

1.1 函数的插值:设已知函数f(x)在一组自变量f{x1,x2,x3,…,xn}处的函数值为f{y1,y2,…,yn},则通过这些已知点来求其它点上的函数值的方法。

1.2 通过插值计算使数据变为离散的点以便能获得更具体的数据信息。

1.3 插值的思路为L在1个大于或者等于、并且一定包含待插值的区域内,先利用已知数值的点,按照一定坐标次序,在各个坐标方向下进行一维线性插值,包括内插值和外插值。

1.4 为使数据更平滑、更能具体体现所要的具体点,可以运用插值计算。插值计算一般有一维插值与二维插值构成。一维插值是在线的方向上对数值点进行插值,二维插值则是在面的方向上进行插值。例如:在绘制二维曲线的时候,往往利用一维插值从少量数据中获得足够的信息对二维图形进行描点,在绘制三维曲线的时候,需要对两个方向的数据进行插值获得其它点的信息。

1.5 插值有内插和外插之分,其中内插是只对一些已知的数据点的内部的点进行的插值,可比较准确的估测插值点上的函数值。而外插是插值点落在已知数据点的外部进行插值。同时,外插的结果偏差大。

2 一维插值(interp1)

2.1 函数的插值运算采用一维插值函数interp1即y1=interp1(x,y,x1,method)。其中,x和y两个向量分别表示给定的函数自变量序列和对应的函数值序列,x1为一组新的插入的值点,y1为对应x1的插值结果,而method为一维插值的算法,分别是线性插值(linear),三次方插值(cubic),样条插值(Spline)。

例如,在不同的高度水平抛出一个小球,落在不同的位置,随机抽取几个高度和对应落点的水平距离,取值如表1。

其波形如图1所示。

由图1可知,对于一维插值来说,它能将一些复杂的数据经过处理,变为容易观看的图形,比较直观的发现小球运动的规律,而不需要花费大部分时间在数据计算的那块。

2.2 利用一维插值绘制出y=sint正弦函数(二维图)并进行描点,如图2。

观察图2我们可以发现函数的波形由一些点所组成,其中,六角星为一些数据点,计算时能方便取出这些点中的部分。一维插值能够在二维图形即平面图上做一些描点,使图的重要部分显现出来。

3 二维插值(interp2)

二维插值在图像处理中被广泛应用,尤其对于在进行三维图像处理有一定的帮助。

二维插值(interp2)的用法大体与一维插值相同。可以表示为:z1=interp2(x,y,z,x1,y1,method,extrapval),在已知的(x,y,z)三维栅格点数据上,在(x1,y1)这些点上用method指定的方法估计函数值,其中'extrapval'为外插。

二维插值有meshgrid函数产生已知数据点集(x,y)的单调且等间距的栅格格式。

二维插值的时候,数据点不一定是规范的,下面利用图形来说明一下二维插值的数据点的规范的问题。

3.1 网格节点插值[1]:数据点落在同一些平行直线上所组成的矩形网格的顶点上。

假如从矩形网格上取出一些对应的点构成矩阵,利用meshgrid(x,y,t)生成矩形块,出现三维的图形,如图3。

3.2 需要对图3进行二维插值,观察插入后有什么效果及变化。

由图3与图4可知,进行二维插值后,所处的面更密集,更容易观察,使得抽象的东西具体化。显然,同是一样的数据,图3看起来感觉是整块,给人一种整体感;而图4看起来比较细腻,而且曲面感比较强,对于一些精细的工程、计算比较适合。由此可知,二维插值对于三维图形的细化有进一步的帮助。

4 总结

插值算法在生产生活中应用广泛,本文基于matlab论述了在数据处理方面的一些插值应用。另外,Matlab给我们带来了巨大的方便,尤其是插值的出现,带来了在数据等方面的巨大进步。通过插值我们可以发现图能很好的表现出我们所需要的数据。Matlab具有丰富的函数资源,编程人员能够通过使用Matlab获得一些所需要的资源,节约时间,减少编程的复杂程度。

参考文献:

[1]王斌.基于Matlab的数值计算――插值及曲线拟合[J].阴山学刊.Dec.2006.vo1.20.NO.4.

[2]吴涛,贺汉根,贺明科.基于插值的核函数构造[J].计算机学报,2003,(08).

上一篇:浅析半导体行业内企业并购动因 下一篇:如何整合中职学校《机械制图》与《极限配合与...