列主元素消去法求解方程组.doc_第1页
列主元素消去法求解方程组.doc_第2页
列主元素消去法求解方程组.doc_第3页
列主元素消去法求解方程组.doc_第4页
列主元素消去法求解方程组.doc_第5页
免费预览已结束,剩余3页可下载查看

下载本文档

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

文档简介

列主元素消去法求解方程组摘 要在自然科学和工程中有很多问题的解决归结为求解线性方程组或者非线性方程组的数学问题。例如,电学中的网络问题,用最小二乘法求实验数据的曲线拟合问题,三次样条的插值问题等等。求解线性方程组的直接法主要有选主元高斯消去法、平方根法、追赶法等。列主元素消去法既是选主元高斯消去法的一种,也是实际计算中常用的部分选主元消去法。本文即是讨论利用列主元素消去法求解线性方程组问题。关键词按列选主元 交换 消元 回代一 列主元素消去法背景在科学研究和工程技术中有许多问题可归结为求解线性代数方程组,其中所产生的线性方程组,其系数矩阵大致可分为两种:一种是低阶稠密矩阵;另一类是大型稀疏矩阵(此类矩阵阶数高,但零元素较多)。对于这两种矩阵,我们可以把线性代数方程组的数值解法大致的分为两类:直接法和迭代法。迭代法一般用来求解大型稀疏矩阵方程组(本文不予讨论);直接法是目前计算机上解低阶稠密矩阵的有效方法,如果计算过程中没有舍入误差,则此种方法通过有限步四则运算可求的方程组的精确解,但实际计算中由于舍入误差的存在和影响,这种方法也只能求得方程组的近似解。直接法主要有选主元素高斯消去法、平方根法、追赶法等。本文所要讨论的列主元素消去法就是选主元素高斯消去法中的一种。高斯消去法是一个古老的求解线性方程组的方法,也是解线性方程组问题中较为常见的一种数值方法。但在采取高斯消去法解方程组时,当采用绝对值很小的主元素时,可能导致计算结果的失败,故在消去法中应避免采用绝对值很小的主元素。对于一般的线性方程组,需要引进选主元的技巧,即在高斯消去法的每一步应该在系数矩阵或消元后的低价矩阵中选取绝对值最大的元素作为主元素,保持乘数,以便减少计算过程中舍入误差对计算解的影响。选主元素消元法则是对高斯消去法的改进,是解低价稠密矩阵方程组的有效方法。选主元素消元法则避免了采用绝对值很小的主元素。选主元素消去法主要有完全主元素消去法与列主元素消去法两种。完全主元素消去法即是每次按行列选取绝对值最大的元素作为主元素,进行行列交换,之后再完成消元计算。在完全主元素消去法计算过程中舍入误差能得到有效的控制,对计算的影响较小,具有更好的数值稳定性。列主元素消去法则是对完全主元素消去法的又一次改进。列主元素消去法在完全主元素消去法的基础上减少了在选主元素时所要花费的一定的计算时间。此论文将介绍列主元消去法的基本思想和原理。二 列主元素消去法的理论基础设有线性方程组其中,为非奇异矩阵。方程组的增广矩阵为 首先在的第1列选取绝对值最大的元素作为主元素,即选择 然后交换的第1行与第行(交换后增广矩阵为简单起见仍记为,其元素仍记为)。经过第1次消元计算得到与原方程组等价的方程组 其中 上述过程可记为 重复上述计算过程,现假设已完成第步的选主元素过程,交换两行并进行消元计此时约化为 其中的元素仍记为,的元素仍记为.第步选主元素(在右下角方阵的第1列内选),即确定,使 交换第行与行的元素,再进行消元计算,最后将原线性方程组化为 回代可求解得 算法描述: 对于做到(4)。(1) 按列选主元,即确定使 (2) 如果,则为奇异矩阵,停止计算。(3) 如果,则交换第行与第行元素。(4) 消元计算: (5) 回代计算: 三 通过计算机利用列主元素消去法求解线性方程组计算机在科学和工程设计中应用日益广泛。把科学和工程设计中的具体问题抽象为数学问题,建立起能描述并等价代替该实际问题的数学问题,编制出计算机程序,就能够使得复杂问题得到妥善的解决。下面及描述列主元消去法的程序过程。对于已给定的,其程序框图如下:输入n, ,按列选主元否换行否消元计算是是输出停 机回代求解 (当)输出计算解及行列式值及det停 机(注:为矩阵的行数;为输入的一精度,用于判断的行列式是否约等于0)例 求下面解方程组利用列主元素消去法求解此方程组的程序见附件1,其结果如下图:利用完全主元素消去法求解此方程组的程序见附件2,其结果如下图:容易看出此方程组的精确解,由上面两图可看出列主元素消去法与完全主元素消去法的结果都接近于精确解。二种方法的精度差不多。四 总结列主元素消去法的提出有效的控制了舍入误差的扩散,且相对于完全主元素消去法,其选主元素比较方便。,利用列主元素消去法解线性方程组时仅需要选出每列中绝对值最大的元素,计算量为,利用完全主元素消去法时则需要按行列选取绝对值最大的元素,其计算量为。可看出列主元素消去法比完全主元素消去法减少了计算时间。总之,列主元素消去法是解低阶稠密矩阵的有效方法。从上面的例题可看出,利用计算机来求解方程组大大的减少了计算时间。当然,利用计算机来解决工程实际和科学技术中的复杂问题,也是21世纪现代化的要求。把建立好的数学模型用计算机描述出来,这不仅使问题变得简单化,还大大的缩减了计算所需的时间,体现了数学与计算机的紧密结合。在以后的工作生活中我们要学会善于利用计算机与数学的关系,把复杂的问题简单化,减少计算时间,提高工作的效率。列主元消去法只是求解线性方程组的一种方法,但由于篇幅的限制,对于解决线性方程组的其他方法就不一一叙述了。参考文献1Burden R L,Faires J D,Reynolds A C. Numerical Analysis. Alpine Press,19812易大义,沈云宝,李有法编.计算方法.杭州:浙江大学出版社,20023易大义,陈道琦编.数值分析引论.杭州:浙江大学出版社,19984李庆阳,王能超,易大义编.数值分析(第四版).北京:清华大学出版社,施普林格出版社,20015冯康等编.数值计算方法.北京:国防工业出版社,1978The Main Elements Of The Column Elimination For Solving EquationsAbstract In the natural sciences and engineering, there are many problems boiled down to solving linear equations or nonlinear equations of mathematical problems. Such as, the problems of network in the electricity, the curve fitting figuring out the experimental data with the least square method, computing of cubic spline interpolation, etc. The direct methods to solve the linear equations are Pivoting Gaussian Elimination Method, Square Root Method, Catching Method, etc. The main elements of the column elimination belongs to Pivoting Gaussian Elimination Method, and also is used commonly in the calculation of the actual pivoting elimination. This article is discussing the use of the main elements of the column elimination in solving linear equations problems.Key Words By column pivoting,Exchange,Elimination,Back substitution附件1:#include #include void main()int n=7,k,j,p,i;float E,det=1.0,m,z; float b7=7,8,10,13,17,22,28,c0,temp;float A77=1,1,1,1,1,1,1,2,1,1,1,1,1,1,3,2,1,1,1,1,1,4,3,2,1,1,1,1,5,4,3,2,1,1,1,6,5,4,3,2,1,1,7,6,5,4,3,2,1; printf(输入E的值:);scanf(%f,&E); for(k=0;kn-2;k+) c0=Akk; for(i=k;ic0)c0=Aik;p=i; if(fabs(c0)E)printf(det(A)约等于0);break; else if(p!=k) for(j=0;j7;j+) temp=Apj;Apj=Akj;Akj=temp; temp=bp;bp=bk;bk=temp; det=-det; for(i=k+1;i7;i+) m=Aik/Akk; for(j=k;j7;j+)Aij=Aij-m*Akj; bi=bi-m*bk; det=Akk*det; c0=A55; for(i=5;ic0)c0=Ai5;p=i; if(p!=5) for(j=0;j=0;i-)z=0;for(j=i+1;jn;j+)z=z+Aij*bj; bi=(bi-z)/Aii; det=A66*det;printf(输出的x值:n);for(i=0;i7;i+)printf(x(%d)=%fn,i+1,bi);附件2#include #include void main()int n=7,k,j,p,i,l;float E,det=1.0,m,z; float b7=7,8,10,13,17,22,28,c0,temp; floatA77=1,1,1,1,1,1,1,2,1,1,1,1,1,1,3,2,1,1,1,1,1,4,3,2,1,1,1,1,5,4,3,2,1,1,1,6,5,4,3,2,1,1,7,6,5,4,3,2,1; printf(输入E的值:); scanf(%f,&E); for(k=0;kn-2;k+) c0=Akk; for(i=k;i7;i+)for(j=k;jc0)c0=Aij;p=i;l=j; if(fabs(c0)E)printf(det(A)约等于0);break; else if(p!=k) for(j=0;j7;j+)temp=Apj;Apj=Akj;Akj=temp; temp=bp;bp=bk;bk=temp; det=-det; if(l!=k) for(j=0;j7;j+)temp=Ajl;Ajl=Ajk;Ajk=temp; for(i=k+1;i7;i+) m=Aik/Akk;

温馨提示

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

评论

0/150

提交评论