毕业设计(论文)-线性方程组的迭代法及程序实现.doc

上传人:小小飞 文档编号:3948179 上传时间:2019-10-10 格式:DOC 页数:29 大小:562.36KB
返回 下载 相关 举报
毕业设计(论文)-线性方程组的迭代法及程序实现.doc_第1页
第1页 / 共29页
毕业设计(论文)-线性方程组的迭代法及程序实现.doc_第2页
第2页 / 共29页
毕业设计(论文)-线性方程组的迭代法及程序实现.doc_第3页
第3页 / 共29页
毕业设计(论文)-线性方程组的迭代法及程序实现.doc_第4页
第4页 / 共29页
毕业设计(论文)-线性方程组的迭代法及程序实现.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《毕业设计(论文)-线性方程组的迭代法及程序实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-线性方程组的迭代法及程序实现.doc(29页珍藏版)》请在三一文库上搜索。

1、 学校代码:11517 学 号:200810111217 HENAN INSTITUTE OF ENGINEERING 毕业论文题 目 线性方程组的迭代法及程序实现 学生姓名 专业班级 学 号 系 (部) 数理科学系 指导教师(职称) 完成时间 2012年5月20日 河南工程学院论文版权使用授权书本人完全了解河南工程学院关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交论文的印刷本和电子版本;学校有权保存论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供本论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送

2、交论文的复印件和电子版;在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。论文作者签名: 年 月 日 河南工程学院毕业设计(论文)原创性声明本人郑重声明:所呈交的论文,是本人在指导教师指导下,进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任由本人承担。 论文作者签名: 年 月 日河南工程学院毕业设计(论文)任务书题目:线性方程组的迭代法及程序实现 专业:信息与计算科学 学号 : 姓

3、名 一、主要内容:通过本课题的研究,学会如何运用有限元方法来解决线性代数方程组问题,特别是Gaussie-Seidel迭代法和Jacobi迭代法来求解线性方程组。进一步学会迭代方法的数学思想,并对程序代码进行解析与改进,这对于我们以后学习和研究实际问题具有重要的意义。本课题运用所学的数学专业知识来研究,有助于我们进一步掌握大学数学方面的知识,特别是迭代方法。通过这个课题的研究,我进一步掌握了迭代方法的思想,以及程序的解析与改进,对于今后类似实际问题的解决具有重要的意义。二、基本要求:1 学会编写规范论文,独立自主完成。2 运用所学知识发现问题并分析、解决。3.通过对相关资料的收集、整理,最终形

4、成一篇具有自己观点的学术论文,以期能对线性方程组迭代法的研究发展有一定的实践指导意义。4.在毕业论文工作中强化英语、计算机应用能力。 完 成 期 限: 2012年 月 指导教师签名: 专业负责人签名: 年 月 日目 录中文摘要 英文摘要 1 综述12 经典迭代法概述3 2.1 Jacobi迭代法3 2.2 GaussSeidel迭代法4 2.3 SOR(successive over relaxation)迭代法4 2.4 SSOR迭代法5 2.5 收敛性分析5 2.6 数值试验63 matlab实现的两个例题8 3.1 例1 迭代法的收敛速度8 3.2 例2 SOR迭代法松弛因子的选取12

5、致谢16 参考文献17 附 录19线性方程组的迭代法及程序实现线性方程组的迭代法及程序实现摘 要 线性代数方程组的迭代方法是一种极限方法是解大型稀疏矩阵方程组的有效方法。它的基本思想是用某种极限过程去逐步逼近线性方程组的精确解,是一种逐步逼近的方法。迭代法将n阶线性方程组变形为某种迭代公式。对于任意给定的迭代初始值,由某一迭代格式便可生成一向量序列,我们的目的是求解方程组的解,因此我们会希望向量序列的极限逼近方程组的解。本文首先介绍了求解大型线性方程组的主要迭代算法,对一些经典迭代法(Jacobi方法、GaussSeidel方法、SOR方法和SSOR方法)进行了详细的讨论,其次着重讨论了经典迭

6、代法的收敛性,详细总结并给出了各种迭代方法的收敛性定理,并通过举例及其Matlab程序实现进一步阐述了迭代法的收敛性。关键字 线性方程组/Jacobi迭代法/Gauss-Seidel方法/SOR方法/收敛性 Iterative method and procedures for implementation of the linear equationsABSTRACT The iterative method of linear algebraic equations is an extreme method is an effective method for the solution o

