插值法及数值微分_第1页
插值法及数值微分_第2页
插值法及数值微分_第3页
插值法及数值微分_第4页
插值法及数值微分_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章 插值法与数值微分 插值法是函数逼近的重要方法之一,有着广泛的应用 。在生产和实验中,函数f(x)其表达式复杂不便于计算或者无表达式而只有函数在给定点的函数值(或其导数值) ,此时我们希望建立一个简单的而便于计算的函数(x),使其近似的代替f(x),有很多种插值法,其中以拉格朗日(Lagrange)插值和牛顿(Newton)插值为代表的多项式插值最有特点,常用的插值还有Hermit插值,分段插值和样条插值.求近似函数的方法求近似函数的方法:由实验或测量的方法得到所求函数由实验或测量的方法得到所求函数 y=f(x) 在互异点在互异点x0 , x1, . , xn 处的值处的值 y0 , y

2、1 , , yn ,构造一个简单函数构造一个简单函数 (x) 作为函数作为函数 y=f(x) 的近似表达式的近似表达式y= f(x) (x)使使 (x0)=y0 , (x1)=y1 , , (xn)=yn ,(a)这类问题称为这类问题称为插值问题插值问题。 f(x) 称为称为被插值函数被插值函数, (x) 称为称为插值函数插值函数, x0 , x1, . , xn 称为称为插值节点插值节点。(a)式称为式称为插值条件插值条件。常用的插值函数是多项式。常用的插值函数是多项式。插值的任务插值的任务就是由已知的观测点就是由已知的观测点,为物理量为物理量(未知量未知量)建立一建立一个简单的、连续的解析

3、模型,以便能根据该模型推测该物个简单的、连续的解析模型,以便能根据该模型推测该物理量在非观测点处的特性理量在非观测点处的特性。 最简单的插值函数是代数多项式最简单的插值函数是代数多项式 Pn(x)=a0+a1x+anxn, . (1)这时插值问题变为这时插值问题变为:求求n次多项式次多项式Pn(x),使满足插值条件使满足插值条件 pn(xi)=yi, i= 0,1,2,,n, (2) 只要求出只要求出Pn(x)的系数的系数a0 ,a1, an即可即可, ,为此由插值条件为此由插值条件(2)(2)知知P Pn n(x)(x)的系数满足下列的系数满足下列n+1n+1个代数方程构成的线性个代数方程构

4、成的线性方程组方程组 a0+a1x0+anx0n=y0 a0+a1x1+anx1n=y1 .a0+a1xn+anxnn=yn (3) 而而ai(i=0,1,2,n)的系数行列式是的系数行列式是Vandermonde行行列式列式 = (4)由于由于xi互异,所以互异,所以(4)右端不为零,从而方程组右端不为零,从而方程组(3)的解的解 a0 ,a1 ,an 存在且唯一。解出存在且唯一。解出ai(i=0,1,2,n), Pn(x)就就可构造出来了。但遗憾的是可构造出来了。但遗憾的是方程组方程组(3)是病态方程组是病态方程组,当阶数当阶数n越越高时,病态越重高时,病态越重。为此我们从另一途径来。为此

