《计算方法教程.docx》由会员分享,可在线阅读,更多相关《计算方法教程.docx(96页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一章方程的近似解法41.1 引言41.2 根的隔离51.3 对分法61.4 迭代法81.5 牛顿法101.6 弦截法121.7 用牛顿法解方程组131.8 15第二章线性方程组的解法152.1 引言152.2 消去法182.3 直接三角分解法222.4 对称矩阵的LDI7分解232.5 简单迭代法242.6 塞德尔迭代法282.7 33第三章矩阵的特征值问题343.2 哥法和反靠法353.3 雅可比方法363.4 QR 方法*42本章小结43第四章插值与拟合444.1 引言444.2 插值多项式的存在和唯一性454.3 拉格朗日插值多项式464.4 均差插值公式484.5 差分等距结点插值公
2、式504.6 爱尔米特插值公式524.7 样条插值公式534.8 最小二乘法574.9 数值微分60本章小结63第五章数值积分645.1 引言645.2 牛顿一科特斯型积分公式655.3 复合积分公式675.4 龙贝格积分公式705.5 高斯积分公式71本章小结73第六章常微分方程的数值解法746.1 弓I 言746.2 欧拉法和改进的欧拉法756.3 龙格一库塔方法776.4 阿达姆斯方法806.5 线性多步法816.6 微分方程组和高阶微分方程解法826.7 846.8 差的预备知识850.1综述850.2误差的预备知识89本章小结95第一章方程的近似解法1.1引言方程f(x)=O的解称为
3、方程的根。也叫做函数f(x)的零点。方程求根大致包括三个问题(1)方程有没有根?如果有根,有几个根?(2)哪里有根?求有根的区间,区间内的任意一点作为根的近似值。(3)根的精确化,已知一个根的近似值后设法逐步把根精确化,直到足够精确为止。本课程主要研究问题(2)和(3)o1.2根的隔离求方程f(x)=O的解的近似值时,首先要确定若干个区间,使每个区间内只有的一个根,这个步骤称为根的隔离。对一般的方程,根的隔离有两种方法(1)试值法。求出f(x)在若干点上的函数值,观察函数值符号变化的情况,从而确定隔根区间。(2)作图法。画出y=f(x)的草图,观察曲线y=f(x)与x轴交点的大致位置,从而确定
4、隔根区间。例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的根。设有方程f(x)=O在(ab)内有且仅有一个根x*,这时有f(a)f(b)0可用对分法求x*的近似值,方法如下(1)准备:计算区间(ab)两个端点的函数值f(a), f(b)(2)对分:取c=(a+b)/2为(ab)的中点,
5、计算f(c)(3)判断:如果f(c)=O,则c为f(x)=O的根,否则检验:若f(c)f(a)0,则方程的根位于a c内,用c代替b,若f(c)f(b)0,则方程的根位于cb内,用c代替a。(4)检验:若lb-ale (e为精度要求)此时计算结束x*=c,否则转(2)。有根区间LOOOO2.00001.00001.5000L2500L50001.25001.3750131251.37501.31251.3438132811.34381.32811.33591.32811.33201.32811.33011.32811.3291方程的解x=1.32861.4 迭代法设有方程f(x)=O在a b上
6、有且仅有一个根x*,可用迭代法求x*的近似值,方法如下(1)将方程f(x)=O写成迭代形式x=(p(x)(2)在ab上任取一个初始值沏。(3)计算 X|=(p(xo)(4)若lx1-xolYn)/du(xn,yn)(x xn)+(y yn)=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(x y)au(xn,yn)1 Oyn 7n1 uiXnyxn+l =xn+ dyn+i
7、=yn+3v(x y )n t v(xn,yn)L v(xn,yn)吟必2ayox迭代初值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=0 Ou/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=0 Ou/3x=6x2 du/3y=-2x9v/dx=6y33v/3y=2xy2-l)例1.7.3用牛顿法解方程组 u (x,y)=x-cos(y)=0
8、, v (x,y)=y-sin(x)=0(3u/3x=13u/9y= sin(y)9v/3x=-cos(x)3v/3y=l)本章小结为了比较各种迭代方法的收敛速度,我们引入收敛阶的概念。设迭代过程X用=(p(Xn)收敛于方程X=(p(X)的|e I根X*,令en = Xn-x*, e_称为迭代误差,如果存在实数P21和非零常数K,使得lim?T = K,则称该 f |en|迭代过程为P阶收敛的。P=1称为线性收敛,P1称为超线性收敛,P=2称为平方收敛,显然P越大,迭代过程收敛的越快。可以证明当x*是方程f(x)=O的单根时,牛顿法是平方收敛的。当x*是方程f(x)=O的市根时,牛顿法仅为线性
9、收敛。弦截法的收敛阶P=1.618。对分法的收敛速度与公比为1/2的等比级数相同。牛顿法:收敛速度最快,但要计算f(x)的导函数,计算量大,有发散问题。弦截法:收敛速度次之,不需要计算f(x)的导函数计算量比牛顿法小,有发散问题。对分法:收敛速度最慢,但简单有效,不存在发散问题。它一定收敛到有根区间a b内的某个根。第二章线性方程组的解法2.1 引言在科学实验和工程设计中,经常用到解线性方程组的问题。本章讨论用计算机求解线性方程组的两类主要a11x,+al2x2+-+ alnxn=3a”a2lai2,a22,a2lXI +a22X2+ a?nxn=b2根据矩阵的性质可以写成anlx,+an2x
10、2+-+ annxn_anla“2Hia12 ain简记为Ax=b其中A =a 21a 22 a2nX =X2b =b2_anlan2ann._Xn.方法:直接法和迭代法。解线性方程组的一般表达式方程组Ax=b有唯一解的充分必要条件是IAM)。我们只讨论这种情况下的解法。解线性方程组的方法可以分为两类:一类是直接法,它只包含有限次的四则运算,在每次运算都无舍入误差的情况下,所得到的是方程组的准确解。由于实际计算中总是有舍入误差,所以实际得到的也是近似解。令一类是迭代法,它首先选择一组初始值,再运用同样的计算步骤,重复计算,得到近似解。由于这类方法中出现了极限过程,必须研究迭代过程的收敛性。本章
11、主要介绍:直接法中的高斯消去法和主元高斯消去法。迭代法中的简单迭代法和塞德尔单迭代法o2.2 消去法以n=4为例说明高斯消去法的计算过程,设有线性方程组a“X|+a12x2+ a13x3+ al4x4a2lXl + a 22X2+ a23X3+ a24x4=ba31Xl + a32X2+ a33X3+ a34x4=bka4lXl + a42X2+ a43x3+ a 44X4=b12X2+ a13X3+3.4*4=blX22 A 2+ a22入3+ a,;)X4=b?X32 A 2+ aX33入3.aoY _h(o 十 a34 X4- D3X42 A 2+ aX43 A 3+ a*X4=b?aa
12、aa/1+ a=X ”X -h33 X3 十 a34 X4 一 03 X ”X -h(2)43 A3 十 d44 A4 D4anxi ai2x2+213X3+ a,4x4= bj a;*2+飘3+a);)X4= b; anXj +a12x2+ a 13X3+aI4x4= b1分X x +分x -h(,) a o,八 n a 22八31 a 22八4 u)a 33X3+a;?X4=bf)ax4=b经过3次消元步骤,得到以上形式。从最后一个方程中解出依此回代得到方程组的全部解。(0.012xi+0.01x2+0.167X3=0.6781例2.2.1用高斯消去法解方程组X|+O.8334X2+5.9
13、1X3=12.113200x1+1200x2+4.2x3=981例2.2.2用列主元高斯消去法解例2.2.1中的方程组。f 6xi+3x2+2x3=6例2.2.3用高斯消去法解方程组10xi+5x2+6x3=0I 8xi+5x2+3x3=0方程组的增广矩阵Alb6326105608530消元6.00003.00002.00006.0000002.6667-10.000001.00000.3333-8.0000方程组系数矩阵主对角线元素为零,消元过程无法进行!例224用列主元高斯消去法解例223中的方程组。方程组的增广矩阵Alb6326105608530选主元1056063268530消元10.
14、00005.00006.0000000-1.60006.000001.0000-1.80000选主元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.75002.3 直接三角分解法2.4 对称矩阵的LDlJ分解设有方程组Ax=b,变为迭代形式,x=Mx+f,或x(k+D=Mx,f,任取初始值x程迭代得到x(0), x,x,,必),若极限Umx=x*存在,则x*就是原方程组的解。k18以n=4为
15、例mu mi2 m13 m14-制广-fjY(k+1) a2_m21 m22 m23 m24x.+f2Y(k+1)入3m3i m32 m33 mJ4Y(k)f3Y(k+D _A4_m4i m42m43m44.XI.f4.?TTTx(k+l)Mx,k,f写成分量形式x+D =m|X+ ml2X2k)+ m13X3k)+ml4X4k)x0= m2ixik)+ m22X2k)+ m23X3k)+m24X4k)+f2= m31xk)+ m32x5t)+ m33X3k)+ m34x)+ f3.xf+= m4IX,k*+ m42x+ mx?+ f4定理1若=max1 mg l1,则简单迭代法对任意初始值x
16、0)和f都收敛。1 j=i定理2若丸=max l m111,则简单迭代法对任意初始值x(0)和f都收敛。 j i=i定理3迭代公式x+f,对任意初始值x和f都收敛的充分必要条件是矩阵M的各个特征值的模都小于1.x+3x2_2x3=7例2.5.1用简单迭代法解方程组/+2与=2误差e1032xj +2x2+x3=5xt(k +1)=-2x2(k)4-2x3(k)+7迭代公式x(k+l)=Mx(k)+f 写成分量形式卜2伏+1)二一王/)一七伏)+2x3(k 4-1)=-2x1(k)- x2(k)+5取初始值k=0(000),迭代过程x1(k)X2(k)X3(k)7.00002.00005.000
17、0k=l13.0000-10.0040-13.0080k=20.99202.0080-0.9920k=31.00002.0000-1.0000k=41.00002.0000-1.0000k=5迭代5次,得到方程的解122x,+ x24-=1误差e10-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),迭代法不收敛在简单迭代法的基础上作改进x(k+l)=Mlx(
18、k+l)+ M2x(k)+f,以n=4为例X(k +1)000 oX1/+1)mn mi2 m13 mi4X|(k)fl-X2伏+1)m2l 000x2(k 4-1)0m22 m23 m24X2(女)4.Xa(k + Dm3 m3200X3伏+1)00X31f.x#+ l)_m4l m42 m21 O_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)+ irx 式 k)+11123X3(10+ m
19、24X4(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定理1若4= max Jl my l1超松弛法,(01超松弛法,31低松弛法。定理3松弛法对任意初始值和f都收敛的必要条件是0co2o5工1+2占+七=12例2.6.1分别用简单迭代法和塞德尔迭代法解方程组-玉+4+2/=20误差evlO2Xj 3x24-10x3=3xk +1)=-0.4x式k)一0.2%3(A)-2.4简单迭代法迭代公
20、式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-4.03033.02372.0219-4.01382.98152.0132-3.99522.99001.9972-3.99543.00261.99
21、60-4.00023.00311.9999-4.00123.00002.0010-4.00022.99922.0002-3.99972.99981.99981.9998迭代14次,得到方程的解-3.99972.9998塞德尔迭代法迭代公式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
22、.3000-4.46123.73372.4671-4.38692.66971.9727-3.86243.04801.9476-4.00873.02402.0199-4.01362.98661.99913.99453.00181.9980-4.00033.00092.0008-4.00052.99952.0000-3.99983.00011.9999迭代10次,计算结果-3.99983.00011.9999本章小结本章讨论了解线性方程组的直接解法和迭代解法。直接解法比较适用与系数矩阵稠密(既零元素较少)的中、小型线性方程组,但对系数矩阵是带状或近似带状的大型线性方程组也适用。直接解法中的列主元高
23、斯消去法具有精度较高和省时的优点,是计算机中常用的算法。迭代解法中主要介绍了雅可比迭代法、高斯-塞德尔迭代法和松弛法。迭代法具有计算公式简单、程序设计容易、占用计算机内存较少的优点。适用于解大型稀疏矩阵(既零元素较多)线性方程组。高斯-塞德尔迭代法是在雅可比迭代法的基础上改进得到,在很多情况下可以加快收敛速度,但它的收敛域与雅可比迭代法不同,因此不能互相取代。松弛法可以加速迭代过程的收敛速度,但要适当选择松弛因子(0w2)。在选择迭代法时,要特别注意检验方法的收敛性问题。第三章矩阵的特征值问题3.1 引言求矩阵的特征值和特征向量,是代数计算中的重要问题。在自然科学和工程中的许多问题,例如电磁振
24、荡、桥梁的振动,机械振动等都可以归结为求矩阵的特征值和特征向量问题。矩阵A的特征值和特征向量是指,如果数X和非零列向量x满足关系式Ax=Xx,则数人称为A的特征值非零列向量x称为A的与特征值X对应的特征向量。计算n阶矩阵A的特征值,就是求特征方程 IA-QM)的根%(i=l,2,.,n)。齐次线性方程组(A-X, I)x=O的非零解如是兀对应的特征向量。本章讨论一些在计算机上计算矩阵的特征值和特征向量的较为稳定的数值算法。3.2 舞法利反察法1、某法:计算n阶矩阵A的模最大的特征值(主特征值)及对应的特征向量。任取n维列向量x(),用迭代公式x(k+,)=Ax(k)计算得到x(), x“),x
25、,设 x(0)=ajV|+ a2V2+anvn ,因为 AVj=%Vj 所以x1= Ax= a仇1 V+ a2AV2+.+anXn vnx(2= Ax*= a伉J Vi+ a2兀2、2+3+anA.2 vn一般地有xk+i)_ Ax= ajZ,ik Vi+ a2入2k v2+.+anXnk vn =Xi kai Vi+ a2(A,2/X|)k v2+.+an(Xn/A-i)k vn当 k 充分大时 X1.00000.0000-0.70710.00003.0000-0.7071-0.7071-0.70712.0000消去第i行第j列的元素A-0.6340-0.32510.0000-0.32513
26、.0000-0.62800.0000-0.62802.3660消去第i行第j列的元素2 A-0.59010.0000-0.08390.00003.0438-0.6223-0.0839-0.62232.3660消去第i行第j列的元素ij=13 A-0.5862-0.02930.0000-0.02933.0438-0.62160.0000-0.62162.3700消去第i行第j列的元素i jj=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.0000
27、3.41420.0001-0.01500.00011.99983.4 QR 方法*QR方法是求一般矩阵A的全部特征值和特征向量的一种迭代方法。其基本思路是利用矩阵A的QR分解,a)= Oi R i通过迭代格式K K 将A化为相似的上三角矩阵(或分块上三角矩阵),从而求出A的全部1A(k+D=RkQk特征值和特征向量。213例3.4.1用QR方法求矩阵A=123的特征值和特征向量。012本章小结本章介绍了求矩阵的特征值和对应的特征向量的几种方法。事法可以求出矩阵的主特征值和对应的特征向量,优点是算法简单,但当ixa2i =1时,收敛速度很慢。反幕法可以求出矩阵的模最小的特征值和对应的特征向量。雅
28、可比方法是利用一系列正交相似变换(即平面旋转变换)把实对称矩阵A化为对角阵(近似),从而求出实对称矩阵全部特征值。QR方法是用镜向反射阵将矩阵A作QR分解,是一种求矩阵的全部特征值的有效方法。第四章插值与拟合4.1引言己知表格函数y=f(x)XiXoXx2Xn-lXnf(Xi)yoy:y2yn-iyn构造一个公式p (x)近似地表示f (x),解决这个问题的方法有两类:一类是插值法,另一类是拟合法,又称为逼近法。已知函数y=f (x)在互异点xo , xb x2 xn.h xn上的函数值%, yi, y*yn,构造一个函数p(x)使得p(xO=%这样的问题称为插值问题。y=f (x)称为被插值
29、函数,xo xn称为插值区间,p(x)称为插值函数,Xo , XbX2 Xi,Xn称为插值点,在插值区间内部用p(x)代替f(x)称为内插,在插值区间外部用p(X)代替f (x)称为外推,R(x)=f(x)-p(x)称为插值函数p(x)的误差。定理:给出n+1个插值点及函数值XiXoX1X2Xn-1Xnf(Xi)yoyiyzyn-iYn求一个 n 次多项式 pn(x)=a()+aix+a2X2+.+ anx1、给出2个插值点(xo,yo),(xi , yi何以得到一次多项式 p(x)=y0+y) x0-XI x,-x02、给出3个插值点(x0,y0),(xj,yi),3, y?)可以得到二次多
30、项式(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)=yo P2(Xi)= yi p2(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)例4.3.1按下列表格求y(-0.5)和y(0.5)的值。4.4均差插值公
31、式已知函数f(X)在互异点Xo, X1, Xn上的值为f(Xo), f(x 1)f(x n)f(Xj)-f(Xj)称f(Xj,x j)=(jHi)为函数f(x)在点Xi, Xj处的一阶均差。Xjff(x -, Xb ) f(x, X ,)称f(Xj,X j,xk)=匚-(1)为函数1(*)在点*1,),*1,处的二阶均差。Xk-Xi一般地称 f(xo,Xl,Xn)= f (勺X2Xn)_f(XO,XI,XnT)为函数f(x)在点 x, XI,xn 上的 n 阶 Xn -X0均差。牛顿插值公式 Nn(x)= f(x0)+( x- x0) f(x0,xi)+( x- x0)( X- X!)f(X0
32、,Xi ,X2)+.+( X- Xo)( X- Xi).( X- X n-i)f(x0,xn)牛顿插值公式具有递推关系N k+1(X)= N k(x)+( x- Xo)( x- Xi)(x- x k)f(x(),X1,,Xk+i)新增加一个节点,只需要增加计算一项(x-x0)(x-X|).(x-xk)f(x0,X|.,Xk+l)1、差分已知函数f(x)在等距节点Xo, X1,,Xn上的值XXox+hx+2hx+nhf(x)yoyiY2Yn称yk=yk+yk为函数f(x)在点x k处的一阶差分。称yk=4yk+Layk为函数f(x)在点Xk处的二阶差分。一般地称yk=1AT yk+1-An-1丫
33、卜为函数f(x)在点Xk处的m阶差分。牛顿向前插值公式XT ,、 t t(t 1) a2t(t 1)(t n +1) AnNn(x0+th)= y0+-Ay0+-Ay0+;A Yo1!2!n!牛顿向后插值公式/. x t 口 t(t + l)v72t(t +1)(t + n 1)7nNn(x0+ th)= y0+-Vy0+-V y()+:V Yo1!2!n!定理:给出n+1个插值点上的函数值和导数值XiXoXlX2Xn-1Xnf(Xi)yoyiyzyn-iYnf(Xi)y。y/y2yn-lZy;求一个2n+l 次多项式 H(x)满足 HNxgyi , Hzn (Xi)= y -Xj (X-Xi)【3;(Xi)(X-Xi)3(Xi)224.7样条插值公式在xoy平面上给定n+1个点(x(),%),(X|,yD,(Xn, yj,构造一个函数S(x)满足以下条件(1)S(x i)=yj (i =0,1,2,,n)(2)在区间(x0,xn)内S(x)具有连续的二阶导数(3)在每个子区间xi,xj上S(x)(表达式是Si(x)是一个三次多项式。满足以上条件S(x)称为三次样条插值多项式。三次样条插值多项式的推导设在子