计算方法教程

计算方法教程

ID:83041616

大小:256.89 KB

页数:96页

时间:2023-07-04

上传者:无敌小子
计算方法教程_第1页
计算方法教程_第2页
计算方法教程_第3页
计算方法教程_第4页
计算方法教程_第5页
计算方法教程_第6页
计算方法教程_第7页
计算方法教程_第8页
计算方法教程_第9页
计算方法教程_第10页
资源描述:

《计算方法教程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

第一章方程的近似解法4§1.1引言4§1.2根的隔离5§1.3对分法6§1.4迭代法8§1.5牛顿法10§1.6弦截法12§1.7用牛顿法解方程组13§1.815第二章线性方程组的解法15§2.1引言15§2.2消去法18§2.3直接三角分解法22§2.4对称矩阵的LDI7分解23§2.5简单迭代法24§2.6塞德尔迭代法28§2.733第三章矩阵的特征值问题34§3.2哥法和反靠法35

1§3.2雅可比方法36§3.3QR方法*42本章小结43第四章插值与拟合44§4.1引言44§4.2插值多项式的存在和唯一性45§4.3拉格朗日插值多项式46§4.4均差插值公式48§4.5差分等距结点插值公式50§4.6爱尔米特插值公式52§4.7样条插值公式53§4.8最小二乘法57§4.9数值微分60本章小结63第五章数值积分64§5.1引言64§5.2牛顿一科特斯型积分公式65§5.3复合积分公式67§5.4龙贝格积分公式70§5.5高斯积分公式71本章小结73第六章常微分方程的数值解法74

2§6.1弓I言74§6.2欧拉法和改进的欧拉法75§6.3龙格一库塔方法77§6.4阿达姆斯方法80§6.5线性多步法81§6.6微分方程组和高阶微分方程解法82§6.784§6.8差的预备知识85§0.1综述85§0.2误差的预备知识89本章小结95

3第一章方程的近似解法§1.1引言方程f(x)=O的解称为方程的根。也叫做函数f(x)的零点。方程求根大致包括三个问题(1)方程有没有根?如果有根,有几个根?(2)哪里有根?求有根的区间,区间内的任意一点作为根的近似值。(3)根的精确化,已知一个根的近似值后设法逐步把根精确化,直到足够精确为止。本课程主要研究问题(2)和(3)o

4§1.2根的隔离求方程f(x)=O的解的近似值时,首先要确定若干个区间,使每个区间内只有的一个根,这个步骤称为根的隔离。对一般的方程,根的隔离有两种方法(1)试值法。求出f(x)在若干点上的函数值,观察函数值符号变化的情况,从而确定隔根区间。(2)作图法。画出y=f(x)的草图,观察曲线y=f(x)与x轴交点的大致位置,从而确定隔根区间。例1.2.1讨论方程f(x)=2x3-4x2+4(x-l)2=0的根的位置。例1.2.2将方程xk)g(x)=1的根进行隔离[f(x)=xlog(x)-l=0]o例1.2.3求方程f(x)=x5+2x4-5x3+8x2-7x-3=0的根。例1.2.4f(x)=2x4+5x3+8x2+7x+12=0的根。例1.2.5求方程f(x)=xl5+x3+l=0的根。

5设有方程f(x)=O在(ab)内有且仅有一个根x*,这时有f(a)f(b)<0可用对分法求x*的近似值,方法如下(1)准备:计算区间(ab)两个端点的函数值f(a),f(b)(2)对分:取c=(a+b)/2为(ab)的中点,计算f(c)(3)判断:如果f(c)=O,则c为f(x)=O的根,否则检验:若f(c)f(a)<0,则方程的根位于[ac]内,用c代替b,若f(c)f(b)<0,则方程的根位于[cb]内,用c代替a。(4)检验:若lb-al

6有根区间LOOOO2.00001.00001.5000L2500L50001.25001.3750131251.37501.31251.3438132811.34381.32811.33591.32811.33201.32811.33011.32811.3291方程的解x=1.3286

7§1.4迭代法设有方程f(x)=O在[ab]上有且仅有一个根x*,可用迭代法求x*的近似值,方法如下(1)将方程f(x)=O写成迭代形式x=(p(x)(2)在[ab]上任取一个初始值沏。(3)计算X|=(p(xo)(4)若lx1-xol

8例1.4.1用迭代法解方程*=10x-2,xo=l分别采用迭代格式x=10x-2和x=k)g(x+2),观察两个计算过程的区别。e=le-3迭代过程:1.00000.47710.39390.37910.37640.3759迭代6次x=0.3759例1.4.2用迭代法求方程f(x)=x3+2x-5=0的根,x()=l[xn+1=^5-2xn],迭代过程:1.00001.44221.28371.34491.32201.33061.32741.32861.3281迭代9次*=1.3281

9§1.4牛顿法牛顿法是解方程f(x)=O的重要方法,它也是一种迭代法。设有方程f(x)=O在[ab]上有且仅有一个根x*,可用牛顿法求X*的近似值,方法如下(1)求函数f(x)的导函数f'(x),牛顿法迭代公式为x=x-f(x)/f'(x)(2)在[ab]上任取一个初始值xo。(3)计算xi=Xo-f(xo)/f'(x0)(4)若Ixi-xoke(e为精度要求),此时计算结束x*=x”否则令Xq=X|转(3)。

10例1.5.1用牛顿法解方程f(x)=x3-2x2-4x-7=0在134J内的根[x*]。迭代过程:4.00003.67863.63293.6320迭代4次x=3.6320例152分别用牛顿法和牛顿下山法解方程f(x)=x3-x-l=0在[0.52]内的根。分别取初值Xo=1.5x0=0.6o观察两种方法的区别。

11§1.4弦截法弦截法也是一种是解方程f(x)=O的迭代法,它的特点是不需要计算f(x)的函数f,(x),且收敛速度也相当快,是工程计算中常用的算法之一。设有方程f(x)=O在[ab]上有且仅有一个根X*,可用弦截法求x*的近似值,方法如下(1)求函数f(x)在区间[ab]的两个端点的函数值f(x0),f(xj),其中a=xo,b=xi(2)计算X2=X|-f(X])[Xi-X0]/[f(X))-f(x0)J(3)若IX2-X[ke(e为精度要求),此时计算结束x*=x2,否则令x()=X|xf2转(2)«例1.6.1用弦截法求方程xL2x2-4x-7=0在[25]内的根。例162用弦截法求方程e2x+x-4=0在[01]内的根。

12§1.7用牛顿法解方程组设有非线性方程组u(x,y)=O,v(x,y)=O,在(xn,yn)按台劳级数展开,取展开式的第1,2项得到u(xn,yn)+5u(xn>Yn)/du(xn,yn)(xxn)+(yyn)=0oxdyAu(Xn,yn)加际广。dxHyv(xn,y„)+^%^(x-xJ+^M(y-yn)=0oxdy5v(xn,yn)Hv(Xn,yn)dxHy其中(Xn,yn)是根的第n次近似值,如果JnM方程组的第n+1次近似值仁用,丫用)可用以下公式计算皿山U(xn,yn)u(xy)au(xn,yn)1Oyn7n1uiXn'y"xn+l=xn+—dyn+i=yn+—3v(xy)ntv(xn,yn)Lv(xn,yn)吟必2ayox

13迭代初值xo=l,yo=1.4。迭代初值由12%=1.7。迭代初值xo=0,y0=Oo例1.7.1用牛顿法解方程组u(x,y)=x、y3T=0,v(x,y)=x4+y2-3=0Ou/3x=3x23u/3y=3y23v/3x=4x?9v/3y=2y)例1.7.2用牛顿法解方程组u(x,y)=2x3-y2-l=0,v(x,y)=xy3-y-4=0Ou/3x=6x2du/3y=-2x9v/dx=6y33v/3y=2xy2-l)例1.7.3用牛顿法解方程组u(x,y)=x-cos(y)=0,v(x,y)=y-sin(x)=0(3u/3x=13u/9y=sin(y)9v/3x=-cos(x)3v/3y=l)