5、我们从另一途径来寻求获得寻求获得Pn(x) 的方法的方法-Lagrange插值和插值和Newton插插值。值。xxxxxxxxxxxxnn2nnn1211n0200n10.1.1.1),.,V(niijjixx110)( 2.1 线性插值线性插值 先从最简单的线性插值先从最简单的线性插值(n=1)开始。这时插值问题开始。这时插值问题(2)就是求一次多就是求一次多项式项式P1(x)=a0+a1x 使它满足条件使它满足条件P1(x0)=y0 , P1(x1)=y1 ,令令P1(x)=l0(x)y0+l1(x)y1 ,由于由于l0(x0)=1, l0(x1)=0,l0(x0)=0, l1(x1)=1

6、. 这样这样l0(x)含有因子含有因子x-x1, 令令 l0(x)=(x-x1), 再利用再利用 l0(x0)=1确定其中的确定其中的系数,结果得到系数,结果得到x-x1 l0(x)=- ,x0-x1类似的可得到类似的可得到 x-x0 l1(x)=- , x1-x0这样这样x-x1 x-x0P1(x)=-y0 + -y1 , x0-x1 x1-x0 l0(x), l1(x)称为以称为以x0 , x1 为节点的为节点的插值基函数插值基函数。(x0 ,y0)(x1 ,y1)P1(x)f(x)Newton插值Newton插值把直线方程利用点斜式表示:把直线方程利用点斜式表示:101001010001

7、0( )()()()()yyxyxxxxf xf xyxxxx由于函数由于函数f(x)在在xi,xj处一阶均差的定义是处一阶均差的定义是:( )()( ,)ijijijf xf xf x xxx()()因此因此, , 是是f(x)f(x) 在在 x x1 1 , x, x0 0处的一阶处的一阶均差,均差, 利用均差的对称性利用均差的对称性, ()()式可以表示为:式可以表示为:这种形式的插值叫做牛顿(这种形式的插值叫做牛顿(NewtonNewton)插值插值0101)()(xxxfxf10001( )()() ,xf xxxf x x定理定理2.12.1:设给定 x x0 x1 y y0y1

8、是过x0,x1的线性插值函数,a,b是包含(x0,x1)的任一区间,并设 在a,b上存在,则对任意给定 , 总存在一点 使 且可以证明: 1( ) x( ) , ,( )f xC a bfx , xa b , a b101( )( )( )( )()()2!fR xf xxxxxx210max()|( )|( )|8xxR xfxaxbroll定理 如果函数f(x)满足: 在闭区间a,b上连续; 在开区间(a,b)内可导; 在区间端点处的函数值相等,即f(a)=f(b), 那么在(a,b)内至少有一点(ab),使得 f()=0 2.2 二次插值二次插值 线性插值是用两点 和 来构造y=f(x)

9、的插值函数,下面用三个点 来构造y=f(x)过三点的插值函数。(过三点可以作一条抛物线)。00(,)xy11( ,)x y011122( ,),( ,),( ,)x yx yx y22012( )xaa xa x 构造l0(x):由于l0(x)有x1和x2二个零点,因此有因子(x-x1)(x-x2),又因有l0(x)是一个次数不高于二次的多项式,所以,还可能相差一个常数因子,于是把l0(x)写成:20010202101 1212201222yaa xa xyaa xa xyaa xa x当当012,x x x互异时方程组的解唯一互异时方程组的解唯一为了确定系数将三点代入方程得:x0 x1x2

10、f(x)f(x)抛物插值抛物插值2( ) x利用条件 ,可求得:那么x0点的二次插值基函数为:同理构造 为:012( )()()lxA xxxx0( )1lx 01011()()Axxxx1200102()()( )()()xxxxlxxxxx12( ), ( )l x lx02110120122021()()( )()()()()( )()()xxxxl xxxxxxxxxlxxxxx插值函数: 牛顿二次插值多项式:假设过 的二次插值多项式具有下面的形式:确定系数A,B,C:利用 我们有:20 11 12 2( )( )( )( )xy l xyl xy l x001122(,),( ,),

11、(,)xyx yxy2001( )()()()xAB xxC xxxx200()xy2000()()Axyf x再利用 有: B =最后 确定C:(为一阶均差的均差)其中 211( )xy1211010()()()()f xxyf xB xx20201020212021()()() ( ,)()()()()f xf xxxf x xCxxxxxxxx202020()(),f xf xf xxxx010110)()(,xxxfxfxxf202110210,xxxxfxxfxxxf200121,f xxf xxxxf xi, xj , xk 为f (x)在点xi, xj, xk处的二阶差商一般的称

12、为f (x)在点x0, x1, xn处的n阶差商。于是得到二次牛顿插值多项式: , ,ijjkijkikf x xf x xf x x xxxnnnnxxxxxfxxxfxxxf02111010,2001001201( )( ) , () , , ()()xf xf x x x xf x x x x x x x例题:例题: 例例1: 已给已给sin0.32=0.314567,sin0.34=0.333487, sin0.36=0.352274, 用线性插值及抛物插值计算用线性插值及抛物插值计算 sin0.3367 的值并估计截断误差。的值并估计截断误差。 解:解: 由题意取由题意取x0=0.3

13、2, y0=0.314567 , x1=0.34 ,y1=0.333487 , x2=0.36 , y2=0.352274 。 用线性插值及抛物插值计算,取用线性插值及抛物插值计算,取 x0=0.32 及及 x1=0.34 , 又由公式得又由公式得 0110101100.33670.3367sin0.3367(0.3367)0.330365xxPyyxxxx其截断误差为其截断误差为其中其中 ,因,因 f(x)=sinx,f/(x)= -sinx,可取可取,于是,于是 R1(0.3367) = sin 0.3367 P1(0.3367) 1/2(0.3335)(0.0167)(0.0033) 0

14、.92 105,若取若取x1=0.34,x2=0.36为节点,则线性插值为为节点,则线性插值为,)(2)(1021xxMRxxx)(/10max2xfxxxM211121sin0.33670.3367(0.3367)10.0187870.333487( 0.0033)0.3303870.02()yyyxPxx3335. 0)(110)(max2xSinxxxxSinM其截断误差为其截断误差为,其中其中于是于是 用抛物插值计算用抛物插值计算 sin0.3367时,可得时,可得)(2)(2121xxMxxxR3523.0)(/102maxxfMxxx51036.1)0233.0)(0023.0)(

15、3523.0(21)3367.0(3367.0sin)3367.0(11LR021201010210120122021444()()()()sin0.33672()()()()()()()()0.7689 103.89 100.3145670.3334870.00080.00040.5511 100.3522740.3303740.0008(0.3367) yxxxxxxxxxxyPxx xxxx xxxxyxx xx这个结果与六位有效数字的正弦函数表完全一样,这说明这个结果与六位有效数字的正弦函数表完全一样,这说明查表时用二次插值精度已相当高了。其截断误差得查表时用二次插值精度已相当高了。其

16、截断误差得其中其中于是于是828. 0)(0cos/20max3xxMfxxx62210178. 0)0233. 0)(033. 0)(0167. 0)(828. 0(61)3367. 0(3367. 0sin)3367. 0(LR30122( )|()()()6|xxxxxxxMR例例2: 2: 已测得某地大气压强随高度变化的一组数据已测得某地大气压强随高度变化的一组数据高度高度(m) 0 100 300 1000 1500 2000 .压强压强 (kgf/m2) 0.9689 0.9322 0.8969 0.8515 0.7984 0.7485 试用二次插值法求试用二次插值法求1200米处

17、的压强值米处的压强值.解:设x为高度,y为大气压强的值, 选取(1000,0.8515) ,(1500,0.7984), (2000,0.7485)三点构造二次插值多项式 (x-x1)(x-x2) (x-x0)(x-x2) (x-x0)(x- x1) p2(x)=- - y0 + - y1 + - y2 (x0- x1)(x0-x2) (x1 -x0)(x1 -x2) (x2-x0)(x2- x1)代入已知的数值,得 p2(1200)=0.8515(1200-1500)(1200- 2000)/(1000-1500)(1000-2000)+0.7984(1200-1000)(1200-2000

18、)+0.7485(1200-1000)(1200-1500)/(2000-1000)(2000-1500)=300*800*0.8515/500/1000+200*800*0.7984/500/500-200*300*0.7485/500/1000=0.82980所以 y(1200) p2(1200)= 0.82980 (kgf/m2)例3.取节点x0=0,x1=1和对建立线性插值多项式和二次插值多项式。解:先构造x0=0,x1=1两点的线性插值多项式。 x01 y1e-1(1)拉格朗日插值多项式先选过(0,1)和(1, e-1)的一次插值函数01210,1,2xxxxye1001( )(1)

19、,xxlxxxx 0110( )xxl xxxx这样: =(2)牛顿型插值多项式:因为 ,所以10011( )( )( )xlx yl x y1(1)xex101(,)1f x xe110001( )()() (,)1(1)xf xxxf x xx e 构造过01210,1,2xxx的二次插值函数,因为(1)拉格朗日二次插值函数。构造过012,x x x 的二次插值基函数120010202110120122221()()1( )2(1)()()()2()()1( )2 ()()()2()()( )4 (1)()()xxxxlxxxxxxxxxxxl xx xxxxxxxxxlxx xxxxx

20、因此 =因此1211( )2(1)()2 ()22xxxx xe124 (1)x xe(2)牛顿型二次插值函因为:1010101111221212110112201202()()(,)1()()( ,)2()(,)( ,)(,)224f xf xf x xexxf xf xf x xeexxf x xf x xf x x xeexx11122( )1(1)(1)(224)xx ex xee 2.3 n次插值设给定函数表 xx0 x1xn yy0y1yn要求构造一个插值多项式 满足条件:(1) 是次数不高于n的多项式(2) ( )nx( )nx( )( ),0,1,2,niiixf xyjn把插

21、值多项( )nx表示成01( )nnnxaa xa x写成方程组形式:20102000nnaa xa xa xy201 12111nnaa xa xa xy2012nnnnnnaa xa xa xy其中系数行列式是范德蒙(Vandermonde)行列式当互异时方程组的解存在而且唯一,这说明过n+1个点的n次插值多项式存在而且唯一, 20002111010211(,)()1nnnijj i nnnnnxxxxxxv x xxxxxxx 拉格朗日型n次插值多项式:(1)先构造n+1个插值节点x0,x1,xn上的n次插值基函数li(x)(2) li(x)的数值表: x0 x1 , xn l0(x)

22、1 0 , 0 l1(x) 0 1 , 0 ln(x) 0 0 , 1(3)确定li(x)的零点,构造li(x):011( )()()()()iiinl xA xxxxxxxx (4)利用 得:( )1iil x011011()()()()()()()()iiniiiiiinxxxxxxxxAxxxxxxxx0( )( )nni iixyl x(5)这就是拉格朗日型这就是拉格朗日型n次插值多项式的一般形式次插值多项式的一般形式为了得到为了得到n次牛顿型插值多项式次牛顿型插值多项式:(1)构造均差表:)构造均差表:这里这里 0 x0f x1x1f x01,f x x2x2f x12,f x x0

23、12,f x x x3x3f x23,f x x123,f x x x03,f xx4x4f x34,f x x234,f x x x14,f xx04,f xxx f x一阶差商一阶差商 二阶差商二阶差商 三阶差商三阶差商 四阶差商四阶差商 01112010,nnnnf x xxf x xxf x xxxx010101020202()(),()(),f xf xf xxxxf xf xf xxxx(2)( )nx Newton-n次插值形式000101012( )()() ,()() ,nxf xxxf xxxxxxf xx x0101()() ,nnxxxxf x xx逐次线性插值(3)0

24、1(1)101201(2)1( )1( )( )nnnnnnnnxxxxxxxxxN次插值表见教材表次插值表见教材表2.700011101()1()f xxxf xxxxx00022202()1()f xxxf xxxxx 例例1:给定数据表f(x)=lnx数据表 xi 2.20 2.40 2.60 2.80 3.00f(xi) 0.78846 0.87547 0.95551 1.02962 1.098611.构造差商表2.用二次Newton差商插值多项式,近似计算f(2.65)的值3.写出四次Newton差商插值多项式N4(x) 解解:差商表00755. 001646. 006400. 03

25、4495. 009861. 100. 302250. 0073875. 037055. 002962. 180. 2087375. 040010. 095551. 060. 243505. 087547. 040. 278846. 020. 2四阶差商三阶差商二阶差商一阶差商iixfxN2(x)=0.87547+0.40010(x-2.40)-0.073875(x-2.40)(x-2.60) f(2.65) N2(2.65)N4(x)= 0.78846 +0.43505(x-2.20) - 0.087375(x-2.20)(x-2.40) +0.0225(x-2.20)(x-2.40)(x-2

26、.60) -0.00755(x-2.20)(x-2.40)(x-2.60)(x-2.80)073875.037055.002962.180.240010.095551.060.287547.040.2二阶差商一阶差商iixfx 用代数多项式作为研究插值的工具,就是所谓的代数用代数多项式作为研究插值的工具,就是所谓的代数插值。插值。 对代数插值来说,问题的提法是这样的,当给出了对代数插值来说,问题的提法是这样的,当给出了n+1个点上的一张函数表后,要构造一个多项式个点上的一张函数表后,要构造一个多项式 (x),满满足下面两个条件:足下面两个条件: (1) (x)是一个不超过是一个不超过 n 次的

27、多项式;次的多项式; (2) 在给定的点在给定的点xi( I =0,1, ,n)上与上与 f(xi)取相同值,取相同值,即即 (xi)=yi (I=0,1, ,n)。 我们称我们称 (x) 为为 f(x) 的的,点,点 xi 为为。 插值函数是计算方法的基本工具。插值函数是计算方法的基本工具。若 n 次多项式 lj(x) (j=0,1, ., n)在n+1个节点 x0 x1. xn上满足条件就称这n+1个n次多项式l0(x), l1(x), ,ln(x) 为节点x0,x1,,xn上的),.,1 , 0,(, 0;, 1)(nijijijxlij :若在:若在a,b上用上用Pn(x)近似近似 f

28、(x), 则截断误差为则截断误差为 Rn(x)=f(x) -Pn(x) , 也称为插值多也称为插值多项式的项式的。形如形如的插值多项式的插值多项式Pn(x)称为称为。0( )( )nniiixxylP2.4 2.4 分段线性插值分段线性插值问题:从余项分析看,插值多项式与被插值多项式逼近的程度是同分点的数目及位置有关的,能否说,分点越多,插值多项式对函数的逼近程度越好呢?答案是否定的。例 给定函数 取等距插值节点 试建立插值多项式 ,并研究它的误差.21( ), 11125f xxx 21(0,1,10)10ixi i 10( )x例:例:在在 5, 5上考察上考察 的的Ln(x)。取。取21

29、1)(xxf),., 0(105niinxi -5 -4 -3 -2 -1 0 1 2 3 4 5 -0.5 0 0.5 1 1.5 2 2.5 n 越大,越大,端点附近抖动端点附近抖动越大,称为越大,称为Runge 现象现象Ln(x) f (x) 分段分段低次低次插值插值在每个区间在每个区间 上,用上,用1阶多项式阶多项式 (直线直线) 逼近逼近 f (x):,1 iixx11111)()( iiiiiiiiyxxxxyxxxxxPxf, 1 iixxx记记 ,易证:当,易证:当 时,时,|max1iixxh 0h)()(1xfxPh一致一致失去了原函数的光滑性。失去了原函数的光滑性。yxo

30、y= f(x)y=p(x)分段线性插值函数分段线性插值函数:设在区间a,b上,给定n+1个插值节点和相应的函数值 求一个插值函数 ,具有下面性质: (1)(2) 在每个小区间 上是线性函数,插值函数 叫做区间a,b上对数据 的分段线性插值函数。构造 数值表: 需满足的条件: 012naxxxxb01,nyyy( )x( ),0,1,2,iixy in( )x1,jjxx( )x,(0,1, )jjxyjn( )il x( )il x101001( )0nxxxxxxxlxxxx11111111( )0 , ,iiiiiiiiiiiiixxxxxxxxxl xxxxxxa bxx1, 2 ,1i

31、n11101,( )0nnnnnnnxxxxxxxlxxxx图示0( )l x1x0 xnxnx0 x1ix1ixix( )ilx1nxnxxy( )nlx1分段插值函数的形式:取等距插值节点,作分段线性插值函数 ,并计算 的值。解解 给出区间-1,0上的函数表。X -1 -0.8 -0.6 -0.4 -0.2 0Y 0.03846 0.05882 0.10000 0.20000 0.50000 0.00000( )( )ni iixyl x例例3 给定函数2111125yxx ( )x( 0.9)在0,1区间上的函数值可利用对称性得到,先构造各点的基函数:根据公式有:101010( 0.8)

32、0.85(0.8)1 ( 0.8)0.2( )00.81xxxxxxxxxxl xx 11111115(1(1)1 0.2(1)1 0.251( )5(1(1)1 0.21 0.2(1)50 1,1 ,jjjjjjjjjx xxjjxjxxx xl xxjjxjxxxx 10010.8( )5(0.8)0.81xlxxx 那么分段线性插值函数( )x是0101928( )0.03846( ( )( )0.05882( ( )( )0.10000( ( )( )xlxlxl xlxlxl x34650.20000( ( )( )0.50000( ( )( )( ).1nl xlxlxlxlx计算

33、当x=-0.9的值:( 0.9)0.03846( 5)( 0.90.8)0.058825( 0.91) 0.5 0.038460.5 0.058820.048640与前面的计算相比,显然分段插值函数计算的结果是比较满意的。与前面的计算相比,显然分段插值函数计算的结果是比较满意的。定理定理2.4 设给定节点012naxxxxb及相应的函数值01,( ) , ,( )nyyyf xC a bfx在a,b上存在, ( )x是a,b上由数据 ( ,)(0,1,2, )iix yin构成的分段分段线性插值函数.则:证明证明:根据插值余项定理(2.1)在每个小区间上 有由于2|( )| |( )( )|8

34、hR xf xxM其中 1maxmax|,|( )|01iihxxMfxinaxb 1 ,(0,1,1)iix xin211max()|( )|( )|( )8iiiiixxR xfxR xxxx由于由于1( )|( )| |( )( )| |()()|2!iifR xf xxxxxx11222() ()( )|.| |( )|2!22max( )|.| |( )|01888iiiiixxxxfR xfhhfxinhM 定理得证定理得证.2.5 Hermite2.5 Hermite插值插值 假设函数假设函数y=f(x)是是 在在a,b上有一定光滑性的函上有一定光滑性的函数数,在在xoxn上有上

35、有n+1个异点个异点,f(x)在这些点上取在这些点上取值值yo.yn.求一个确定的函数求一个确定的函数p(x)在上面在上面n+1个个点上满足点上满足p(xi)=yi i=0,1,n.这是最简单的插值这是最简单的插值问题问题,如果除了知道如果除了知道f(x)在插值基点上的取值外在插值基点上的取值外,还知道还知道f(x)在插值基点上的其他描述在插值基点上的其他描述(如知道如知道f(x)在插值基点上的导数值在插值基点上的导数值)。如何来构造插值函。如何来构造插值函数呢数呢? Hermite插值也叫带插值也叫带指定微商值的插值指定微商值的插值,它要它要构造一个插值函数构造一个插值函数,不但在给定节点上

36、取函数值不但在给定节点上取函数值,而且取已知微商值,使插值函数和被插函数的而且取已知微商值,使插值函数和被插函数的密和程度更好密和程度更好 。设给定x0,x1和相应的函数y0,y1以及微商m0,m1,构造插值函数H(x),要求H(x)满足条件:H(x),是不超过三次多项式,(2) H(x0)=y0 , H(x1)=y1,因为在 除函数值为零外,微商值也是零,所以有 另外, 最多是一个三次多项式,因此可表示为: 其中:利用 得a=1,在此应有 保证 为了确定b对 求微商: 0mxH 11mxH10,( )x h x21()xx0( )h x210001( )()()xxh xab xxxx0(

37、)1h x 0()xx00()1h x0( )h x20012011( ).().() ()h xab xxxxxx201012011(00().()().2()()xxbxxab xxxxxx把x=x0代入后:20001012011() .().2()()h xb xxaxxxx0120bxx(解出b) 利用00()0h x有:012bxx于是有: ,此外 是一个不超过三次的多项式,于是函数可表示为:20101001( )(12)()xxxxh xxxxx同理构造1( )h x:20110110( )(12)()xxxxh xxxxx下面构造 0( )Hx,因 0( )Hx在01,x x上函

38、数值为零,在 1x上微商值为零,故有因子 210() ()xxxx0( )Hx210001( )()()xxHxa xxxx同理201110( )()()xxH xxxxx插值多项式可以写成:001 10011( )( )( )( )( )H xy h xy h xm Hxm H x2.6 分段三次分段三次Hermite插值插值给定给定a,b上的一串分点上的一串分点作一个分段三次Hermite插值函数,H(x),要求满足条件: ,(2)在每个小区间 上是三次多项式。 构造基函数:0121nnaxxxxxb及f(x)在分点上的函数值( )iif xy和微商值 ()(0,1,2, )iifxm i

39、n( ),( ),0,1,2,iiiiH xy H xm in1 ,iix x2010110010(12)() ,( )01nxxxxxxxxxxxh xxx2111012111111(12)() ,( )(12)()0 , ,iiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxh xxxxxxxxa bxx0,1,2,1in2111101(12)() ,( )0nnnnnnnnnnxxxxxxxxxxxh xxxx210010101()() ,( )0nxxxxxxxxxHxxxx2111211111()() ,( )()() ,0 , ,iiiiiiiiiiiiiiixxxxx

40、xxxxxxH xxxxxxxxa bxx1,2,1in211101()() ,( )0nnnnnnnnxxxxxxxxxHxxxx分段三次Hermite插值函数0( )( )( )niiiiiH xy h xm H x样条插值函数(样条插值函数(Spline)样条:这一名词来源于工程中的样条曲线,绘图员为了将样条:这一名词来源于工程中的样条曲线,绘图员为了将 一些指定点联结成一条光滑曲线,往往用细长的木条,一些指定点联结成一条光滑曲线,往往用细长的木条,把相近的点联接在一起,使之形成一条光滑的曲线。它把相近的点联接在一起,使之形成一条光滑的曲线。它的连接点处具有连续的曲率。的连接点处具有连续

41、的曲率。 设在区间设在区间a,b上取上取n+1个节点个节点.给定这些点上的函数值 ,现在要求构造一个三次样条函数S(x),使得满足下列条件:(1)(2)在每个小区间 上是一个三次多项式; (3) .0121nnaxxxxxb( )(0,1,2, )iif xy in( ),0,1,2, ;iis xy in1 ,iix x2 , ( )a bS xc构造函数:假设在区间 上三次样条函数 存在,并用 来表示 在点xi处的微商值。由于曲线通过点 ,并且在每一个小区间 上满足条件: 故可利用Hermite插值公式写出小区间 上的三次样条函数 的计算公式: , a b( )S xim( )S x( ,

42、)(0,1,2, )iix yin1 ,iix x1111( )()( ),()iiiiiiiiS xyS xyS xmS xm1 ,iix x( )S x2111( )(12)()iiiiiiixxxxS xyxxxx21111(12)()iiiiiiixxxxyxxxx211()()iiiiixxxxmxx2111()()iiiiixxxxmxx求样点 上微商值 ,在样点 上对x求微商,并令 得: (0,1, )ix inimix1iiihxx112323612612( )()()iiiiiiiiSxxxyxxyhhhh11222626()()iiiiiiiiixxmxxmhhhh1123

43、23612612()()()iiiiiiiiiiiSxxxyxxyhhhh11222626()()iiiiiiiiiixxmxxmhhhh1122261242iiiiiiiiyymmhhhh 由于二阶微商连续,因此 即1123231111612612()()()iiiiiiiiiiiSxxxyxxyhhhh112211112626()()iiiiiiiiiixxmxxmhhhh112211116624iiiiiiiyymmhhhh()()SxSx112211116624iiiiiiiiyymmhhhh11226642iiiiiiiiyymmhhhh 整理:方程两边同时除以2得:22111133

44、12iiiiiiiiyymmhhhh11223322iiiiiiiiyymmhhhh 112211111113()3()11112()iiiiiiiiiiiiiyyyyhhmmmhhhh将方程两端同时乘以 得:左端: 其中: 令11iiiihhhh111111133.().()iiiiiiiiiiiiiihhhhyyyyhh hhh h11113()()iiiiiiiiyyyyhh11iiiihhh11iiiihhh11113()()iiiiiiiiiyyyyhh右端: 111111111.2.iiiiiiiiiiiiiiihhhhhhmmhhhhhhh1111.iiiiiihhmh hh11

45、1112iiiiiiiiihhmmmhhhh11(1)2iiiiimmm建立的方程组为: (*) 这是一个n+1个未知量 的n+1个线性方程组,方程组有无穷多个解,为了确定唯一解,补充两个边界条件。 常见的边界条件有:(1)曲线在两端点x0,xn处的切线斜率已知,即 已知,那么由 构成的n-1个方程的方程组解唯一。(2)函数在两端点x0和xn处二阶微商的零,即 或,由我们推得 的方程得:11(1)1,2,1iiiiiimmmin01,nm mm00(), ()nns xm s xm01,nm mm00nyy0()()0ns xs x()()0s xs x于(*)式联立,也可唯一解出未知数 ,利

46、用 的条件有: 利用 的条件有:0110011132()32()nnnnnmmyyhmmyyh01,nm mm0()0Sx001012200006642()0Sxyymmhhhh 010103()2yymmh()0nSx1112211116624()0nnnnnnnnnSxyymmhhhh11132()nnnnnmmyyh解三对角方程组的求解过程其中 方程组写为: 001012(1)2nnnnmmmm0010101331,0,(),()nnnnnyyyyhh00101011212122322(1)2(1)2mmmmmmmm121111(1)2(1)2nnnnnnnnnnmmmmm求递推公式:将

47、 代入上列方程组,并加以整理得: 记作以此类推得到: 其中 这样,就可以逐个解出mi。00100001010222mmmmA mB 00,A B121AmB1101121010(1)2(1)2(1)BmmAA 1,0,1,1iiiimAmB in1,2(1)iiiiAA11(1),2(1)iiiiiiBBA11(1)2(1)nnnnnnnBmBA计算三次样条的步骤:(1)根据给定点 及相应的边界条件计算方程组及边界条件系数 。(2)在给定的边界条件下解方程组,计算 。(3)由求得的 ,求出小区间 上的样条函数 。(4)计算区间上的样条插值函数 。*应当指出,样条函数不一定必须是逐段三次多项式,也可以逐段是一个简单的函数,且连续点保持足够的光滑。但三次多项式计算简单,且满足一般实际问题的要求,故用得最多。( ,)iix y,ii 01,nm mmim1 ,iix x( )s x( )s xnnnnnMMMM110110n1 -n221102)1 ( 2 )-(1 2 )-(1 2)1 (2算法算法(1) i = 1, 2, , nhi = xi xi-1 (2) i = 1, 2, n(3)解n 1阶三对角方程组,得M1 , M2 , Mn-1 代入端点条件计算M0 , Mn1111)(6iiii

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论