王莎200001S041
摘要:在工程应用中,经常会遇到函数f(x)的表达式是已知的,但该表达式却
比较复杂难以计算,因此,希望用一个既能反映该函数的特性又便于计算的简单函数来描述它。本文对常见的几种插值方法-lagrange插值 ,newton插值,插值函数的构造等进行了详细的介绍。 hermite插值方法的基本思想、关键字:插值基函数,插值多项式,插值节点。 一·引言
实际问题中经常有这样的函数yf(x),其在某个区间a,b上有有限个离散 点x0,x1,...xn,且这些点对应函数值为 yif(xi) (i0,1,2...),若想得到其它点的值就必须找一个满足上述条件的函数表达式。这就是下边要讨论的
lagrange插值函数。
二·Lagrange插值函数
1.Lagrange插值函数的基本思想:将待求的n次插值多项式Pn(x)写成另一种表达方,式再利用插值条件yif(xi) (i0,1,2...)确定出插值基函li(x)由基函数条件
li(xi)1,确定多项式系数,进而可得插值函数Pn(x).
2.提出问题:(1)已知f(x0)y0,f(x1)y1,求满足条件的插值函数。
由题可知yf(x)表示过两点(x0,y0),(x1,y1)的直线,这个问题是我们所熟悉的,它的解可表为下列对称式
yxx0xx1y0y1 x0x1x1x0此类一次插值称为线性插值,若令l0(x)xx0xx1,l1(x) x0x1x1x0(由此可得:l0(x0)1,l0(x1)0,l1(x1)1,l1(x0)0)) 则有P1(x)l0(x)y0l1(x)y1
这里的l0(x),l1(x)可以看作是满足条件
l0(x0)1,l0(x1)0l1(x1)1,l1(x0)0的插值多项式,这两个
特殊的插值多项式称作上述问题的插值基函数。 (2)求过三点(x0,y0),(x1,y1),(x2,y2)的插值函数。
为了得到插值多项式先解决一个特殊的二次插值问题。
求作二次式l0(x),使满足 l0(x0)1,l0(x1)l0(x2)0 (2-1) 这个问题是容易求解的,由式(2-1)的后两个条件知x1,x2是l0(x)的两个零点,
因而 l0(x)c(xx1)(xx2) 。再用条件l0(x0)1确定系数c . 结果得 :l0(x)(xx1)(xx2)
(x0x1)(x0x2)类似可以分别构造出满足条件
l1(x),l2(x);
l1(x1)1,l1(x0)l1(x2)0l2(x2)1,l2(x0)l2(x1)0的插值多项式
其表达式分别为 l1(x)(xx0)(xx2)(xx0)(xx1),l2(x)
(x1x0)(x1x2)(x2x0)(x2x1)这样构造出的l0(x),l1(x),l2(x)称作问题(2)的插值基函数。
设取已知数据y0,y1,y2作为组合系数,将插值基函数l0(x),l1(x),l2(x)组合得
P2(x)l0(x)y0l1(x)y1l2(x)y2
(xx0)(xx2)(xx0)(xx1)(xx1)(xx2)y0y1y2
(x0x1)(x0x2)(x1x0)(x1x2)(x2x0)(x2x1)验证可知,这样构造的P2(x)满足已知条件,因而它就是问题(2)的解。
例 1.利用100,121的开方值求115。
解:将已知可表示为x0100,y010,x1121,y111
11(x121),l1(x)(x100) 2121(x110)(x)l(x)yl(x)y所以P 1001121由此可得l0(x)将x115代入上式,求得y10.71428 。
(3)推广到一般:已知函数在n+1个不同点x0,x1,...xn上的函数值分别为
y0,y1,...yn求一个次数不超过n的多项式Pn(x),使其满足: Pn(xi)yi(i0,1,..n)
即n1个不同的点可以决定的一个n次多项式。
过n1个不同的点分别决定n1个n次插值基函数。
l0(x),l1(x),...,ln(x)
每个插值基多项式满足: a. li(x)是n次多项式;
b. li(x)1,而在其它n个点 li(xk)0,(ki)
由于li(xk)0,(ki)故有因子:
(xx0)...(xxi1)(xxi1)...(xxn)
因其已经是n次多项式,故而仅相差一个常数因子。令: li(x)a(xx0)...(xxi1)(xxi1)...(xxn)
由li(xi)1,可以定出a, 进而得到:
(xx0)...(xxi1)(xxi1)...(xxn)
(xix0)...(xixi1)(xixi1)...(xixn)li(x) 2.n次拉格朗日型插值多项式Pn(x)
Pn(x)是n1个n次插值基本多项式l0(x),l1(x),...,ln(x)的线性组合,相应的组合
系数是y0,y1,...yn。即:
Pn(x)y0l0(x)y1l1(x)...ynln(x)
从而Pn(x)是一个次数不超过n的多项式,且满足
Pn(xi)yi(i0,1,..n)
例1 求过点(2,0),(4,3),(6,5),(8,4),(10,1)的拉格朗日型插值多项式。 解 用4次插值多项式对5个点插值。
x02,x14,x26,x38,x410 y0,y3,y5,y4,y112340 可得 l0(x)1(x4)(x6)(x8)(x10) 3841(x2)(x6)(x8)(x10) 96l1(x)l2(x)1(x2)(x4)(x8)(x10) 1(x2)(x4)(x6)(x10) 96l3(x)l4(x)1(x2)(x4)(x6)(x8) 384所以 P4(x)y0l0(x)y1l1(x)y2l2(x)y3l3(x)y4l4(x)
03(x4)(x6)(x8)(x10)(x2)(x6)(x8)(x10)3849654(x2)(x4)(x8)(x10)(x2)(x4)(x6)(x10)961(x2)(x4)(x6)(x8)384
4 拉格朗日插值多项式的截断误差
我们在a,b上用多项式Pn(x)来近似代替函数f(x), 其截断误差记作 Rn(x)f(x)Pn(x)
当x在插值结点xi上时Rn(xi)f(xi)Pn(xi)0下面来估计截断误差: 定理1:设函数yf(x)的n阶导数ynfn(x)在a,b上连续, yn1f(n1)(x) 在a,b上存在;插值节点为: ax0x1...xnb
Pn(x)是n次拉格朗日插值多项式;则对任意xa,b有: Rn(x)1f(n1)()n1(x)
(n1)! 其中a,b,ξ依赖于x;n1(x)(xx0)(xx1)...(xxn) 证明:由插值多项式的要求:
Rn(xi)f(xi)Pn(xi)0,(i0,1,...n)
设Rn(x)k(x)(xx0)(xx1)...(xxn)k(x)n1(x) 其中k(x)是待定系数;固定xa,b且xxk,k0,1,2,...n
作函数H(t)f(t)Pn(t)k(x)(tx0)(tx1)...(txn)
则H(xk)0,(k0,1,2...n)且H(x)f(x)Pn(x)Rn(x)0 所以H(t)在a,b上有n2个零点,反复使用罗尔中值定理:
存在 a,b,使H(n1)()0; 因Pn(x)是n次多项式,故P(n1)()0而 n1(t)(tx0)(tx1)...(txn) 是首项系数为1的n+1次多项式,故有 n1(n1)(t)(n1)!
于是 H(n1)()f(n1)()(n1)!k(x) 得 k(x)1f(n1)()
(n1)!所以 Rn(x)1f(n1)()n(x)
(n1)!设 maxf(n1)(x)Mn1
axb则:Rn(x)1Mn1n1(x)
(n1)!易知,线性插值的截断误差为:
1 R1(x)f()(xx0)(xx1)
2二次插值的截断误差为:
1 R2(x)f(3)()(xx0)(xx1)(xx2)
6三·Newton插值函数的构造
1.Newton插值法的基本思想:已知节点处的函数值或一元函数代数方程,将待求的n次插值多项式Pn(x)改写为具有承袭性的形式,然后根据插值条件或选取初值以求Pn(x)得待定系数,进而求得所要的插值函数。
Newton插值与Lagrange插值相比具有承袭性和易于变动节点的特点。
2.问题的提出:实践中的许多问题归结为求一元代数方程f(x)0的根,如果
f(x)是线性函数,则它的求根较容易;对非线性方程,只有不高于4次的代数
方程有求根公式,经常需求出高于4次 的满足一定精度要求的近似解。 3.Newton法的简述
(xxk)设是f(x)的一个近似根,把f(x)在xk处泰勒展开
f(x)f(xk)f(x)(xxk)f(xk)(xxk)2... 2若取前两项来近似代替f(x),则f(x)0的近似线性方程
f(x)f(xk)f(x)(xxk)0
设f'(x)0,设其根为xk1,则xk1的计算公式为
f(xk) (k=0,1,2.....) f'(xk)xk1=xk-
这即为牛顿法,上式为牛顿迭代公式,其迭代函数为
f(x) f(x) (x)x我们知道,牛顿法是解非线性方程最著名和最有效的方法之一,在单根附近它比一般的迭代格式有较快的收速度,但也要注意它也有缺点:首先,它对迭代初值选取要求较严,初值选取不好,可能导致吧收敛;其次,它每迭代一次要计算
f(xk)的值,这势必增加可计算量。为回避该问题,常用一个固定的f(xk)迭代
若干步后再求f(xk)。这就是下面要讲的简化牛顿法的基本思想。 1. 简化牛顿法和下山牛顿法 (1) 简化牛顿法的公式为
xk1xkcf(xk) (3-1)
迭代函数 (x)xcf(x)
若(x)1cf(x)1。即0cf(x)2 在根x*附近成立。则迭代法(3-1) 局部收敛。此法显然化简了计算量。 (2) 牛顿下山法
牛顿法的收敛依赖于初值x0的选取,若x0偏离x*较远,则牛顿法可能发散。为防止迭代发散,我们对迭代过程在附加一项条件,即具有单调性:
f(xk1)f(xk) (3-2)
保证函数值稳定下降,然后结合牛顿法加快收敛速度,即可达目的。 将牛顿法的计算结果
f(xk) (3-3) f(xk)xk1xk于前一步的近似值xk适当加权平均作为新的改进值
xk1xk1(1)xk (3-4) 其中称(01)为下山因子,即为
f(xk) (3-5) f(xk)xk1xk称为牛顿下山法。选择下山因子时,从1开始逐次将减半进行试算。 直到满足条件(3-2)为止。 例2 求方程x3x10的根。
(1)解:用newton公式法取x0=1.5
f(xk)xk3xk1xk1=xk-=xk-
f(xk)3xk1计算得x1=1.34783,x2=1.32520,x3=1.32472 迭代三次得到的结果有6位有效数字。
(2)改用x0=0.6作为迭代初值,依牛顿法公式一次得 x1=17.9
该结果反比x0=0.6更偏离了所求根x*=1.32472 (3) 用牛顿下山法解(2)中通过逐次取半进行试算,当x1=1.140625 此时f(x1)=-0.6563 而f(x0)=-1.384
1时可得32显然 f(x1)f(x0)
由x1计算x2,x3...时1均能使条件f(xk1)f(xk)成立
计算结果 :x21.36181 ,f(x2)0.1866
x31032682,f(x3)0.00667
x41.32472,f(x4)0.0000086
x4即为x*的近似值 2. newton迭代法的收敛性
定理:假设函数f(x)在包含x*的某个邻域内有P2阶连续导数,x*时方程
f(x)0的单根,则当x0充分接近x*时,牛顿法收敛,且至少为二阶收敛。
f(x)f(x),又x*是f(x)的单根,即有2(f(x))证明:迭代函数(x),由于(x)f(x*)0. f(x*)0,从而(x*)0
于是可以判定牛顿法在根x*邻近至少是二阶收敛。 四·Hermite插值法
1. 问题的提出:已知函数f(x)在给定n1个互异的节点x0,x1...xn上的函数值和导数值,求一个2n1次多项式H2n1(x)满足插值条件
n1(xk)yk . k=0,1,2...n H2n1(xk)=yk,H22. Hermite插值基本原理
通常如上条件的Hermite型插值是通过构造相应的插值基函数来完成的,为方便起见以n=1为例,说明传统的求解方法,设给定的x0,x1和相应的函数值f(x0),f(x1)及微商值f(x0),f(x1)构造插值函数H3(x)。由构造函数
的办法可知:对应于x0和x1点函数值的插值函数分别为
h0(x)(12xx0xx12xx1xx02)() 及h1(x)(12)() x1x0x0x1x0x1x1x0而对应的x0和x1点导数值的插值基函数分别为H0(x)(xx0)(xx12)和 x0x1H1(x)(xx1)(xx02) ,因此所要求的插值函数 x1x0H3(x)f(x0)h0(x)f(x1)h1(x)f(x0)H0(x)f(x1)H1(x) (2-1)
例3.设f(0)f(0)0,f(1)f(1)1 ,球满足条件的函数。
解:由式(2-1)可得x00,x11,h0(x)(12x)(x1)2 h1(x)x2(32x),H0(x)x(x1)2,H1x2(x1)
则H3(x)f(x0)h0(x)f(x1)h(x1)f(x0)H0(x)f(x1)H1(x)
(32x)x2x2(x1)2x2x3 (2-2)
由上可发现构造插值基函数比较复杂,尤其对具有高阶导数插值条件的情况,以下将基于newton插值方法提出构造上述条件的简单格式。此时传统方法可视为这里的特例。 3.新的构造格式
下面将给出带有高阶导数插值条件及仅给出某些点上的导数值而缺少函数值时插值的构造格式。
f(xi)mi 条件(1)k(k(1,2,...,i2)) (k)f(xi)mif(xi)mi 条件(2)f(k)(xi)mi(k)(1,k1,ij)
(1)(1)f(xj)mj为了利用newton插值法我们首先引入下列差商记号
fx1,x2f(x2,x3)f(x1,x2)f(x2)f(x1),fx1,x2,x3
x2x1x3x1fx1,x2...xnfx2,...xnfx1,...xn1xnx1。
f(n)(xi)同时有下面公式 fxi,xi,...xi (3-1)
n!n1对于第1中插值条件的情况本文按如下三步构造插值函数。
第一步:将具有函数值及直到k阶导数值的点及该点处的函数值在差商表中连续的重复写k1遍;
第二步:充分利用(3-1)式并按照传统的牛顿插值法构造差商表中相应的其它例;
第三步:把重复写的点按传统newton插值方法中的点一样对待写出相应的插值表达式;
下面给出一个实际例子来具体说明 假设已知插值条件为
f(x1)m1,f(k)(x1)m1(k)(k1,2) (3-2) f(x2)m2,f(x2)m2易知当k=1时,(3-2)式即为传统的Hermite型问题,下面以例3中条件
先按上述第一f(0)f(0)0,f(1)f(1)1 来求解说明本文所提的方法。第二步构造相应的差商表如下 0 0 0 0 0 1 1 1 1 1 1 1 0 -1 再按上述第三步则有
H3(x)00(x0)1(x0)21(x0)2(x1)2x2x3 (3-3)
比较(2-2)和(3-3)知,二者结果的确是完全一样的 当k=2时
x1 f(x1)
x1 f(x1) f(x1)
x1 f(x1) f(x1) w1
x2 f(x2) w4 w5 w2
x2 f(x2) f(x2) w7 w6 w3
其中w1fx1,x1,x1 ,w2fx1,x1,x1,x2 ,w3fx1,x1,x1,x2,x2
w4fx1,x2 ,w5fx1,x1,x2 ,w6fx1,x1,x2,x2 ,w7fx1,x2,x2 按上述第三步写出插值为
H(x)f(x1)f(x1)(xx1)w1(xx1)2w2(xx1)3w3(xx1)3(xx2)
对于第(2)种条件的插值问题,首先假设仅给出若干阶导数值的函数值为已知的,重复(1)的过程,再令高于由插值条件所能确定的多项式的次数的所有高阶差商项为零,解出其函数值即可。 下面仍以一个实际例子说明
f(x1)m1例4 .已知插值条件为 f(x1)m1 (3-4)
f(x2)m2解:先设f(x2)在x2点的函数值为f(x2)a是已知的,则重复(1)可构造出如下差商表
x1 f(x1)
x1 f(x1) f(x1) x2 f(x2) w4 w1 x2 f(x2) f(x2) w3 w2
其中w1fx1,x1,x2 ,w2fx1,x1,x2,x2,w3fx1,x2,x2 ,w4fx1,x2 令w2=0,则可解得f(x)在x2点的函数值f(x2).进而可解得差商表中的w1,从而得所要求的满足(3-4)的插值函数为
H(x)f(x1)f(x1)(xx1)w1(xx1)2
为了更清楚起见,不妨设x11,x22,f(1)0,f(1)1,f(2)5,f(2)a 则有 1 0 1 0 1
2 a a/2 (a-2)/2
2 a 5 (10-a)/2 6-a
由于给的插值条件为3个,通常可构造出2次多项式,故令三阶差商6-a=0 ,可得a=6
这时可求得插值函数为 H(x)0(x1)2(x1)22x23x1 验证知此式是满足所给的插值条件的。
参考文献:
(1)李庆扬,王能超,易大义 数值分析(第四版) 北京清华大学出版社,2001 (2)关治,陈景良 数值计算方法 北京清华大学出版社,2001
(3)封建湖,聂玉峰,王振海。数值分析(第四版)西安:西北工业大学出版
社,2003
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- baijiahaobaidu.com 版权所有 湘ICP备2023023988号-9
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务