14本章小结为了比较各种迭代方法的收敛速度,我们引入收敛阶的概念。设迭代过程X用=(p(Xn)收敛于方程X=(p(X)的|eI根X*,令en=Xn-x*,e_称为迭代误差,如果存在实数P21和非零常数K,使得lim?T=K,则称该f|en|迭代过程为P阶收敛的。P=1称为线性收敛,P>1称为超线性收敛,P=2称为平方收敛,显然P越大,迭代过程收敛的越快。可以证明当x*是方程f(x)=O的单根时,牛顿法是平方收敛的。当x*是方程f(x)=O的市根时,牛顿法仅为线性收敛。弦截法的收敛阶P=1.618。对分法的收敛速度与公比为1/2的等比级数相同。牛顿法:收敛速度最快,但要计算f(x)的导函数,计算量大,有发散问题。弦截法:收敛速度次之,不需要计算f(x)的导函数计算量比牛顿法小,有发散问题。对分法:收敛速度最慢,但简单有效,不存在发散问题。它一定收敛到有根区间[ab]内的某个根。第二章线性方程组的解法§2.1引言在科学实验和工程设计中,经常用到解线性方程组的问题。本章讨论用计算机求解线性方程组的两类主要

15a11x,+al2x2+---+alnxn=3「a”a2lai2,,a22,,a2lXI+a22X2+…+a?nxn=b2根据矩阵的性质可以写成anlx,+an2x2+---+annxn_anla“2Hia12"•ain简记为Ax=b其中A=a21a22•••a2nX=X2b=b2_anlan2…ann._Xn.方法:直接法和迭代法。解线性方程组的一般表达式方程组Ax=b有唯一解的充分必要条件是IAM)。我们只讨论这种情况下的解法。

16解线性方程组的方法可以分为两类:一类是直接法,它只包含有限次的四则运算,在每次运算都无舍入误差的情况下,所得到的是方程组的准确解。由于实际计算中总是有舍入误差,所以实际得到的也是近似解。令一类是迭代法,它首先选择一组初始值,再运用同样的计算步骤,重复计算,得到近似解。由于这类方法中出现了极限过程,必须研究迭代过程的收敛性。本章主要介绍:直接法中的高斯消去法和主元高斯消去法。迭代法中的简单迭代法和塞德尔单迭代法o

17§2.1消去法以n=4为例说明高斯消去法的计算过程,设有线性方程组a“X|+a12x2+a13x3+al4x4a2lXl+a22X2+a23X3+a24x4=ba31Xl+a32X2+a33X3+a34x4=bka4lXl+a42X2+a43x3+a44X4=b12X2+a13X3+3.4*4=bl⑴X22A2+a⑴22入3+a,;)X4=b?⑴X32A2+a⑴X33入3.ao>Y_h(o十a34X4-D3⑴X42A2+a⑴X43A3+a*>X4=b?aaaa/1+a=>⑵X”⑵X-h⑵33X3十a34X4一03⑵X”⑵X-h(2)43A3十d44A4—D4anxiai2x2+213X3+a,4x4=bja;;'*2+@飘3+a);)X4=b;anXj+a12x2+a13X3+aI4x4=b1分⑴X⑴x+分⑴x-h(,)ao,八na22八31a22八4~~u)a33X3+a;?X4=bf)a^x4=b®经过3次消元步骤,得到以上形式。从最后一个方程中解出%依此回代得到方程组的全部解。(0.012xi+0.01x2+0.167X3=0.6781

18例2.2.1用高斯消去法解方程组<X|+O.8334X2+5.91X3=12.113200x1+1200x2+4.2x3=981例2.2.2用列主元高斯消去法解例2.2.1中的方程组。

19f6xi+3x2+2x3=6例2.2.3用高斯消去法解方程组<10xi+5x2+6x3=0I8xi+5x2+3x3=0方程组的增广矩阵[Alb]6326105608530消元6.00003.00002.00006.0000002.6667-10.000001.00000.3333-8.0000方程组系数矩阵主对角线元素为零,消元过程无法进行!

20例224用列主元高斯消去法解例223中的方程组。方程组的增广矩阵[Alb]6326105608530选主元1056063268530消元10.00005.00006.0000000-1.60006.000001.0000-1.80000

21选主元10.00005.00006.0000001.0000-1.8000000-1.60006.0000消元10.00005.00006.0000001.0000-1.8000000-1.60006.0000回代得到方程组的解5.6250-6.7500-3.7500

22§2.1直接三角分解法

23§2.1对称矩阵的LDlJ分解

24设有方程组Ax=b,变为迭代形式,x=Mx+f,或x(k+D=Mx<,f,任取初始值x⑼程迭代得到x(0),x⑴,x⑵,…,必),…若极限Umx®=x*存在,则x*就是原方程组的解。k18以n=4为例mumi2m13m14-制广-fjY(k+1)a2__m21m22m23m24x.+f2Y(k+1)入3m3im32m33mJ4Y(k)f3Y(k+D_A4__m4im42m43m44.XI.f4.?TTTx(k+l)Mx,k,f

25写成分量形式x'+D=m||X'+ml2X2k)+m13X3k)+ml4X4k)x^0=m2ixik)+m22X2k)+m23X3k)+m24X4k)+f2=m31x{k)+m32x5t)+m33X3k)+m34x^)+f3.xf+"=m4IX,k*+m42x^++m^x?+f4定理1若〃=max^1mgl<1,则简单迭代法对任意初始值x<0)和f都收敛。1j=i定理2若丸=max£lm11<1,则简单迭代法对任意初始值x(0)和f都收敛。ji=i定理3迭代公式x+f,对任意初始值x@和f都收敛的充分必要条件是矩阵M的各个特征值的模都小于1.

