Chapt数值微积分的数值解法_第1页
Chapt数值微积分的数值解法_第2页
Chapt数值微积分的数值解法_第3页
Chapt数值微积分的数值解法_第4页
Chapt数值微积分的数值解法_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

1、第5章 微积分的数值解法 在现代工程领域或者科研过程中所遇到的许多实际问题的求解,常常归结为定积分的计算。例如,力学和电气中功和功率的计算、电流电压平均值及有效值的计算,几何学中面积和何种及其重心的计算,化学化工中的热容、热焓、转化率、反应时间和反应器体积等等的计算,都与某些定积分的计算有关。但很多情况下,其积分函数f(x)的关系难以明确表示,即使能用解析明确表示,有时表达式也很复杂,不能用于实际计算。本章介绍计算积分和导数的实用数值方法。 5.1 数值积分的基本思想 一、定积分的数学含义 由定积分的定义: 其中 为第i个积分区间 内任一点。当n足够大时有以下近似表达式:将被积函数在积分区间上

2、足够多的离散点的函数值与其所在小区间长度乘积之和作为定积分的近似数值。 1( )lim( )bniiniaIf x dxfx(5-1)iix1( )( )bniiiaIf x dxfx(5-2)5.1 数值积分的基本思想二、定积分的几何含义 (5-2)式告诉我们,定积分的值就是由下面四条曲线所转面的面积,即: ,0,( )xa xb yyf xab( )f x( )f图5-1 定积分的几何意义 5.1 数值积分的基本思想如图5.1中所示的阴影部分的面积。这就是定积分的几何意义。 当求积区间只有一个时当求积区间只有一个时1. 由积分中值定理,在(a, b)中必存在一点,使得 2.用f(a)和f(

3、b)的平均值近似代替f(),则:3.用中点的函数值近似代替f(),则: I( )() ( )baf x dxba f( )( )I( )()2baf af bf x dxbaI( )()2baabf x dxba f5.1 数值积分的基本思想推广到更一般情况,当把求积区间(a,b)(a,b)分成n个小求积区间时,则根据定积分的几何定义,我们有其中 为小区间长度分点为 ,它们所对应的纵坐标(函数)分别为 。如图5-2,取其中任一个小区间 进行分析。该区间为一曲边梯形,y用以下方法求其面积。1I( )( )bniiiaf x dxfxibaxxn ix0121,kknxa x xxxxb121(

4、),( ),(),(),(),( )kkf af xf xf xf xf b1(,)(0,1,2,1)kkxxkn5.1 数值积分的基本思想1. 用小矩形或小梯形近似表示时,然后求和得到I , 这就是高等数学中的矩形积分法和梯形积分法。它们都是用直线(一次函数)代替曲线(f(x)函数)求得的近似值,精度较低,一般要求N取得足够大才能保证精度。2. 当用曲线去逼近f(x)时,只要曲线近似程度足够高,一般都能满足计算精度要求。 本章按照上述思想,主要介绍梯形积分法、抛物线积分法(Simpson法)、Newton-Cotes积分法,龙贝格积分法以及高斯积分法5.2 梯形积分法 一 定步长梯形积分法1