7、f large sparse matrix equations. The basic idea is to a certain limit process to gradually approach the exact solution of linear equations, a step-by-step approximation method. The iterative method will be iterative formula for a deformation of n linear equations. For any given iteration of the init

8、ial value, by an iterative scheme can generate a vector sequence, our aim is the solution to solving the equations, so we will want to limit approximation the solution of equations of vector sequences. This paper first introduces the main iterative algorithm for solving large linear equations, a det

9、ailed discussion of some classical iterative method (Jacobi method, Gauss-Seidel method, SOR and SSOR methods), followed focused on the classical iterative convergence of the method, summarized in detail and gives a variety of iterative methods convergence theorem, and further elaborated by example

10、and Matlab program iterative methods.撤消修改KEYWORDS linear equations , Jacobi iterative method , Gauss-Seidel method ,the SOR method,convergence线性方程组的迭代法及程序实现1 综述在科学研究和大型工程设计中出现了越来越多的数学问题,而这些问题往往需要求数值解。在进行数值求解时,经离散后,常常归结为求解行如Ax=b的大型线性方程组。20世纪50年代至70年代,由于电子计算机的发展,人们开始考虑和研究在计算机上用迭代法求线性方程组Ax=b的近似解,用某种极限过

11、程去逐渐逼近精确解,并发现了许多非常有效的迭代方法。迭代法是按照某种规则构造一个向量序列x,使其极限向量x是Ax=b的精确解。因此,对迭代法来说一般有下面几个问题:(1)如何构造迭代序列?(2)构造的迭代序列是否收敛?在什么情况下收敛?(3)如果收敛,收敛的速度如何?我们应该给予量的刻划,用以比较各种迭代法收敛的快慢。(4)因为计算总是有限次的,所以总要讨论近似解的误差估计和迭代过程的中端处理问题,这又和舍入误差的分析有关。迭代法具有需要计算机存储单元少、程序设计简单、原始系数矩阵在计算过程中始终不变等优点。例如Jacobi方法、Gauss-Seidel方法、SOR方法、SSOR方法,这几张迭

12、代方法是最常用的一阶线性定常迭代法。大量偏微分方程的离散形式是大规模线性代数方程组,其数值计算是科学工程计算的核心,占有绝大部分的总体运算时间,解大规模稀疏线性方程组的Krylov子空间方法显示出与众不同的有效性。当矩阵是对称正定时,常用的方法是具有短递推的共轭度方法(CG)。系数矩阵不对称时,常用的方法中有完全正交化方法(FOM)和广义最小参量方法(GMRES)。还有很多迭代方法正在被人们发现和研究,新的有效的方法层出不穷,其中基于大型稀疏非Bermitian的正定阵的系数矩阵的Bermitian和Skew-Bermitian分裂的BSS方法,IBSS方法等具有非常好的实用性。但没有一种算法

13、是通用的,对于具体问题必须根据所得到的线性方程组和算法的特点进行选择。 MATLAB是Mathworks公司的产品,MATLAB的产生是与数学计算紧密联系在一起的,其基本数据结构是矩阵,它的表达式与数学工程计算中使用的形式十分相似,便于用户学习和使用系统包括5个部分:MATLAB语言、MATLAB工作环境、MATLAB图形处理系统、MATLAB数学函数库和MATLAB应用程序接口其主要功能包括:数值计算;符号计算;数据分析和可视化;文字处理;Simulink动态仿真在数值计算中,线性方程组的求解是一个很重要的问题用MATLAB来求解线性方程组,有几种方法,非常简单,通过对一些矩阵和函数的操作可

14、以轻松地得到线性方程组的解,不需要使用者掌握任何程序设计语言,对迭代法只需编写简单的程序212 经典迭代法概述20世纪50年代至70年代,人们开始考虑和研究用迭代法求解线性方程组 (2-1)的近似解,发展了许多有效的方法,其中有Jacobi方法、Gauss-Seidel方法、SOR方法、SSOR方法,这几种迭代方法均属一阶线性定常迭代法,即若系数矩阵A的一个分裂:;M为可逆矩阵,线性方程组(2-1)化为:;得到迭代方法的一般公式: (2-2)其中:,。2.1 Jacobi迭代法若D为A的对角素构成的对角矩阵,且对角线元素全不为零。系数矩阵A的一个分解:A=D(E+F);这里D为A的对角矩阵,E