26x}+3x2_2x3=7例2.5.1用简单迭代法解方程组%/+2与=2误差e<1032xj+2x2+x3=5xt(k+1)=-2x2(k)4-2x3(k)+7迭代公式x(k+l)=Mx(k)+f写成分量形式卜2伏+1)二一王/)一七伏)+2x3(k4-1)=-2x1(k)-x2(k)+5取初始值k=0(000),迭代过程x1(k)X2(k)X3(k)7.00002.00005.0000k=l13.0000-10.0040-13.0080k=20.99202.0080-0.9920k=31.00002.0000-1.0000k=41.00002.0000-1.0000k=5迭代5次,得到方程的解12

272x,+x24-=1误差e<10-3例2.5.2用简单迭代法解方程组2+3々+与=2为++刍=3卜।/+1)=-0.5々⑹-0.5再⑹+0.5迭代公式x(k+l)=Mx(k)+f,写成分量形式|々(k+1)=-O.3333X1(k)-0.3333巧(女)+0.6667[/(k+1)=-X](A)—9(A)+3取初始值k=0(000),迭代法不收敛

28在简单迭代法的基础上作改进x(k+l)=Mlx(k+l)+M2x(k)+f,以n=4为例X](k+1)'000o"X1/+1)mnmi2m13mi4X|(k)fl-X2伏+1)m2l000x2(k4-1)0m22m23m24X2(女)4.Xa(k+Dm3]m3200X3伏+1)।00X3⑹1f.x#+l)_m4lm42m21O__X"+1)000m44_x4(^)__f4_TT?TTTx(k+l)Mlx(k+l)M2x(k)f写成分量形式x,(k+l)=mllxl(k)+m12x2(k)+m13x3(k)+m14x4(k)+f|x2(k+1)=m”X[(k+1)+ir^x式k)+11123X3(10+m24X4(k)+f2x3(k+l)=m3lX|(k+1)+m32x2(k+1)+m33x3(k)+m34x4(k)+f3x4(k+l)=m4lx1(k+l)+m42X((k+1)+m43x3(k+1)+m.xKk)+f4

29定理1若4=maxJlmyl<1,则塞德尔迭代法对任意初始值x(0)和f都收敛。1j=i定理2若4=max£lm“k1,则塞德尔迭代法对任意初始值x(0)和f都收敛。ji=l定理3迭代公式X(k+D=MIX(k+,M2X(k)+f,对任意初始值X(°)和f都收敛的充分必要条件是矩阵(I・M|)"M2的各个特征值的模都小于1。松弛法(SuccessiveOverRelaxationMethod)x(k+I=x(k,+co(b-Ax(k))CO称为松弛因子,CO>1超松弛法,(0>1超松弛法,3>1低松弛法。定理3松弛法对任意初始值和f都收敛的必要条件是0

305工1+2占+七=—12例2.6.1分别用简单迭代法和塞德尔迭代法解方程组-玉+4々+2/=20误差evlO'2Xj—3x24-10x3=3x\k+1)=-0.4x式k)一0.2%3(A)-2.4简单迭代法迭代公式x(k+l)=Mx(k)+f,写成分量形式Jx2(^+1)=0.25%)(k)-0.5x3(^)+5x3(k+1)=-0.2%)(k)+0.3x2(k)+0.3取初始值k=0(000),迭代过程xi(k)X2(k)X3(k)-2.40005.00000.3000-4.46124.24952.2802-4.55582.74462.4671-3.99132.62752.0345-3.85792.98491.8865-3.97133.09231.9671

31-4.03033.02372.0219-4.01382.98152.0132-3.99522.99001.9972-3.99543.00261.9960-4.00023.00311.9999-4.00123.00002.0010-4.00022.99922.0002-3.99972.99981.99981.9998迭代14次,得到方程的解-3.99972.9998

32塞德尔迭代法迭代公式x(k+l)=Mlx(k+l)+M2x(k)+fX](k+1)=-0.4x2(k)-0.2x3(k)-2.4写成分量形式Jx2(k+1)=0.25XI(k+1)-0.5x3(k)+5x3(k+l)=-0.2xl(k+l)-0.3x2(k+l)+0.3取初始值k=0(000),迭代过程xi(k)X2(k)X3(k)-2.40005.00000.3000-4.46123.73372.4671-4.38692.66971.9727-3.86243.04801.9476-4.00873.02402.0199-4.01362.98661.9991・3.99453.00181.9980-4.00033.00092.0008-4.00052.99952.0000-3.99983.00011.9999迭代10次,计算结果-3.99983.00011.9999

33本章小结本章讨论了解线性方程组的直接解法和迭代解法。直接解法比较适用与系数矩阵稠密(既零元素较少)的中、小型线性方程组,但对系数矩阵是带状或近似带状的大型线性方程组也适用。直接解法中的列主元高斯消去法具有精度较高和省时的优点,是计算机中常用的算法。迭代解法中主要介绍了雅可比迭代法、高斯-塞德尔迭代法和松弛法。迭代法具有计算公式简单、程序设计容易、占用计算机内存较少的优点。适用于解大型稀疏矩阵(既零元素较多)线性方程组。高斯-塞德尔迭代法是在雅可比迭代法的基础上改进得到,在很多情况下可以加快收敛速度,但它的收敛域与雅可比迭代法不同,因此不能互相取代。松弛法可以加速迭代过程的收敛速度,但要适当选择松弛因子(0

34第三章矩阵的特征值问题§3.1引言求矩阵的特征值和特征向量,是代数计算中的重要问题。在自然科学和工程中的许多问题,例如电磁振荡、桥梁的振动,机械振动等都可以归结为求矩阵的特征值和特征向量问题。矩阵A的特征值和特征向量是指,如果数X和非零列向量x满足关系式Ax=Xx,则数人称为A的特征值非零列向量x称为A的与特征值X对应的特征向量。计算n阶矩阵A的特征值,就是求特征方程IA-QM)的根%(i=l,2,...,n)。齐次线性方程组(A-X,I)x=O的非零解如是兀对应的特征向量。本章讨论一些在计算机上计算矩阵的特征值和特征向量的较为稳定的数值算法。

35§3.1舞法利反察法1、‘某法:计算n阶矩阵A的模最大的特征值(主特征值)及对应的特征向量。任取n维列向量x(°),用迭代公式x(k+,)=Ax(k)计算得到x(°),x“),x⑵,…设x(0)=ajV|+a2V2+…+anvn,因为AVj=%Vj所以x1"=Ax""=a仇1V]+a2AV2+...+anXnvnx(2'=Ax"*=a伉JVi+a2兀2、2+3+anA.„2vn一般地有x