5、. 算法分析 设在区间(a, b)上有可积函数f(x),求积分值将区间(a, b)分成n个相等的小区间,每个小区间之长为: h=(b-a)/n各分点: x0=a, x1, x2, , xi, xi+1, , xn=b其中 xi=a+i*h (i=1,2,3, ,n) 用p(x)=c*x+d直线近似代替f(x)(参见图5-2) T( )baf x dx5.2 梯形积分法用插值的方法,我们可求得将其代入积分公式有11(,()iixf x( ,( )iixf x( )p xcxd1111( )()( )iiiiiiiixxxxp xf xf xxxxx5.2 梯形积分法第i个区间: Ti=(f(xi

6、)+f(xi+1)*h/2 第i-1个区间: Ti-1=(f(xi-1)+f(xi)*h/2 求和得到: 定步长梯形积分法的截断误差为: 1101T( ( )( )/2( ) ,1,2,3, -1nniiiihf af bf xxaxxhin(5-3)(1)02( ) ( )( )d()d(1)!()( )12nnbbnkaakfR ff xpxxxxxnbah f5.2 梯形积分法 该误差按h的2次方的速度下降,即定步长梯形积分法的误差阶为2,也就是说,定步长梯形积分法具有一阶代数精度(因为代数精度等于误差阶减1,所以2-1=1)。2. 定步长梯形积分法的程序框图与通用程序设计 定步长梯形积

7、分法的通用程序框图如图5-3所示,共分为三个程序框图,即在图中(1)为调用子程序的主控程序框图,(2)为函数子程序框图,(3)为积分通用子程序框图。5.2 梯形积分法(1)主控程序框图(2)函数子程序框图STARTINPUT a,b,nCALL sub TOUTPUT solENDFUNCTION FF=exprEND FUNCTION图5-3 梯形积分法的程序框图5.2 梯形积分法subroutineh=(b-a)/nComp f(a),f(b)T=(f(a)+f(b)/2DO i=1,n-1x=a+i*hComp f(x)T=T+f(x)END DO iT=T*hEND subroutin

8、e(3)梯形积分子程序框图5.2 梯形积分法10C 主控程序20 PROGRAM main30 read(5,*) a,b,n40 call SUBRPUTINE50 &txjf(a,b,n,T) 60 write(6,*) T70 END80C 函数子程序90 FUNCTION f(x)100 f=expr(x)110 END FUNCTION f120C 梯形积分子程序130 SUBRPUTINEtxjf(a,b,n,T) 140 h=(b-a)/n150 T=(f(a)+f(b)/2160 x=a170 DO i=1,n-1180 x=a+i*h(x=x+h)190 T=T+f(

9、x)200 END DO210 T=T*h220 END SUBRPUTINE txjf 11( ) niif x5.2 梯形积分法二、变步长梯形积分法 前面介绍了定步长梯形积分法。采用定步长梯形积分法求定积分时,步长的选择应该是适当的。如果采用定步长梯形积分法,只有改变N值,比较几组计算结果才能判是否达到精度要求,这样程序的执行就受到人工干扰,占用了机时,降低了计算机的效率。为此,需要寻求新的改善计算精度途径。截断误差分析表明,只要步长h充分小,必可满足精度要求。因此,通常采取逐步缩小步长h的办法。自动变步长梯形积分法是计算机根据精度要求进行自动判断,逐步逐步缩小步长h。1. 算法分析 其基

10、本思想为:逐步变更步长,用二分法使步长逐次变小, 直到满足精度。 5.2 梯形积分法N=1:N=1: h1=b-a T1=f(a)+f(b)*h1/2 N=2:N=2: h2=h1/2 T2=f(a)+f(b)*h2/2+f(x1)*h2 =T1/2+f(x1)*h2 N=4: N=4: h4=h2/2T4=f(a)+f(b)*h4/2+f(x1)+f(x2)+f(x3)*h4 =T2/2+f(x1)+f(x3)*h4 abab1xab1x2x3x5.2 梯形积分法N=2n:N=2n:注:注:xi=a+(2*i-1)*h2n:上一次积分区间的中点。 在计算 的过程中,每当算出一新的近似值时,便

11、检查判断下列条件是否成立: 如果条件成立,则 就是符合精度要求的积分近似值,否则缩小步长h2n再行计算,直到满足条件为止。 22221 /2 (2 -1) TT /2( ) nninnnnniihhxaihhf x12482,nnT T T TT T2nnTTE (E为容许误差) 2nT(5-4)5.2 梯形积分法变步长梯形积分法的截断误差为:2. 变步长梯形积分法的程序框图与通用程序设计 变步长梯形积分法的通用程序框图如图5-4所示,也共分为三个程序框图,即在图中(1)为调用子程序的主控程序框图,(2)为函数子程序框图,(3)为积分通用子程序框图。(1)和(2)与上一节雷同,因此这里只画出梯

12、形变步长积分法通用子程序框图(3)。2() ( )12 4nbaR fh f 5.2 梯形积分法subroutineh=(b-a)Comp f(a),f(b)T1=(f(a)+f(b)/2DO i=1,nh=h/2;T2=T1/2Comp f(x)T2=T2+f(x)END DO in=2*n;T1=T2END subroutine图5-4 梯形积分法子程序框图n=1x=a+(2*i-1)*habs(T2-T1)e) then100 n=2*n;T1=T2110 goto 45120 endif130 END SUBRPUTINE btxjf5.2 梯形积分法3.应用实例分析例例5.15.1

13、已知圆周率的近似值可以由下列定积分求出试求出圆周率的似近值。解:解: 因为所以求解此问题的函数程序程序为80C 函数子程序90 FUNCTION f(x)100 f=4.0/(1+x*x)110 END FUNCTION f 12041dxx24( )1f xx5.2 梯形积分法n n101020204040100100200200300300T T33139926331399263.1411763.1411763.1414893.1414893.1415763.1415763.1415893.1415893 3141591141591表5.1 梯形积分法输入不同N地的计算机输出结果 由上表可

14、以看出,定步长梯形积分法的收敛速度是很慢的,由上表可以看出,定步长梯形积分法的收敛速度是很慢的,对于本例,对于本例,N=300N=300时,即把积分区间时,即把积分区间00,11划分为划分为300300个小区个小区间时才使计算结果精确到间时才使计算结果精确到 0.000010.00001。 5.3 Simpson积分法 梯形积分法是用直线段(一次二项式)去逼近曲线f(x),而Simpson 是用抛物线段(二次三项式)去逼近曲线f(x). 一、定步长Simpson积分法1.算法分析 设将(a, b)分为n个(偶数)相等的小区间,则 求积节点坐标 对应求积点函数值( )baSf x dx( - )

15、/hb an012, , , nxa xxxb011( ), ( ),( )nyf ayf xyf b5.3 Simpson积分法被积曲线用 y=f(x) 表达,而逼近曲线则采用 y=Ax2+Bx+C 0 xa1x2xix1ix2ixnxb( )yf x2yAxBxC5.3 Simpson积分法第一段:x0,x1,x2 有同理,第二段:x2,x3,x4 有第末段: xn-2,xn-1,xn 有200021112222yAxBxCyAxBxCyAxBxC求出系数求出系数A, B, C 2021012 ()d(4)/3xxSAxBxCxyyyh2234(4)/3Syyyh/221(4)/3nnnn

16、Syyyh5.3 Simpson积分法共有n/2小块面积,对它们求和即可得Simpson法求积公式或这里01234-1013-124-2(42424)/3()4()2()/3nnnnnSyyyyyyyhyyyyyyyyh(5-5)/2/2 121211/2/221211 ( )( )4()2() /3 ( )-( )4()2() /3nnijijnnijijSf af bf xf xhf af bf xf xh(5-6)212(21),2iixaihxaih5.3 Simpson积分法同理我们可以推出辛普森积分法的截断误差为:由上式可知辛普森积分法的误差阶和代数精度分别为4和3,在积分小区间总

17、数与梯形积分法相同,辛普森积分法的精度较高。2.通用程序框图与通用程序设计 这里只画出Simpson定步长积分法通用子程序框图(3)。 4(4)() ( )180baR fh f (5-7)5.3 Simpson积分法subroutineh=(b-a)/nComp f(a),f(b)S=f(a)-f(b)DO i=1,mComp f(x1), f(x2)S=S+4*f(x1)+ 2*f(x2)END DO ix2=a+(2*i)*hEND subroutine图5-5 Simpson法子程序框图m=n/2x1=a+(2*i-1)*hS=S*h/35.3 Simpson积分法10 SUBRPUT

18、INE Simpson(a,b,n)10 SUBRPUTINE Simpson(a,b,n)20 h=(b-a)/n20 h=(b-a)/n30 m=n/230 m=n/240 S=f(a)-f(b)40 S=f(a)-f(b)50 DO i=1,m50 DO i=1,m60 x1=a+(260 x1=a+(2* *i-1)i-1)* *h h70 x2=a+270 x2=a+2* *i i* *h h80 S=S+4.080 S=S+4.0* *f(x1)+2.0f(x1)+2.0* *f(x2)f(x2)90 END DO90 END DO100 S=S100 S=S* *h/3.0h/3

19、.0110 END SUBROUTINE Simpson110 END SUBROUTINE Simpson5.3 Simpson积分法二、变步长Simpson积分法1.算法分析 步长缩小和误差控制方法均与变步长积分雷同,即步长折半、 。基本思想如下:N=1N=1: 求积点 x0=a,x1,x2=b H1=(b-a)/2 S1=f(a)+4*f(x1)+f(b)*H1/3N=2N=2: 求积点 x0=a,x1,x2,x3,x4=b H2=H1/2 S2=f(a)+4f(x2)+2f(x1)+4f(x3)+f(b)*H2/3 =f(a) +f(b)+2*f(x2) +4*f(x1)+f(x3)*

20、H2/3 2 |-|nnSSab1xab1x2x3x5.3 Simpson积分法N=2n:N=2n:关于变步长Simpson积分法的递推计算公式以及程序框图和通用FORTRAN程序将在后面几种积分比较部分提示。这里给出一个通用的FORTRAN程序清单: 12212211 ( )( )4()2 () /3nnniiniiSf af bf xf xh(5-8)5.3 Simpson积分法10 SUBRPUTINE Simpb(a,b,E)10 SUBRPUTINE Simpb(a,b,E)20 h=(b-a)/220 h=(b-a)/230 s2=0;n=130 s2=0;n=140 s0=f(a

21、)+f(b)40 s0=f(a)+f(b)45 s1=f(a+h)45 s1=f(a+h)50 s=(s0+4.050 s=(s0+4.0* *s1)s1)* *h/3.0 h/3.0 6060 n=2 n=2* *n;h=h/2.0n;h=h/2.070 s2=s2+s170 s2=s2+s180 s1=0.080 s1=0.090 x=a+h90 x=a+h100 DO i=1,n100 DO i=1,n110 s1=s1+f(x)110 s1=s1+f(x)120 x=x+h+h130 END DO140 s2n=(s0+2.0*s2+4.0*s1)150&*h/3.0160 i

22、f(abs(s2n-s)E) then170 s=s2n180 goto 60190 endif200 END SUBROUTINE Simpb 5.4 Newton-Cotes积分法 在梯形积分法中,是用一次二项式(直线)去逼近曲线f(x);在Simpson积分法中,是用二次三项式(抛物线)去逼近曲线f(x)。而在N-C积分法中,用的是m 次多项式去逼近曲线f(x)。 设在被积区间a, b选取m+1个插值点,用m 次多项式pm去逼近曲线f(x),则:利用拉格郎日插值多项式 ( )( )bbmaaf x dxpx dx()0( )()(),0,1,2, bmmkkkaf x dxbaCf xk

23、m(5-9)5.4 Newton-Cotes积分法其中:Ck (m)为Cotes系数,可以具体求出起其值:m=1: C0(1) =1/2; C1(1)=1/2m=2: C0(2)=1/6; C1(2)=4/6; C2(2)=1/6见下表 注:在实际应用中,一般m9,否则会产生计算不稳定。 上面所谈到的问题,是在整个区间a, b上用Pm去逼近f(x)。下面看看用N-C公式即(5-1)式用在小区间时情况,将a, b分成n个小区间。有: ()0( 1)(1)(1)(1)()! ()!mm kmkCt ttktktm dtm kmk5.4 Newton-Cotes积分法 K m 0 0 1 1 2 2

24、 3 3 4 4 5 5 6 6 7 7 8 8 11/21/21/21/2 21/61/64/64/61/61/6 31/61/63/83/83/83/81/61/6 47/907/9032/9032/9012/9012/9032/9032/907/907/90 519/28819/28825/9625/9625/14425/14425/14425/14425/9625/9619/28819/288 641/84041/8409/359/359/2809/28034/10534/1059/2809/2809/359/3541/84041/840 7751/17751/172802803577

25、/173577/172802801323/171323/172802802989/172298917229891721323173577172751/1728080 8989/28989/283503505838/285838/28350350- -928/283928/283505010496/2810496/28350350- -4540/2834540/283505010496/2810496/28350350- -928/283928/28350505838/285838/28350

26、350989/283989/28350505.4 Newton-Cotes积分法 x0=a, x1, x2, , xn-1, xn=b, h=(b-a)/n当项次m=1时: x0, x1 x1, x2xn-1,xn 1(1)(1)10001110( )()()() ( )() /2xxf x dxxxCf xCf xf af xh2121( )( ()() /2xxf x dxf xf xh11( )( ()( ) /2nnxnxf x dxf xf b h5.4 Newton-Cotes积分法求和得到 *复化梯形求积公式同理,当m=2时,在每一个小区间xk, xk+1上增加一个分点(中点),

27、xk+1/2=(xk+ xk+1)/2= xk+ h/2,此时区间a,b上共有2n+1个等距求积节点,即: x0, x0+1/2, x1 , x1+1/2, x2, , xn+1/2, xn 两节点之间的距离(新的步长)h=h/2。因此, m=2时的求积公式为1111( ) ( )( )2( ) /2 ( )( )2( )()/2bniianiif x dxf af bf xhf af bf xban(5-10)5.4 Newton-Cotes积分法*复化Simpson求积公式求和当项次m=4时: 在xk, xk+1上增加三个分点xk+1/4,xk+2/4, xk+3/4 使xk+1/4 =

28、xk+ h/4, xk+2/4 = xk+ 2h/4, xk+3/4 = xk+ 3h/4 ,此时区间a,b上共有4n+1个等距求积节点,两节点之间的距离(新的步长)h=h/4。同理,求和得111/410112/43/400( )7 ( ) ( ) 14( )32()+12()32()()/90bnnikikannkkkkf x dxf af bf xf xf xf xban(5-12)111/201121211( ) ( )( )4()2( ) /6 ( )( )4()2() ()/6bnnkikianniiiif x dxf af bf xf xhf af bf xf xban(5-11)

29、5.5 RombergRomberg积分法*复化Newton-Cotes求积公式一、一、 RombergRomberg积分积分算法分析算法分析 RombergRomberg积分法积分法是是用计算精度较低的二分前后两次积分近似值,用计算精度较低的二分前后两次积分近似值,通过误差补偿法来获得收敛速度较快的一种积分方法。通过误差补偿法来获得收敛速度较快的一种积分方法。1 1、 梯形积分法的误差估计(见式梯形积分法的误差估计(见式3-33-3)( (线性组合线性组合) ) T T* *-T-T2n2n(T(T2n2n-T-Tn n)/3)/3 其中其中T T* *为精确值为精确值 T T* * T T

30、2n2n +(T(T2n2n-T-Tn n)/3)/3 4 4* *T T2n2n/3-T/3-Tn n/3 /3 =S =Sn n (5-13) (5-13)式说明式说明 T T2n2n的误差约等于的误差约等于(T T2n2n-T-Tn n)/3/3, ,将这个误差作为将这个误差作为一种补偿加到一种补偿加到T T2n2n上,可期望得到更精确的上,可期望得到更精确的SimpsonSimpson的积分公式的积分公式 它是它是梯形积分法二分前后两次积分近似值进行线性组合。梯形积分法二分前后两次积分近似值进行线性组合。 (5-13)(5-14)5.5 RombergRomberg积分法2 2、Sim

31、psonSimpson积分法的误差估计积分法的误差估计( (线性组合线性组合) ) S S* *-S-S2n2n(S(S2n2n-S-Sn n)/15)/15 其中其中S S* *为精确值为精确值 S S* *S S2n2n +(S(S2n2n-S-Sn n)/15 )/15 16 16* *S S2n2n/15-S/15-Sn n/15 /15 =C =Cn nSimpsonSimpson积分法二分前后两次积分近似值进行线性组合,得到积分法二分前后两次积分近似值进行线性组合,得到Newton-CotesNewton-Cotes的积分公式(精度更高)。的积分公式(精度更高)。3 3、Cotes

32、Cotes积分公式进行线性加速积分公式进行线性加速C C* *-C-C2n2n(C(C2n2n-C-Cn n)/63)/63其中其中C C* *为精确值。为精确值。同理同理 C C* * C C2n2n +(C(C2n2n-C-Cn n)/63 )/63 64 64* *C C2n2n/63-C/63-Cn n/63 /63 =R =Rn n(5-15)(5-16)(5-17)(5-18)5.5 RombergRomberg积分法 Cotes Cotes积分法二分前后两次积分近似值进行线性组合,得到积分法二分前后两次积分近似值进行线性组合,得到RombergRomberg的积分公式(精度更高)

33、。注意,此时不能再对的积分公式(精度更高)。注意,此时不能再对RombergRomberg的积分进行线性加速。因为此时插值多项式已经为八的积分进行线性加速。因为此时插值多项式已经为八次,它具有九次插值多项式的精度。依据插值多项式的理论,次,它具有九次插值多项式的精度。依据插值多项式的理论,当插值多项式的次数超过九次时,将出现不稳定情况。因此,当插值多项式的次数超过九次时,将出现不稳定情况。因此,到此为止。到此为止。 RombergRomberg积分法不仅精度高,而且它从最简单的梯形积分开始,积分法不仅精度高,而且它从最简单的梯形积分开始,逐步加工成收敛速度快的逐步加工成收敛速度快的CotesC

34、otes积分法。积分法。二、二、 RombergRomberg积分法积分法通用程序框图与通用程序设计通用程序框图与通用程序设计1.1.算法过程算法过程5.5 RombergRomberg积分法T1T2T4T8T16S1S2S4S8C1C2C3R1R2图5-6 Romberg法子积分图end subroutineh=b-a;t1=(f(a)+f(b)*h/2;K=1s=0; x=a+h/2s=s+f(x); x=x+hxb?t2=t1/2+s*h/2s2=t2+(t2-t1)/3k=1?k=k+1;h=h/2;t1=t2;s1=s2c2=s2+(s2-s1)/15k=2?r2=c2+(c2-c1

35、)/63c1=c2k=3?r1=r2abs(r2-r1)E?YNNNNYNYYsubroutine图5-7 Romberg法子程序框图5.5 RombergRomberg积分法10 subroutine romberg(a,b,E)10 subroutine romberg(a,b,E)20 h=b-a;t1=(f(a)+f(b)20 h=b-a;t1=(f(a)+f(b)* *h/2h/230 k=130 k=140 s=0;x=a+h/240 s=0;x=a+h/250 if(xb) then 50 if(xE) then220 if(abs(r2-r1)E) then230 goto 1

36、90 230 goto 190 240 endif240 endif250 end subroutine romberg250 end subroutine romberg3.3.程序语言程序语言5.5 RombergRomberg积分法 读懂本程序的关键在于看懂控制变量k(步长折减次数)。当k=1时,程序刚开始,程序只求出t2和s2(实际上s1);当k=2时,步长折二分,t1=t2, s1=s2,且程序又求出新的t2(实际上为t4)和s2,同时求出c2,并且令c1=c2;当k=3时,步长再折二分,t1=t2, s1=s2, 同时又求出新的t2(实际上为t8)和s2(实际上为s4)。求出新的c

37、2,且执行c1=c2,求出r2,且执行r1=r2, c1=c2;当k=4时,步长再折二分, t1=t2, s1=s2, 同时又求出新的t2(实际上为t16)和s2(实际上为s8)以及c2(实际上为c4),新的r2。此后,只要当k3,程序每次都执行判断abs(r2-r1)是否满足精度要求,若满足,则结束,否则执行r2=r1和c1=c2,且重复k=4(只是k值不同)的过程,直至满足精度要求。5.6 GaussGauss积分法 前面介绍的几种积分法都是在等分区间情况下进行讨论的,而Gauss积分法则是适用于不等分区间的一种非常有效的数值积分方法。一、高斯点及高斯公式简介 首先介绍一下代数精度的概念。

38、一个求积公式,如果对于任何一个不超过m次多项式fm(x)均能使其余项积分为零,即Rf=0,但对于m+1次多项式不能能使其余项积分为零,即Rf0,则称此求积公式具有m次代数精度。 内插求积公式可以表示为0( )d( )nbiiaif xxA f x(5-19)5.6 GaussGauss积分法 在等距节点的情况下,我们可以验证它具有n次代数精度。假定若节点数目一定,我们能否通过适当地选择节点的位置,使积分公式具有更高的代数精度呢?Gauss首先指出,若我们选择的接点x0,x1,x2, xn所构成的多项式 与任意次数不超过n次的多项式p(x)都正交,即 则因 为次数不超过2n+1次的多项式,故求积

39、公式(5-19)式具有2n+1次代数精度。 考虑积分012( )()()()()nxxxxxxxxx( ) ( )d0bax p xx( ) ( )x p x( )dbaf xx5.6 GaussGauss积分法 的上下限a,b是变动的,通过积分变换可将上下限变为固定的值 1和1。事实上,令 ,可以将积分区间a,b变换为-1,1,即因此,不失一般性,可考察区间-1,1上的Gauss积分公式 () /2()/2xba tba11( )d()d222babababaf xxftt110( )d( )niiif xxA f x(5-20)5.6 GaussGauss积分法常用的Gauss积分公式如下

40、:(1)Gauss-Legendre积分公式 (4)Gauss-Hermite积分公式(2)Gauss-Chebyshev积分公式(3)Gauss-Laguerre积分公式110( )d( )niiif xxA f x11021( )d(cos)122niiif xxA fnn00( )d( )nxiiief xxA f x20( )d( )nxiiief xxA f x5.6 GaussGauss积分法nxiAinxiAi00230.86113630.33998100.34785480.652145211208/95/9400.90617980.53846930.56888890.23692

41、690.47862873/53/3表Gauss-Legendre求积公式的xi与Ai5.6 GaussGauss积分法nxiAinxiAi01130.32254771.74576114.53662039.35907090.60315410.35741870.03888790.000539310.58578643.41421360.85355340.146446620.41577462.29428046.28994510.71109300.27851770.010389340.26356031.41340313.59642587.085810012.64080080.52175560.39866

42、680.07594240.00361180.0000234表2 Gauss-Laguerre求积公式的xi与Ai5.6 GaussGauss积分法nxiAinxiAi001.772453930.52464761.65068010.80491410.081312810.70710680.8862269201.22474491.18163590.2954110400.95857262.02018290.94530870.39361630.0199532表3 Gauss-Hermite求积公式的xi与Ai5.6 GaussGauss积分法例用阶数n=2的Gauss求积公式计算以下积分的近似值解:由于

43、n=2,在表中查出Gauss求积点坐标和权系数1204Id1xx01013/3,3/3,1xxAA 001122I()()22222144112131131112322323.14754086bababababaA fxA fx 5.6 GaussGauss积分法subroutinexm=(b+a)/2; xr= (b-a)/2; s=0DO i=1,ndx=xr*x(i)Comp f(xm+dx), f(xm-dx)s=s+w(i)*(f(xm+dx)+f(xm-dx)END DO is=xr*sEND subroutineINPUT x(i), w(i)图5-8 Gauss积分子程序框图5

44、.6 GaussGauss积分法10 subroutine gausint(a,b,s)10 subroutine gausint(a,b,s)20 dimension x(i),w(i)20 dimension x(i),w(i)30 data w/0.2955242,0.269266730 data w/0.2955242,0.269266740 &,0.2190864,0.149451340 &,0.2190864,0.149451350 &,0.066671350 &,0.066671360 data x/0.1488743,0.433395460 da

45、ta x/0.1488743,0.433395470 &,0.6794096,0.865063470 &,0.6794096,0.865063480 &,0.973906580 &,0.973906590 xm=(b+a)/2;xr=(b-a)/290 xm=(b+a)/2;xr=(b-a)/2100 s=0100 s=0110 do i=1,5110 do i=1,5120 dx=xr120 dx=xr* *x(i)x(i)130 s=s+w(i)130 s=s+w(i)* *(f(xm+dx)+(f(xm+dx)+140 & f(xm+dx) 140

46、 & f(xm+dx) 150 end do150 end do160 s=xr160 s=xr* *s s170 end subroutine gausint170 end subroutine gausint5.7 数值微分数值微分法 在现代工程技术领域和科研过程中,数值微分法虽然不像数值积分法那样用途广泛,但还是经常碰到数值微分问题。严格地说,数值微分法应叫做数值导数法(微分是差,而导数才是差商的极限形式),但由于历史的原因,我们这里仍延用数值微分这一概念。一、差商法求数值微分1、算法分析 考虑一个在点附近能够解析的函数f(x),在 点它可以展开为Taylor级数,并去前两项,有

47、 ()ixh2()( )( )()iiif xhf xhfxO h(5-21)5.7 数值微分数值微分法其中 为 的同阶无穷小。由(5.21)式求得函数的一阶导数表达示为我们称(5.22)式为f(x)在 点的误差阶为h的向前差分式,即同样使用泰勒级数将f(x)在 点展开并整理可得我们称(5.24)式为f(x)在 点的误差阶为h的向后差分式2()O h2h()( )( )( )iiif xhf xfxO hh(5-22)()( )( )iiif xhf xfxh(5-23)()ixh( )()( )iiif xf xhfxh(5-24)ixix5.7 数值微分数值微分法取(5.23)式和(5.2

48、4)式的算术平均值,有(5.25)式称为f(x)在 点一阶中心差商近似公式。2、程序框图与程序设计 ()()( )2iiif xhf xhfxh(5-25)ix5.7 数值微分数值微分法subroutinex1=x-h;x2=x+hDO x=a,b,hcomp f(x1), f(x2),f(x)END DO xEND subroutineddf1=(f(x2)-f(x)/hddf2=(f(x)-f(x1)/hddf3=(f(x2)-f(x1)/2/h图5-9 差商数值微分子程序框图5.7 数值微分数值微分法10 subroutine diffder(a,b,h)20 do x=a,b,h30 x1=x-h;x2=x+h40 ddf1=(f(x2)-f(x)/h50 ddf2=(f(x)-f(x1)/h60 ddf3=(f(x2)-f(x1)/h70 end do80 End subroutine diffder5.7 数值微分数值微分法二、插值法求数值微分1、算法分析 用插值公式求数值微分有两点公式、三点公式、四点公式和五点公式等等,下面介绍常用的三点公式。 已知f(x)在等距节点 的函数值 ,且函数f(x)的二阶导数存在,作三点二次插值函数F(x)并对F(x)求导得三

温馨提示

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

评论

0/150

提交评论