15、为严格下三角阵,F为严格上三角阵。其中: Jacobi迭代的矩阵形式为: (2-3)(2-3)式中:;,称为Jacobi迭代矩阵。其计算公式为: (2-4)2.2 GaussSeidel迭代法对于非奇异方程组,若D为A的对角素构成的对角矩阵,且对角线元素全不为零;系数矩阵A的一个分解: (2-5)GaussSeidel迭代矩阵形式为 (2-6)其计算公式为: (2-7)2.3 SOR(successive over relaxation)迭代法对于非奇异方程组,若D为A的对角素构成的对角矩阵,且对角线元素全不为零;系数矩阵A的一个分解: (2-8)这里D为A的对角素构成的对角矩阵,E为严格下三

16、角形,F为严格上三角形。SOR迭代法的矩阵形式为: (2-9)计算公式为: (2-10)(8) 式中:为实数,称为松弛因子,01时叫超松弛,当10时叫低松弛。=1是Gauss-Seidel迭代法;(3)SOR迭代法的算法:输入矩阵A,向量b,初始点,精确度,最大迭代次数N,松弛因子的选取;进行迭代;判断迭代的情况。解:(1) 数据准备:A=12*eye(200,200);for i=1:199 A(i,i+1)=-2; A(i+1,i)=-2;endfor j=1:198 A(j,j+2)=1; A(j+2,j)=1;endb=5*ones(200,1);(2)给定迭代误差1e-6,取=1.0

17、0,1.10,1.20,1.30,1.40,1.50,1.60,1.70,1.80,1.90,1.91,1.92,1.95,1.97,1.98,1.99,2.00,代入x=masor(A,b,),x20=majacobi(A,b)并利用norm(x-x20)分别分析与雅可比迭代求的解的误差; (3) 给定迭代误差1e-6,取=0.02,0.03,0.040.10,0.20,0.30,0.40,0.50,0.60,0.70,0.80,0.90,0.97.0.98,0.99,代入x=masor(A,b,),=majacobi(A,b)并利用分别分析与雅可比迭代求的解的误差。运行结果为:表3-1 1

18、的情况k1.0089.7346e-0071.10109.6821e-0071.20121.0307e-0061.30161.0200e-0061.40201.1434e-0061.50261.2691e-0061.60361.2272e-0061.70511.4364e-0061.80831.4657e-0061.901771.7205e-0061.911981.7542e-0061.922242.2548e-0061.953211.5060e-0061.974711.8146e-0061.985001.99500表3-2 5000.033863.8618e-0040.042972.8217e

19、-0040.101261.0286e-0040.20644.0889e-0050.30422.1010e-0050,40301.4555e-0050.50238.1655e-0060.60185.0040e-0060.70143.7920e-0060.80112.3675e-0060.9091.0772e-0060.9789.7786e-0070.9889.7481e-0070.9989.7361e-007结果分析:(1)由表1-1可以看出,在其它条件不变的情况下,改变的值,会改变解得值,且越接近于1,误差越小,越接近于2,误差越大,而且当的值越大,它的迭代次数越大,就本例而言,当为1.98时

20、,就因迭代次数过大,跳出程序;(2)由表1-2可以看出,在其它条件不变的情况下,改变的值,会改变解得值,且越接近于1,误差越小,越接近于0,误差越大,且迭代次数也越大,就本例而言,当为0.02时,就因迭代次数过大,跳出程序,且不能取值为0;(3)综上(1)(2)所述,的取值范围为02,且越接近1,误差值越小,迭代次数也越小。致谢毕业设计是对我们知识能力的一次全面考核,也是对我们科学研究基本功的训练,培养我们综合运用所学知识独立的分析问题和解决问题的能力,为以后撰写专业学术论文和工作打下良好基础。本次设计能够顺利完成,首先要感谢我的母校河南工程学院。是她为我们提供了学习知识的土壤,使我们在这里茁壮成长,其次要感谢赵恒军老师在设计工程中给予我的悉心指导,她认真负责的态度,严谨的治学精神和深厚的理论水平都是我受益匪浅。她无论在理论上还是实践中,都给予我很大的帮助,感谢她耐心的辅导,谨向赵老师致以真诚的谢意!在今后的人生道路上,我一定谨遵恩

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1