36对于2阶方阵A=aila2la21a22U(0)=cos0sin0-sin0cos0UT(0)U(9)=uT(e)Au(e)=aHcos20+a22sin20+a2lsin20—(a22-aH)sin20+a21cos20-2g(a22-aH)sin20+a2]cos20aHsin20+a22cos20-a71sin202a2iuT(0)AU(0)=ail-a22令^(a22-a(1)sin29+a21cos20=0tan2Q=

37alla21a31对于n阶方阵(以n=3为例)A=a21a22a32_a31a32a33cos0sin90x0x2a令tan20=——组一作变换矩阵U(0)=一sin0cos00则有UT(9)AU(0)=0xxail-a22001XXXcos60sin0"xxo'2a令tan28=——作变换矩阵U(0)=010则有UT(6)AU(e)=XXXa”—a33-sin90cos00xx-100XXX2a令tan29=——匚作变换矩阵U(0)=0cos6sin0则有uT(e)AU(e)=xx0a22-@330-sin0cos6x0x

38一般地说,令tan29=—%—,可以将A中的元素的ag和小变为0。在实际计算中采用以下公式an-aj)1z、M=~^ajj-a^)A,3=sign(R-)提+Psin0=(02(1+Jl-(D~)cos9=Jl-sin2]

392-10-1的特征值和特征向量。2例3.3.1用雅可比求对称矩阵A=-120-1消去第i行第j列的元素[ij]=[l2]A->1.00000.0000-0.70710.00003.0000-0.7071-0.7071-0.70712.0000消去第i行第j列的元素A->0.6340-0.32510.0000-0.32513.0000-0.62800.0000-0.62802.3660消去第i行第j列的元素2]A->0.59010.0000-0.08390.00003.0438-0.6223

40-0.0839-0.62232.3660

41消去第i行第j列的元素[ij]=[13]A->0.5862-0.02930.0000-0.02933.0438-0.62160.0000-0.62162.3700消去第i行第j列的元素[ijj=[23]A->0.5862-0.0252-0.0150-0.02523.41400.0000-0.01500.00001.9998消去第i行第j列的元素2]A->0.58590.0000-0.01500.00003.41420.0001-0.01500.00011.9998

