17世界后牛顿,拉格朗日分别讨论了等距和非等距的一般插值公式.在近代,插值法仍然是数据处理和编制函数表的常用工具,又是数值积分、数值微分、非线性方程求根和微分方程数值解法的重要基础,许多求解计算公式都是以插值为基础导出的。 三种插值方法的比较:
拉格朗日插值、分段线性插值与三次样条插值三种插值法在处理问题时的比较。 插值问题的提法是:已知f(x)(可能未知或非常复杂函数)在彼此不同的n+1个实点
x0,x1,…xn处的函数值是f(x0),f(x1),…,f(xn),这时我们简单的说f(x)有n+1个离散
数据对{(xi,yi)}ni=0.要估算f(x)在其它点x处的函数值,最常见的一种办法就是插值,即寻找一个相对简单的函数y(x),使其满足下列插值条件:y (xi)=f (xi),i=0,1,…,n.并以y (x)作为f (x)的近似值.其中y (x)称为插值函数,f (x)称为被插函数.[1,2,3] 选用不同类型的插值函数,逼近的效果不同,下面给出拉格朗日多项式插值、 分段线性插值及三次样条插值在处理问题时的应用比较分析.
多项式插值是最常见的一种函数插值.在一般插值问题中,由插值条件可以唯一确定一个次数不超过n的插值多项式满足上述条件.从几何上看可以理解为:已知平面上n+1个不同点,要寻找一条次数不超过n的多项式曲线通过这些点.插值多项式一般有两种常见的表达形式,一个是拉格朗日(Lagrange)插值多项式,另一个是牛顿(Newton)插值多项式.且 Lagrange插值公式恒等于Newton插值公式.
分段线性插值与三次样条插值可以避免高次插值可能出现的大幅度波动现象(龙格现象),在实际应用中通常采用分段低次插值来提高近似程度,比如可用分线性插值或分段三次埃尔米特插值来逼近已知函数,但它们的总体光滑性较差.为了克服这一缺点,一种全局化的分段插值方法———三次样条插值成为比较理想的工具。
所谓分段线性插值就是利用每两个相邻插值基点作线性插值,即可得分段线性插值函数。特点:插值函数序列具有一致收敛性,克服了高次Lagrange插值方法的缺点, 故可通过增加插值基点的方法提高其插值精度.但存在基点处不光滑、插值精度低的缺点.从几何上看所谓分段线性插值就是通过插值基点用折线段连接起来逼近原曲线,这也是计算机绘制图形的基本原理.
三次样条插值
三次样条插值的目的在于克服Lagrange插值的不收敛性和提高分段线性插值函数在节点处的光滑性.所谓三次样条插值方法就是在满足下列条件:
a.y(x)在每个子区间[xi,xi+1](i=0,1,…n)上都是次数不超过3的多项式;
b.y(x)、y'(x)、y(x)"在插值区间上都连续;的三次样条函数中寻找满足下列插值条件:
c.y(xi)=f(xi)( i=1,2,…n); d.一般形如y"(a)=y"(b)=0等边界条件; 的插值函数y(x)的方法. 特点:
三次样条插值函数序列一致收敛于被插函数,因此可通过增加节点的方法提高插值的精度. 上面介绍的分段线性插值,其总体光滑程度不够.在数学上,光滑程度的定量描述是函数(曲线)的k阶导数存在且连续,则称该曲线具有k阶光滑性.自然,阶数越高光滑程度越好.分段线性插值具有零阶光滑性,也就是不光滑;三次样条插值就是较低次数的多项式而达到较高阶光滑性的方法. 用MATLAB作插值计算。 一维插值函数: yi=interp1(x,y,xi,’method’)
yi为xi处的插值结果;x,y为插值节点;xi为被插值的点;‘method’表示插值方法。 插值方法: ‘nearest’最邻近插值; ‘linear’线性插值; ‘spline’三次样条插值; ‘cubic’ 立方插值; 缺省时 分段线性插值。
用Matlab 实现分段线性插值不需要编制函数程序,Matlab 中有现成的一维插值函 数interp1 。
y=interp1(x0,y0,x,'method')
method指定插值的方法,默认为线性插值。其值可为: 'nearest' 最近项插值 'linear' 线性插值
'spline' 逐段 3 次样条插值 'cubic' 保凹凸性 3 次插值。 所有的插值方法要求x0 是单调的。
当x0为等距时可以用快速插值法,使用快速插值法的格式为'*nearest' 、'*linear'、 '*spline' 、'*cubic'。