《线性方程组的直接解法.doc》由会员分享,可在线阅读,更多相关《线性方程组的直接解法.doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品文档,仅供学习与交流,如有侵权请联系网站删除计算方法课程论文论文名称:_线性方程组的直接解法_系别年级:_信息工程系2012级_专业班级:_电子信息工程1班_ 学生姓名:_李月朋_学生学号:_044120108_联系电话:_18233223863_中国地质大学长城学院信息工程数学教研室2014年12月30日线性方程组的直接解法摘 要内容:简要论述本文所要解决的问题及意义,解决问题的思路与方法、主要结果(数值结果或结论),算法的创新之处与特色等。(约200300字)关键词:线性方程组 解法 高斯消元法 三角分解法 平方根法1. 引言在之前的学习中,我们已经学习过了未知数与方程的个数相等的方程
2、组,在实际问题中,未知数与方程组的个数不一定相等,这就是我们讨论的一般线性方程组。在自然科学和工程技术中很多问题的解决常常归结为解线性方程组,例如电学中的网络问题,船体数学放样中建立三次样条函数问题。经过有限步算术运算,求得方程组精确的解。如果未知量的个数为n,而且关于这些未知量x1,x2,.,xn的幂次都是一次的(线性的),那么,n个方程构成一个含n个未知量的线性方程组,称为n阶线性方程组。其中,系数a11.,a1n,a21,.,a2n,.,an1,.,ann和b1,.,bn都是给定的常数。方程组也常用矩阵的形式表示,写为Ax=b其中,A是由系数按次序排列构成的一个n阶矩阵,称为方程组的系数
3、矩阵,x和b都是n维向量,b称为方程组的右端向量。2理论基础(背景、意义、内容)在科学计算中,很多问题最终都归结为求解线性代数方程组,求解线性方程组的方法有很多,但可以分为两大类:直接法和迭代法。所谓直接法,指的是如果所有计算都是精确进行的,那么进行有限步算术运算就可以求出方程组准确的那些方法,但是,在实际计算过程中由于舍入误差的存在和影响,直接法一般只能求得方程组的近似解。高斯消元法(或译:高斯消去法),是线性代数中的一个算法,可用来为线性方程组求解,求出矩阵的秩,以及求出可逆方阵的逆矩阵。当用于一个矩阵时,高斯消元法会产生出一个“行梯阵式”。高斯消元法可以用在电脑中来解决数千条等式及未知数
4、。不过,如果有过百万条等式时,这个算法会十分费时。一些极大的方程组通常会用迭代法来解决。亦有一些方法特地用来解决一些有特别排列的系数的方程组。求解线性方程组的直接方法有以下几种:1、利用左除运算符直接求解线性方程组为Ax=b=,则输入x=Ab=即可。2、列主元的高斯消元法程序流程图:输入系数矩阵A,向量b,输出线性方程组的解x。根据矩阵的秩判断是否有解,若无解停止;否则,顺序进行;对于p=1:n-1选择第p列中最大元,并且交换行;消元计算;回代求解。3、利用矩阵的分解求解线性方程组(1)LU分解调用matlab中的函数lu即可,调用格式如下:L,U=lu(A)注意:L往往不是一个下三角,但是可
5、以经过行的变换化为单位下三角。(2) 平方根法调用matlab中的函数chol即可,调用格式如下:R=chol(A)输出的是一个上三角矩阵R,使得。3算法模型(例题)例题:利用高斯消元法求解三元线性代数方程组解:先消去上述方程组中后两个方程中的变量X1,得到同解方程组再消去上个方程组中第三个方程中的变量X2,得到新的同解方程组由此可以求出X3=3,X2=2,X1=1。4算法的数值实验结果(1) lu分解结果:L= 0.0060-0.02631.000000 0.05360.0076-0.00440.17471.0000 1.00000000 0.37500.8553-0.65401.00000
6、 0.41071.0000000U= 56.00000-1.00003.000013.0000 0 76.0000 51.4107 60.7679 75.6607 00 77.3589 2.3313 6.9137 000 -43.5728 -50.0631 0000 96.5050y= 3.0000 -0.6388 0.8598 50.9836 -11.0590x= 0.1367 0.9004 0.0526 -1.0384 -0.1146(2) 列主元的高斯消元法因为RA=RB=n,所以此方程组有唯一解。B= 1.000020.0000-1.00000.00100 0-45.000032.00
7、00-0.10201.0000 5.00001.0000-100.0000-10.00000 2.0000-100.0000-1.00001.00000B= 1.000020.0000-1.00000.00100 0-45.000032.0000-0.10201.0000 0-99.0000-95.0000-10.00500 2.0000-100.0000-1.00001.00000B= 1.000020.0000-1.00000.00100 0-45.000032.0000-0.10201.0000 0-99.0000-95.0000-10.00500 0-140.00001.00000.9
8、9800B= 1.000020.0000-1.00000.00100 0-45.000032.0000-0.10201.0000 00.0000-165.4000-9.7806-2.2000 0-140.00001.00000.99800B= 1.000020.0000-1.00000.00100 0-45.000032.0000-0.10201.0000 00.0000-165.4000-9.7806-2.2000 00-98.55561.3153-3.1111B= 1.000020.0000-1.00000.00100 0-45.000032.0000-0.10201.0000 00.00
9、00-165.4000-9.7806-2.2000 0007.1432-1.8002RA=4RB=4n=4X=0.0604 -0.0016 0.0282 -0.25205. 算法的评价与小结在用LU法,调用matlab中的函数lu中,L往往不是一个下三角,但可以直接计算不用它的结果来计算,不用进行行变换。如果进行行变b也要变,这样会很麻烦。参考文献(至少3篇参考文献)1 丁丽娟,程祈元,数值计算方法,北京:北京理工大学出版社,2005。2 陈公宁,沈嘉骥,计算方法导引,北京:北京师范大学出版社,2009。3 胡祖枳,林源渠,数值分析,北京:高等教育出版社,1986。附录程序:A=1/3-2763/45;31/sqrt(3)0-789;560-1313;2165-7815;2376516281;b=2/sqrt(5);-2;3;51;5/sqrt(71);L,U=lu(A)y=inv(L)*bx=inv(U)*y【精品文档】第 6 页指导老师评阅意见论文标题线性方程组的直接接法评语:项目等级 年 月 日个人成绩个人成绩: 姓名 李月朋 成绩 指导老师 年 月 日