您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 线性方程组的直接解法
1《计算方法》课程论文论文名称:______线性方程组的直接解法___系别年级:______信息工程系2012级______专业班级:______电子信息工程1班_______学生姓名:______李月朋_________________学生学号:______044120108_____________联系电话:______18233223863____________中国地质大学长城学院信息工程数学教研室2014年12月30日2线性方程组的直接解法摘要内容:简要论述本文所要解决的问题及意义,解决问题的思路与方法、主要结果(数值结果或结论),算法的创新之处与特色等。(约200—300字)关键词:线性方程组解法高斯消元法三角分解法平方根法1.引言在之前的学习中,我们已经学习过了未知数与方程的个数相等的方程组,在实际问题中,未知数与方程组的个数不一定相等,这就是我们讨论的一般线性方程组。在自然科学和工程技术中很多问题的解决常常归结为解线性方程组,例如电学中的网络问题,船体数学放样中建立三次样条函数问题。经过有限步算术运算,求得方程组精确的解。如果未知量的个数为n,而且关于这些未知量x1,x2,...,xn的幂次都是一次的(线性的),那么,n个方程11112211112......nnnnnnnnnaxaxaxbaxaxaxb构成一个含n个未知量的线性方程组,称为n阶线性方程组。其中,系数a11...,a1n,a21,...,a2n,...,an1,...,ann和b1,...,bn都是给定的常数。方程组也常用矩阵的形式表示,写为Ax=b其中,A是由系数按次序排列构成的一个n阶矩阵,称为方程组的系数矩阵,x和b都是n维向量,b称为方程组的右端向量。2.理论基础(背景、意义、内容)在科学计算中,很多问题最终都归结为求解线性代数方程组,求解线性方程组的方法有很多,但可以分为两大类:直接法和迭代法。所谓直接法,指的是如果所有计算都是精确进行的,那么进行有限步算术运算就可以求出方程组准确的那些方法,但是,在实际计算过程中由于舍入误差的存在和影响,直接法一般只能求得方程组的近似解。高斯消元法(或译:高斯消去法),是线性代数中的一个算法,可用来为线性方程组求解,求出矩阵的秩,以及求出可逆方阵的逆矩阵。当用于一个矩阵时,高斯消元法会产生出一个“行梯阵式”。高斯消元法可以用在电脑中来解决数千条等式及未知数。不过,如果有过百万条等式时,这个算法会十分费时。一些极大的方程组通常会用迭代法来解决。亦有一些方法特地用来解决一些有特别排列的系数的方程组。3求解线性方程组的直接方法有以下几种:1、利用左除运算符直接求解线性方程组为Ax=bx=A\b2、列主元的高斯消元法程序流程图:输入系数矩阵A,向量b,输出线性方程组的解x。根据矩阵的秩判断是否有解,若无解停止;否则,顺序进行;对于p=1:n-1选择第p列中最大元,并且交换行;消元计算;回代求解。3、利用矩阵的分解求解线性方程组(1)LU分解调用matlab中的函数lu即可,调用格式如下:[L,U]=lu(A)注意:L往往不是一个下三角,但是可以经过行的变换化为单位下三角。(2)平方根法调用matlab中的函数chol即可,调用格式如下:R=chol(A)输出的是一个上三角矩阵R,使得TARR。3.算法模型(例题)例题:利用高斯消元法求解三元线性代数方程组123123123612331518315xxxxxxxxx解:先消去上述方程组中后两个方程中的变量X1,得到同解方程组1232323615957211793xxxxxxx再消去上个方程组中第三个方程中的变量X2,得到新的同解方程组4123233615957226655xxxxxx由此可以求出X3=3,X2=2,X1=1。4.算法的数值实验结果12321323732799613619A63167b(1)lu分解结果:L=0.0060-0.02631.0000000.05360.0076-0.00440.17471.00001.000000000.37500.8553-0.65401.000000.41071.0000000U=56.00000-1.00003.000013.0000076.000051.410760.767975.660750077.35892.33136.9137000-43.5728-50.0631000096.5050y=3.0000-0.63880.859850.9836-11.0590x=0.13670.90040.0526-1.0384-0.1146(2)列主元的高斯消元法因为RA=RB=n,所以此方程组有唯一解。B=1.000020.0000-1.00000.001000-45.000032.0000-0.10201.00005.00001.0000-100.0000-10.0000062.0000-100.0000-1.00001.00000B=1.000020.0000-1.00000.001000-45.000032.0000-0.10201.00000-99.0000-95.0000-10.005002.0000-100.0000-1.00001.00000B=1.000020.0000-1.00000.001000-45.000032.0000-0.10201.00000-99.0000-95.0000-10.005000-140.00001.00000.99800B=1.000020.0000-1.00000.001000-45.000032.0000-0.10201.000000.0000-165.4000-9.7806-2.20000-140.00001.00000.99800B=1.000020.0000-1.00000.001000-45.000032.0000-0.10201.000000.0000-165.4000-9.7806-2.2000700-98.55561.3153-3.1111B=1.000020.0000-1.00000.001000-45.000032.0000-0.10201.000000.0000-165.4000-9.7806-2.20000007.1432-1.8002RA=4RB=4n=4X=0.0604-0.00160.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];8b=[2/sqrt(5);-2;3;51;5/sqrt(71)];[L,U]=lu(A)y=inv(L)*bx=inv(U)*y9指导老师评阅意见论文标题线性方程组的直接接法评语:项目等级年月日个人成绩个人成绩:姓名李月朋成绩指导老师年月日
本文标题:线性方程组的直接解法
链接地址:https://www.777doc.com/doc-5090177 .html