插值法和多项式拟合的研究摘要在科研和生产实践中,常常需要通过一组测量数据来寻找变量x与y的函数关系近似表达式。
解决这类问题的方法有两种:一种是插值法,另一种是拟合法。
插值法的原理是用一个简单函数逼近被计算函数,然后用该简单函数的函数值近似替代被计算函数的函数值。
拟合法能够是从给定的一组实验数据出发,寻找函数的一个近似表达式,该近似表达式能反映数据的基本趋势而又不一定过全部的点,即曲线拟合。
本文主要介绍拉格朗日插值法、埃尔米特插值法、三次样条插值法以及基于最小二乘法的多项式拟合。
关键词:拉格朗日插值,埃尔米特插值,样条插值,多项式拟合1方法的意义在许多实际问题及科学研究中,因素之间往往存在着函数关系,然而,这种关系经常很难有明显的解析表达,通常只是由观察与测试得到一些离散数值。
有时,即使给出了解析表达式,却由于表达式过于复杂,不仅使用不便,而且不易于进行计算与理论分析。
解决这类问题的方法有两种:一种是插值法,另一种是拟合法。
插值法的原理是用一个简单函数逼近被计算函数,然后用该简单函数的函数值近似替代被计算函数的函数值。
它要求给出函数的一个函数表,然后选定一种简单的函数形式,比如多项式、分段线性函数及三角多项式等,通过已知的函数表来确定一个简单的函数()x ϕ作为()f x 的近似,概括地说,就是用简单函数为离散数组建立连续模型。
插值法在实际应用中非常广泛,但是它也有明显的缺陷,一是测量数据常常带有测试误差,而插值多项式又通过所有给出的点,这样就是插值多项式保留了这些误差;二是如果实际得到的数据过多,则必然得到次数较高的插值多项式,这样近似的效果并不理想。
拟合法能够很好的解决这些问题,它从给定的一组实验数据出发,寻找函数的一个近似表达式y=()x ϕ,该近似表达式能反映数据的基本趋势而又不一定过全部的点,即曲线拟合的问题,函数的近似表达式y=()x ϕ称为拟合曲线。
常用最小而二乘法来确定拟合曲线。
2插值法的介绍2.1 插值法定义设 f (x )为[a ,b ]上的函数,在互异点n x x x ,...,,10处的函数值分别为 )(),...,(),(10n x f x f x f ,构造一个简单函数 ϕ(x ) 作为函数 f (x ) 的近似表达式y = f (x ) ≈ ϕ(x ),使)()(i i x f x =ϕ , i =0, 1, 2, …,n (1.0) 则称ϕ(x ) 为关于节点n x x x ,...,,10的插值函数;称n x x x ,...,,10 为插值节点;称))((i i x f x , i =1,2,… , n 为插值点;f (x ) 称为被插值函数。
式(1.0)称为插值条件。
这类问题称为插值问题。
插值的任务就是由已知的观测点,为物理量(未知量)建立一个简单的、连续的解析模型,以便能根据该模型推测该物理量在非观测点处的特性。
常用的插值函数类{()x ϕ}是代数多项式,相应插值问题是代数插值,本文主要介绍三种代数差值:拉格朗日插值,埃尔米特插值和样条插值。
2.2拉格朗日插值2.2.1两点插值问题已知)(i i x f y = )1,0(=i ,求满足插值条件i i y x P =)(1 )1,0(=i 的插值多项式)(1x P 。
根据解析几何知识可知,所求的)(1x P 为过点),(),,(1100y x y x 的直线,即:)()(0010101x x x x y y y x P ---+= 上式经整理可改写为:式中1010)(x x x x x l --=,0101)(x x x x x l --=。
显然{)1(0)0(1)(0===i i x l i ,{)1(1)0(0)(1===i i x l i ,且)(0x l ,)(1x l 为由插值节点唯一确定的线性函数。
)(0x l ,)(1x l 为节点10,x x ,上的一次插值基函数。
可以看出,节点10,x x 上的插值基函数的次数为插值节点个数减一,基函数组中所含的函数个数与插值节点数相同。
而满足i i y x P =)(1 )1,0(=i 的插值多项式)(1x P就是节点10,x x 上插值基函数的线性组合,其组合系数分别为10,y y 。
这种表示为插值基函数线性组合的一次插值多项式也就是一次拉格朗日插值多项式。
当给定n+1个插值节点后,可类似定义n 次插值基函数,并以此构造n 次拉格朗日多项式。
2.2.2 n 次拉格朗日插值多项式n 次插值基函数:))...()()...(())...()()...(()(110110n k k k k k k n k k k x x x x x x x x x x x x x x x x x l --------=+-+- )...,1,0(n k = 显然)(x l k 具有以下性质:性质1,{)(0)(1)(k i k i x l i k === )...,1,0(n k = 性质2,)(x l k )...,1,0(n k =为由插值节点n x x x ,...,,10唯一确定的n 次函数。
性质3, 基函数组所含的基函数个数与插值节点个数相同。
以n 次插值基函数为基础,可得拉格朗日插值多项式为:k nk n k k k k k k n k k n k k k n y x x x x x x x x x x x x x x x x y x l x L ∑∑=+-+-=--------==01101100))...()()...(())...()()...(()()( 00()n n i k k i k ii k x x y x x ==≠-=-∑∏ 若记∏=+-=n i i n x x x 01)()(ω,则有∏≠=+-='nki i i k k n x x x 01)()(ω。
于是)(x L n 也可写成:k n k k n k n n y x x x x x L ∑=++'-=011)()()()(ωω2.2.3拉格朗日插值多项式的余项)()()(x L x f x R n n -=称为拉格朗日插值多项式的余项,也叫截断误差。
用简单的插值多项式)(x L n 代替复杂的函数)(x f ,这种做法是否有效,取决于截断误差是否满足精度要求。
拉格朗日型余项:)()!1()()()()(11x n f x L x f x R n n n n +++=-=ωξ 其中∏=+-=ni i n x x x 01)()(ω,),(b a ∈ξ且依赖于0x 。
一般情况下,),(b a ∈ξ的具体数值无法知道,但是若能够求出1)1()(max ++≤≤=n n bx a M x f ,则可以得出插值多项式的截断误差限为:)(max )!1()(11x n M x R n bx a n n +≤≤++≤ω 由此看出,)(x R n 的大小除了与1+n M 有关外,还与插值节点有密切关系。
当给定M 个点出的函数值,但仅选用其中)1(1m n n <++个作为插值条件而求某点x 处函数值时,n+1个节点n x x x ,...,,10的选取应该尽可能的接近x ,使得计算的函数值的误差限尽可能的小。
2.3埃尔米特插值许多实际问题不但要求插值多项式与被插值函数在节点处的函数值相当,而且还需要求其导数值相等。
满足这种要求的插值多项式就是埃尔米特插值多项式。
一般情形的埃尔米特插值问题一般情形的埃尔米特插值问题是指所满足的插值条件中函数值的个数与导数值的个数相等。
即当函数)(x f 在区间],[b a 上n+1个节点i x ),...,1,0(n i =处的函数值)(i i x f y =及导数值)(i i x f m '=给定时,要求一个次数不超过2n+1的多项式)(12x H n +,使之满足:),...,1,0()()(1212n i m x H y x H i i n i i n =⎭⎬⎫='=++这里给出个2n+2个插值条件,可唯一确定一个形式为12121012...)(++++++=n n n x a x a a x H 的多项式,但是要确定2n+2个系数非常复杂,因此此时可以借用构造拉格朗日插值多项式的基函数。
设)(),(x x j j βα ),...,1,0(n j =为次数不超过2n+1的多项式,且满足:),...,1,0,()(,0)(0)(,)(n j i x x x x ij i j i j i j ij i j =⎪⎭⎪⎬⎫='=='=δββαδα 则满足上述条件的埃尔米特插值多项式可以写成用插值基函数表示的形式: ∑=++=n j j j i j n m x y x H 012])()([βα上式满足插值条件。
可以得到基函数)(),(x x j j βα的解析式为:)(1)(21)(20x l x x x x x j n j k k k j j j ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=∑≠=α ),...,1,0(n j = )()()(2x l x x x j j j -=β ),...,1,0(nj = 式中)(x l j 为拉格朗日插值基函数。
因此埃尔米特插值多项式即为:j j n j j i nj j n j k k k j j n m x l x x y x l x x x x x H )()()(1)(21)(2002012∑∑∑==≠=+-+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---= 一般情形下的埃尔米特插值多项式的余项为:)()!22()()()()(12)22(1212x n f x H x f x R n n n n +++++=-=ωξ 式中),(b a ∈ξ,且与x 有关。
埃尔米特插值的几何意义:曲线)(12x H y n +=与曲线)(x f y =在插值节点处有相同的公共切线。
在带导数的插值问题中,有时插值条件中的函数值个数与导数值个数不等。
这时可以以一般情况的埃尔米特插值多项式为基础,运用待定系数法求出满足插值条件的多项式。
2.4样条插值在上述方法中,我们根据区间],[b a 上给出的节点得以得到函数)(x f 的插值多项式,但是并非插值多项式的次数越高,逼近函数)(x f 的精度越好,主要原因是因为对于任意的插值节点,当∞→n 时,插值多项式)(x P n 不一定收敛到)(x f 。
这种高次插值不准确的现象称为龙格现象。
为了避免高次插值的缺点,人们常常采用分段插值的方法,即将插值区间分为若干个小区间,在每个小区间上运用前面介绍的插值方法构造低次插值多项式。
采用分段现象插值与分段二次插值,可以构造一个整个连续的函数,而采用分段三次埃尔米特插值则可以构造一个整体上具有一节连续导数的插值函数。