42§3.4QR方法*QR方法是求一般矩阵A的全部特征值和特征向量的一种迭代方法。其基本思路是利用矩阵A的QR分解,[a")=OiRi通过迭代格式《KK将A化为相似的上三角矩阵(或分块上三角矩阵),从而求出A的全部1A(k+D=RkQk特征值和特征向量。'213'例3.4.1用QR方法求矩阵A=123的特征值和特征向量。012

43本章小结本章介绍了求矩阵的特征值和对应的特征向量的几种方法。事法可以求出矩阵的主特征值和对应的特征向量,优点是算法简单,但当ixa2i=1时,收敛速度很慢。反幕法可以求出矩阵的模最小的特征值和对应的特征向量。雅可比方法是利用一系列正交相似变换(即平面旋转变换)把实对称矩阵A化为对角阵(近似),从而求出实对称矩阵全部特征值。QR方法是用镜向反射阵将矩阵A作QR分解,是一种求矩阵的全部特征值的有效方法。

44第四章插值与拟合§4.1引言己知表格函数y=f(x)XiXoX]x2Xn-lXnf(Xi)yoy:y2yn-iyn构造一个公式p(x)近似地表示f(x),解决这个问题的方法有两类:一类是插值法,另一类是拟合法,又称为逼近法。已知函数y=f(x)在互异点xo,xbx2xn.hxn上的函数值%,yi,y*yn,构造一个函数p(x)使得p(xO=%这样的问题称为插值问题。y=f(x)称为被插值函数,[xoxn]称为插值区间,p(x)称为插值函数,Xo,XbX2X»i,Xn称为插值点,在插值区间内部用p(x)代替f(x)称为内插,在插值区间外部用p(X)代替f(x)称为外推,R(x)=f(x)-p(x)称为插值函数p(x)的误差。

45定理:给出n+1个插值点及函数值XiXoX1X2Xn-1Xnf(Xi)yoyiyzyn-iYn求一个n次多项式pn(x)=a()+aix+a2X2+...+anx

461、给出2个插值点(xo,yo),(xi,yi何以得到一次多项式p((x)=—~—y0+———y)x0-XIx,-x02、给出3个插值点(x0,y0),(xj,yi),3,y?)可以得到二次多项式(x-x,)(x-x2)(x-x0)(x-x2)(x-xo)(x-x1)p,(x)=!y0+-y.+!-y2■(Xq-xJCXq-Xj)(x,-x0)(x,-x2)(x2-x0)(x2-xj一不难验证P2(x)满足插值条件P2(Xo)=yoP2(Xi)=yip2(x2)=y23、给出n+1个插值点(xc),(xi…,(Xn,yn)可以得到一个n次多项式Pn(x)=L0(x)y0+L,(x)y(+---+Ln(x)yn其中8n(X)(X—XQ3:(X)(Dn(X)=(X-X0)(X-X|)-«-(X-Xn)

47例4.3.1按下列表格求y(-0.5)和y(0.5)的值。

48§4.4均差插值公式已知函数f(X)在互异点Xo,X1,Xn上的值为f(Xo),f(x1)f(xn)f(Xj)-f(Xj)称f(Xj,xj)=——(jHi)为函数f(x)在点Xi,Xj处的一阶均差。Xjff(x-,Xb)—f(x,,X,)称f(Xj,Xj,xk)=——匚」-(1<")为函数1'(*)在点*1,\),*1,处的二阶均差。Xk-Xi一般地称f(xo,Xl,…,Xn)=f(勺‘X2'…’Xn)_f(XO,XI,…,XnT)为函数f(x)在点x°,XI,…,xn上的n阶Xn-X0均差。

49牛顿插值公式Nn(x)=f(x0)+(x-x0)f(x0,xi)+(x-x0)(X-X!)f(X0,Xi,X2)+...+(X-Xo)(X-Xi)...(X-Xn-i)f(x0,xn)牛顿插值公式具有递推关系Nk+1(X)=Nk(x)+(x-Xo)(x-Xi)…(x-xk)f(x(),X1,…,Xk+i)新增加一个节点,只需要增加计算一项(x-x0)(x-X|)...(x-xk)f(x0,X|„..,Xk+l)

501、差分已知函数f(x)在等距节点Xo,X1,…,Xn上的值XXox+hx+2hx+nhf(x)yoyiY2Yn称△yk=yk+「yk为函数f(x)在点xk处的一阶差分。称yk=4yk+Layk为函数f(x)在点Xk处的二阶差分。一般地称△"yk=1A"'Tyk+1-An-1丫卜为函数f(x)在点Xk处的m阶差分。

51牛顿向前插值公式XT,[、tt(t—1)a2t(t—1)…(t—n+1)AnNn(x0+th)=y0+-Ay0+---A^y0+…+;AYo1!2!n!牛顿向后插值公式/.xt口t(t+l)v72t(t+1)…(t+n—1)7nNn(x0+th)=y0+-Vy0+--—Vy()+…+:VYo1!2!n!

52定理:给出n+1个插值点上的函数值和导数值XiXoXlX2Xn-1Xnf(Xi)yoyiyzyn-iYnf'(Xi)y。'y/y2'yn-lZy;求一个2n+l次多项式H(x)满足HNxgyi,Hzn(Xi)=y<(i=0,l,2n).H(x)=^yiAj(x)+^y-Bj(x)i=0i=0其中Ai(x)=[l-2(x-xi)^---]出史——-Bj(x)=虫这——-j=0X>-Xj(X-Xi)【3;(Xi)「(X-Xi)[3](Xi)]22

53§4.7样条插值公式在xoy平面上给定n+1个点(x(),%),(X|,yD,…,(Xn,yj,构造一个函数S(x)满足以下条件(1)S(xi)=yj(i=0,1,2,…,n)(2)在区间(x0,xn)内S(x)具有连续的二阶导数(3)在每个子区间[xi,xj上S(x)(表达式是Si(x))是一个三次多项式。满足以上条件S(x)称为三次样条插值多项式。三次样条插值多项式的推导设在子区间[Xi,xj上S(x)=Si(x)(i=l,2n)由条件(1)得Si、一gy-,SMxgyi设S(x)在节点xi处的二阶导数为Mi,在节点xi处的二阶导数为Mi,即S"i(xQ=Mi,S"i(Xi)=Mi,显然S"i(x)是x的线性函数,根据拉格朗日插值公式有S*(x)=-~Mj.j+—~记Xi-xi=hi有S*(x)=-~—Mj.i+-~xi-l-xiXj-Xi」-hi%将上式积分两次得到o/、(x-Xj)3(X-Xj.j)3小Si(x)=Mi/F-+Mi—^—+3+C2

54利用Si(x.])=yi,Si(xyi定出积分吊数C]和C?Mil^+C1xil+C2=yiI£+i-i「11-1/j1khv6解此方程组得到Jih2厂y:iX:-y;x..h.z_...、Mj-y-+C1Xj+C2=YjC2—~(Mj.jXj—MjX^j)、。Ilfi代入上式整理后得到33-6hj6hj6h,6%S;(x)=Mr"舒1+M,(x-x.-i)3,y.-Yi-i2hSg=M?T+Ri-MJ类似地有2hi+1hi+i+解(M「MQo

55S")=M2+"”h,M「MQ因为S'i+i(Xi)=S'i(Xi)所以有,+%+%Mj+-^-Mj+1=左—LP0整理后得到关于位知数6I316,+,h1+1h,M().Mi,..„Mn的线性方程组④Mi一i+2Mi+biMi+]=&(i=l,2,...,n-l)其中ai=-^-b.=-^-d,=—%+%+]hj+hj+1hj+hj+1hi+,%边界条件:n-1个方程组,n+1个位知数,所有需要补充两个条件,常见的是以下两种(1)给定端点的二阶导数M(尸a,Mn=b,特别地,当a=b=O时称为自然样条。(2)给定端点的一阶导数S'(xo)=a,S'(Xn)=b,这时有2M(1+M,=A(y'_yo_a)m,+2Mn=—(b-y""y"-')U1l、l./n-Inl、l'

56(2)M()=l,M3=0例4.7.1给定插值条件,和两种边界条件(1)m(>=l,m3=0xIO123y10000分别求出两种条件下的三次样条插值多项式的表达式。(1)m()=1,m3=0(2)sl(x)=0.73333x3-1.7333x2+x0

57给出表格函数ao+a,xo+a2Xo+---+amXo-y0=R0a0+a,x1+a2x^+..-+amx™-yl=R,_m_即ZajX;—Yi=Ri(i=0,1,2,...,n)j=oXiXoX]X2Xn-IXnf(Xi)yoyiy:yn-1Yn求一个m(m

58_n__n__n__n_a0(n+l)+al^xi+a2^x^+--+ani^x,m=^yii=0i=0i=0i=0心+a2x;+噫<+…+a冬产吃xm-正规方程组aoZx.m+a,Xxrl+a2txr2+-+amixrm=Xx1myi、i=0i=0i=0i=0i=0解此方程组得到刖,ai,am即得到所要的多项式。

59例4.8.1有数据表如下,分别用二次和三次多项式逼近这组数据。xl-3-2-10123yI1000012p(x)=0.17857x2+0.17857x-0.14286p(x)=3.2895*10l7x3+0.17857x2+0.17857x-0.14286

60§4.9数值微分给出表格函数如F表所示,求f(x)在节点f(Xi)处的导数的近似值。XiX0X|x2...Xn-1Xnf(Xi)yoyiy2...yn-iyn方法:用插值多项式的导数近似f(x)的导数。f/(x0)=-^(-3y0+4y,-y2)2hf"(x())==仇一2y1+y2)h三点公式:,f'(xj=[(-y()+y2)•2hf"(X])=*(y()-2yl+y2)小2)=《仇-4yl+3y2)2hf*(x2)=p-(y0-2yl+y2)三个相邻节点的选法,一般是在所考察的节点两侧各选取一的节点,如果一侧的无节点,则用另一侧的节点补足。

61f'(x())=T^-(-25y0+48y)-36y2+16y3-3y4)12hf'(X|)=L(-3yo-lOyi+18y2-6y3+y4)izn五点公式""(X2)=±(y()—8yi+8y3-y。一一阶导数12hf/(x3)=-J-(-y0+6y,-18y2+10y3+3y4)12hf'(xD=!(3y。-16yl+36y2+48y3+25y4)12h

62f*(x0)=-^-r(35y0-10y1+114y2-56y,+lly4)「区)=去(Uy。-2。,+6y2+4yf)五点公式

63本章小结本章介绍了两种构造函数f(x)的逼近函数的方法一插值法和曲线拟合。关于插值法,讨论的是多项式插值,它要求所构造的多项式函数严格地通过给定的所有数据点。由Lagrange插值基函数的讨论,导出了Lagrange插值公式及其余项公式。作为对Lagrange插值的改进,建立了具有递推性的牛顿插值公式。Hermite插值是一种在插值节点上插值函数与被插值函数不仅有相同的函数值,而且还有相同的一阶导数值的多项式插值。由于高次插值会产生龙格现象,因此讨论了分段插值法,重点介绍了三次样条插值公式。关于曲线拟合,讨论的是曲线拟合的最小二乘法,它不要求所构造的逼近函数严格地通过给定的所有数据点,只是在多项式中,以使得残差的平方和最小为标准,选择多项式,以作为被逼近函数的近似替代。本章最后介绍了数值微分,其中5点公式是常用的。

64第五章数值积分§5.1引言b计算定积分的牛顿-莱布尼兹公式Jf(x)dx=F(b)-F(a),其中F(x)是函数f(x)的原函数。在实际应用中a(1)常遇到某些函数f(x)的原函数不能用初等函数表示,例如sin(x2),cos(x2),sin(x)/x,l/log(x)等。(2)有些函数f(x)是用表格形式表示,无法得到它们的原函数。(3)有些函数f(x)的原函数十分复杂,不利于工程上的使用。因此,要研究计算定积分的近似方法:数值积分。

65由上一章知,任意函数f(x)可以用一个拉格朗日插值多项式6(x)近似表示,因此f(x)的定积分也可以用bb/(X)的定积分近似表示Jf(x)dx=J①n(x)dx以此为基础得到的数值积分公式称为牛顿―科特斯型积aa分公式。bbbJf(x)dx=j

66AK=(b-a)C-b所以得jf(x)dx=C*n,y0+C*n)y,+--+C*n)yn对不同的n系数如下an牛顿一科特斯型积分公式系数余项(误差)11/2,1/2(梯形公式)-(1/12)h3f⑵⑴)a

671、复合梯形公式取a=XoVX]V.・.VXn二b为一组等距节点将积分区间[ab]分为n个子区间[xkxk.j]*卜hXk-Xk-i=(b-a)/n=h,在每个子区间[XkXk-J上应用梯形公式得:Jf(x)dx=—(yk_,+yk)Xi2b卜于是得到复合梯形公式Jf(x)dx=-[y0+2(y,+y2++yn_,)+yn]a2、复合辛卜生公式在积分区间[ab]取点a=x()vx]V…vx2mivx2n=b将[ab]分为2n个子区间,令X2k-2-X2k=(b-a)/n=2h,在每个子区间[x2k-2x2kl上应用辛卜生公式得:2khjf(x)dx«-(y2k_2+4y2k-i+Y2k)(k=l,2,...,n)x2k-2于是得到复合辛卜生公式jf(x)dx=1[y0+4y,+2y2+4y3+2y4+.••+2y211T+4y2e+y2„l

683、复合柯特斯公式在积分区间[ab]取点a=XoVX[V…vx4ndVx4n=b将[ab]分为4n个子区间,令斯公式得:X4k-4—X4k=(b-a)/n=4h,在每个子区间[x4k«X4k]上应用x4k卜[f(x)dx«—(7y4k_4+32y4k_3+12y4k_|+32y4k_,+7y4k)(k=l,2,…,nJ90X4k-4得到复合柯特斯公式b4hnnnn-1Jf(x)dx=—[7y0+32^y4k-3+12^y4k-2+32^y4k.,+14^y4k+7y4nak=lk=lk=lk=1

694,步长h的自动选择(1)复合梯形公式IT2n-Tnl<3e(e表示允许误差)其中I,和T2n分别表示取n和2n时用复合梯形公式计算得到的积分近似值。(2)夏合辛卜生公式IS2「S/<15e(e表示允许误差)其中Sn和S2n分别表示取n和2n时用复合辛卜生公式计算得到的积分近似值。(3)复合柯特斯公式IC2「Cnl<63e(e表示允许误差)其中Cn和C2n分别表示取n和2n时用复合柯特斯公式计算得到的积分近似值。

701、梯形公式与辛卜生公式之间的关系4-14-114一寸12,…,‘24-1T?k+i4-1T2K2、辛卜生公式与柯特斯公式之间的关系42-Zo?-42-l-42S1c2=4-42-l42c°S4Z$2,…,C0K=42-142cS,K+l42-l_1LS42-l23、龙贝格积分公式43R2=k-43-143八甘2,…,R2K43—;C?K+143-l

71§5.5高斯积分公式一个求积公式,若对于任何次数不超过m的多项式都准确成立,则称这个求积公式的代数精确度为m。1n定义:使插值求积公式Jf(x)dx=£Akf(Xk)的代数精确度为2n-l的节点X|,X2,…,Xn称为高斯点,对-1k=l应的插值求积公式称为高斯求积公式。2ni(

72定理1:若Xi,X2,・・・,Xn是高斯点,则(On(x)=:一Ln(x)Ln(x)=(2n)!2nn!dx2定理2:高斯求积公式的系数恒为正,且有Ak=\Ak=2(1-x"U(Xk)]2M

73n节点Xk0°系数A拦)余项(误差)积分区间[-11]102f⑵(n)/3-i

74本章小结本章介绍了四种常用的数值积分方法:梯形公式,辛卜森公式,龙贝格方法和高斯积分公式。•梯形公式的代数精度虽然比较低,但它对被积函数的光滑性要求也较低,特别是当被积函数是周期函数时,梯形公式是比较理想的方法。•辛卜森具有较高的代数精度,且程序也比较简单,因此是一种广泛使用的方法。•龙贝格方法是-一种精度比较高的算法,而且函数求值次数少,所以如果函数性能良好,龙贝格方法是计算机中最常用的方法。•高斯积分公式具有最高的代数精度,计算量小,但当n改变时,公式的系数和结点都要改变,需占用较多的存储单元。然而对于广义积分,高斯积分公式具有优越性。•本章最后介绍了数值微分,其中5点公式是最常用的。

75第六章常微分方程的数值解法§6.1引言设有微分方程的初值问题—=f(x,y)y(x0)=y0dx常微分方程的数值解是在要研究的区间匕求方程在一系列的点Xo,Xi,X2,.•.上解的近似值。上述常微分方程的初值问题等价于一个积分方程Xy(x)=y(x0)+jf[x,y(x)]dxXoXn+I若已知点Xn上解y(x)的函数值y(xj则y(xn+1)=y(xn)+jf[x,y(x)]dxXn用不同的方法计算上式中的积分,就可以得到常微分方程的初值问题的不同的数值解法。

760.80.60.40.20-0.2-0.4-0.6-0.8-1微分方程的解.微分方程的数值解00.511.522.533.544.55

771、欧拉法(矩形公式)yn+l=yn+hf(Xn,Yn)2,改进的欧拉法(梯形公式)yn+j=yn+h[f(xn,yn)+f(xn+hyn+i)]/2y^l=yn+hf(xn,yn)3、预报-校正公式•yn+]=yn+1[f(xn,yn)+f(xn+1,y;10J1)]Yn+1=yn+hf(xn,yn)4、迭代公式

78设有微分方程的初值问题曳=f(x,y)y(xo)=yo由台劳级数展开式知dxhh2hky(Xn+l)=y(Xn+h)=y(xn)+-y/(xn)+—y*(xn)+•.•+—y(k)(xn)+O(hk+1)12!k!若令yn+i=y(xn)+Ty/(xn)+^-y*(xn)+--+Yry(k)(xn)12!k!则y(xn+i)-yn+i=o(kn+l),即公式是k阶方法。yn+i=yn+1(ki+k2)fyn+i=yn+Riki+R2k2“1=hf(Xn,yn)写成更一般的形式ki=hf(xn,yn)k2=hf(xn+h,yn+k[)[k2=hf(xn+ah,yn4-bk,)其中Ri,R2,a,b为待定系数,选择这些系数的原则是在y(Xn)=yn的假设下,使y(Xn+l)-yn+l的阶尽可能高,为此作台劳级数展开式k2=h[f+ahfx+bkify+…]=hf+ah2fx+bhkify4-...=hf+h2(afx+bffy)+...

79其中f,fx,fy都是在点(xn,yn)处计算的,省略部分至少含有1A将和k2代入丫同yn+i=Yn+R1+R2=yn+h(R+R2)f+h-(aRifx+bR2ffy)+...=yn+h(Ri+R2)y'n+h~(aR?fx+bR?fyy'n)+…(注意:y"(xn)=fx+fyyzn)与台劳级数展开式比较,要使y(Xn+i)—yn+i=O*3)只需满足Ri+R2=1,aR2=l/2,br2=i/2Ri,R2,a,b有各种不同的取法,Ri=R2=1/2,a=b=l,即得到梯形公式。无论如何取法,都要计算2次f值,截断误差都是0(/),构造出的公式都是2阶龙格-库塔公式。根据以上讨论,如果每步计算3次f值,可以得到截断误差是0(k。的3阶龙格-库塔公式,n+l=Yn+2格+R2k2+R3k3Iki=hf(xn,yn)卜2=hf(xn+a2h,yn+b2ik1)[k3=hf(xn+a3h,yn+b31k!+b32k2)其中各参数的确定方法与2阶龙格-库塔公式类似。如果每步计算4次f值,可以得到截断误差是0(k"的4阶龙格-库塔公式

80Yn+1=Yn+Rlkl+R2k2+R3k3+R4k4k1=hf(xn,yn)"k2=hf(xn+a2h>yn+b2ik»k3=hf(Xn+a3h,yn+b31kl+b32k2)k4=hf(xn+a4h,yn+b41kl+b42k2+b43k3)其中一组可得到以下标准4阶龙格-库塔公式yn+i=yn+7(k'+2k^+2k3+k4)6%=hf(xn,yn)—=hf(xn+;,yn+§k3=hf(xn+^,yn+.)k4=hf(xn+h,y„+k3)

811、阿达姆斯开型公式Yn+1=Yn+^l55f(xn,yn)_59f(xn-byn-l)+37f(xn-2,yn-2)-9f(xn-3,yn-3)]2、阿达姆斯闭型公式hYn+1=Yn+五【9f(Xn+i,yn+i)+19f(Xn,yn)-5f(Xn-i,yn-i)+f(Xn-2,yn-2)]3、阿达姆斯预报-校正公式Yn+i=Yn+^-[55f(xn,yn)-59f(xn_1,yn_1)+37f(xn_2,yn-2)-9f(xn_3,yn_3)]Yn+1=Yn+^[9f(xn+byn+i)+19f(xn,yn)-5f(xn_1,yn_1)+f(xn_2,yn-2)l公式的截断误差是0(1?)

82线性多步法的一般表达式yn+1=aoyn+a1yn-1+•••+aryn-r+h[b-if(xn+i,yn+i)+b0f(xn,yn)+...+brf(xn_r,yn_r)]若b_i=o称为显式积分公式,否则,称为隐式积分公式。“多步”是指在计算yn+i时不但用到了yn还用到了yn-l…yn-r的值。“线性”是指Yn+1是Yn,Yn-l…Yn-r和f(Xn+,,yn+i),f(Xn,yn)...f(xn_r,yn_r)的线性函数。公式中的系数即,aP...ar和b_i,b0,也…>可以用台劳展开的方法确定。

831、微分方程组的解法(以2个方程,标准4阶龙格-库塔公式为例)孚=f(x,y,z)y(x0)=y0,dxdzz、/、—=g(x,y,z)z(x0)=z0lax计算公式,以四阶龙格・库塔方法为例yn+l=yn+2的+2k2+2k3+k4)ozn+i=zn+—(m]+2m2+2iri3+014)6kl=hf(xn,yn,zn)叫=hf(xn,yn,zn),,hkimi

84化为一阶微分方程组d;=g(x,y,y')y(x0)dx2=yoy/(xo)=yb相当于f(x,y,z)=z=zy(xo)=yo=g(x,y,z)z(xo)=yo

85本章小结•为了本章介绍了一些常用的解微分方程的数值方法,由于四阶龙格-库塔方法是显式的自开始方法,而且精度较高,易于改变步长和编制程序,所以是工程计算中广泛采用的一种方法。但它也有不足之处,一是每一步要计算四次函数f(x,y)的值,计算量较大,二是要求函数f(x,y)具有较高的光滑性。若函数f(x,y)的光滑性较差,一般不采用四阶龙格-库塔方法,而采用改进的欧拉方法。•阿达姆斯方法是线性多步法中的一种,它的计算量比四阶龙格-库塔方法小,但具有同样的精度,对隐式的阿达姆斯公式来说,还具有数值稳定性较好的优点。然而线性多步法都必需借助于其它方法提供开头的几个函数值,所有比较麻烦。

86综述与误差的预备知识§0.1综述1、课程任务和目的:在第七届国际软件工程学术会议上,''计算方法”被列入应用方法学的研究领域,强调了计算方法的研究应用与软件方法学的研究密切结合。这就说明了计算方法与软件之间的联系以及在应用软件研制中的地位与作用,计算方法是研究各种数学问题求解的数值计算方法。在计算机成为数值计算的主要工具的今天,则要求研究适合于计算机使用的数值计算方法。计算方法就是研究用计算机解决数学问题的数值方法及其理论,它的内容包括函数的数值逼近、数值微分与数值积分、非线性方程值解、线性方程组数值解、常微和偏微数值解等,即都是以数学问题为研究对象的,因此,计算方法是数学的一个分支,只是它不象纯数学那样只研究数学本身的理论,是把理论与计算紧密结合,着重研究数学问题的数值方法及其理论,计算方法是计算机应用和软件研制开发的重要组成部分,通过本课程的学习和上机实习,使学生掌握利用计算机进行科学计算的基本理论和基本方法,并且学会将基本理论和基本方法应用于软件开发以及软件研制。

872、本课程基本要求(1)掌握方法的基本原理和思想。(2)掌握方法处理的技巧及与计算机的结合。(3)掌握误差分析,收敛性及稳定性的基本理论。(4)学会进行可靠的理论分析,对近似计算要确保精度要求,要进行误差分析。(5)通过例子,学习使用各种计算方法解决实际计算问题。(6)通过上机实践,能编写算法和实现算法。(7)掌握数值计算中一些最基本、最常用的计算方法和算法。3、本课程与各课程的关系:由于本课内容包括了微积分、代数、常微分方程的数值方法,学生必须掌握这几门课的基本内容才能学好这一课程,同时,学习此课程还必须具备计算机系统的初步知识,掌握一门常用的高级语言,如:BASIC,PASCAL、C语言等,并须具备一定的编程能力。

884,本课程的特点:(1)面向计算机,要根据计算机特点提供实际可行的有效算法。即算法只能包括加、减、乘、除运算和逻辑运算,是计算机能直接处理的。(2)有可靠的理论分析,能任意逼近并达到精度要求,对近似算法要保证收敛性和数值稳定性,还要对误差进行分析,而且都是建立在相应数学理论基础上的。(3)有好的计算复杂性。时间复杂性好是指节省时间:空间复杂性好是指节省存储量。这也是建立算法时要研究的问题,因为它关系到算法能否在计算机上完成。(4)要有数值实验。即任何一种算法除了从理论上要满足上述三点外,还要通过数值实验证明是行之有效的。

89计算方法最基本的立足点是容许误差,在误差容许的范围内对某一数学问题进行近似计算,得到能满足耍求的近似结果。现实世界中误差是普遍存在的,由于世界上没有绝对精确的量具(绝对精确的量具是没有刻度的),因此人类通过量具采集的数据都是近似值,另一方面,我们的生产、实验工具都不是绝对精确的,这就使得人类在生产和科学实验中必需容许误差。计算机的应用可以分为二个方面,即数值计算和非数值计算。利用计算机进行数值计算的过程如下图所示:实际问题―►数学模型―►计算方法―►程序设计——►上机求解在上图中,计算方法的任务是:由建立的数学模型给出可编程并由计算机能完成的计算方法,然后编程和上机求解。由于计算方法是编程后可由计算机求解的近似计算方法,如何确保近似解的精度显得尤为重要,必须深入讨论有关误差的基本概念和基本理论,为近似计算的精度分析打下基础。

90§0.2误差的预备知识1、误差的来源(种类)误差的来源主要有以下四种(1)模型误差:建立数学模型时的误差。例如:在求重量的数学模型G=m*g中,重量G不是仅与质量和重力加速度有关,它还与温度、测量地点的海拔、地层结构等众多因素有关,为了使模型较为简单和实用,采用抓住主要矛盾的方法,去掉了大量对重量影响不大的次要因素,建立了上述重量的近似模型,由此产生了模型误差。(2)观测误差:采集数据时的误差。采第数据时,通常是依靠仪器和量具,由于没有绝对精确的仪器和量具,因此采集的数据有误差,此误差称为观测误差。(3)舍入误差:由于计算机字长有限而产生的误差。硬件再发展,计算机的字长总是有限的,在计算过程中,当数据的长度超过了计算机的字长时,计算机就会进行四舍五入,由此产生的误差称为舍入误差。(4)截断误差:无限形式的有限化而产生的误差。

91在计算中有时会运用无限形式的计算公式,例如台劳公式:=+牛-。)+一驾一。尸+…1!n!显然此公式无法进行计算,因此必需根据实际需要,从某一项起将后面的各项截断,即f(x),f(x°)+华&x』)+…+答-51!n!由此产生的误差称为截断误差。2,误差的基本概念为描述方便,首先约定x*是精确值x的近似值。引入误差的概念,其目的是为了衡量近似值x*的好坏。(1)绝对误差:x*-x由于精确值X通常无法确定,因此绝对误差无法计算,由此引入绝对误差限的概念。绝对误差限:绝对误差的一个上界。即:若Ix*-xl4e,则称e为x*的绝对误差限。绝对误差限的性质是:A.不唯一这是因为lx*-xl的上界是不唯一的。B.可确定只要我们对x*的实际背景有一定的了解,就不难确定lx*-xl的上界。例如,x*表示身高,则lx*-xl的上界可为3米。当x*是你求出的,那么为了说明你的工作认真,你一定会将Ix*-xI的上界估计得尽量小,因此在这种意义上绝对误差

92限可用来衡量X*的好坏。由于绝对误差限没有考虑问题的规模,因此有时它也不能衡量X*的好坏。例如:X是地球与太阳的距离,y是分子中二个原子间的距离,若Ix*-xl41公里,Iy*-yl41厘米,则并不能说y*比x*精确。由此引入相对误差和相对误差限的概念。(2)相对误差:(x*-x)/x*相对误差限:相对误差绝对值的一个上界。3、有效数字这里我们必须搞清楚什么是有效数字以及如何确定X*有几位有效数字。(1)有效数字的定义若lx*-xl

93此方法首先确定X*是由X的哪一位四舍五入产生的,然后从这一位的前一位开始一直到前面第一个不为零的数都是X*的有效数字。例1若x=0.872596,x*=0.87,求x*的有效位数。解:•••x*是由x的小数点后第三位四舍五入产生的,所以x*有二位有效数字。注意,方法一判定有效数字很简单,但有时会失效。例如,若x=0.272987x*=0.273102,此时无法用方法一确定X*的有效位数,原因是x*不是由x四舍五入产生的,在这种情况下,必须用有效数字的定义来确定x*的有效位数。即方法二:用定义此方法首先计算Ix*-xI,再判断它小于等于X*的哪一位的半个单位,然后从近一位开始,一直到第一个不为零的数都是有效数字。例2若x=0.62073,x*=0.6207,确定x*的有效位数。解:因为lx*-x140.000340.5x10-4,x*精确到小数点后第4位,所以x*有四位有效数字。例3若x=0.080199,x*=0.802,确定x*的有效位数。解:因为lx*-x1=0.000013.5x10-5,所以40.5x10-3,推出x*有三位有效数字。

94例4若x=6.28936,x*=7.3132,确定x*的有效位数。解:lx*-x1=0.0235740.5x10-1所以x*有二位有效数字。4、数值计算工中应注意的几个原则为保证计算结果的高精度,在进行数值计算时应遵循卜.述几个原则。(1)在进行除法时,要避免除数的绝对值<<被除数的绝对值。①为什么要“避免”?若不“避免”,则除出的结果很大,由于计算机字长有限,它装不下,因此会进行四舍五入,一个很大的数进行四舍五入时舍去的部分也会很大,这会使舍入误差变大。②怎样“避免”?因为用户只关心最后的计算结果,当中间计算过程中出现了除数的绝对值<<被除数的绝对值时,就应该换一-种计算方法,以避免这种情况的发生,以后我们将会针对具体的计算问题来讨论“避免”的方法。(2)在进行减法时,要避免二个相近的数相减。①为什么要“避免”?若不“避免”,就可能失去大量的有效数字,

95例如:若a=30001和b=30000都有五位有效数字,因为a-b=l,所以结果至多有1位有效数字。②怎么“避免”?“避免”的思路与第1个原则中“避免”的思路相同,须针对具体计算问题来讨论。(3)要防止“大数吃小数”①什么是“大数吃小数”?我们用一个例子为说明。n计算8756294874+Zai,其中n=l()2。,Oca^lO-6.i=l此题是一个很大的数与很多很小的数相加,若采用将大数依次与ai,a2,…,a。相加,由于计算机字长有限,因此在与&相加时会进行四舍五入将由舍去,这样,最后的结果仍是大数,这就是大数将ai.az…,an吃掉了。②为什么要“避免”?尽管每个小数都很小,但它们很多,可能它们的和比大数还大,而最后计算工结果为大数,显然误差可能很大。③怎样“避免”?

96有的同学提出先将小数相加,然后再与大数相加,这个思路是对的,但有一个漏洞,因为小数相加到一定程度也会变成大数,它也开始吃小数了。可以采取分部相加的方法解决。本章小结本章论述了误差及其有关理论,它是计算方法的基础。学生应重点掌握:(1)误差、误差限、相对误差、相对误差限和有效数字等基本概念。(2)有效数字位数的二种判定方法。(3)有效数字与相对误差限的关系。(4)近似计算中应注意的一些原则。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
最近更新
更多
大家都在看
近期热门
关闭