数值线性代数课程设计_第1页
数值线性代数课程设计_第2页
数值线性代数课程设计_第3页
数值线性代数课程设计_第4页
数值线性代数课程设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、数值线性代数课程设计报告(2014-2015第二学期)姓名:王美玲学号:081310104任课教师:杨熙南京航空航天大学2015 年 6 月 18Jacobi迭代法,Gauss-Seidel迭代法,SOR迭代法求解线性方程组的数值效果比较摘要:Jacobi迭代法,Gauss-Seidel迭代法,SOR迭代法是三种经典的用于求解线性方程组的迭代方法,本文主要对这三种方法的数值逼近效果进行比较。关键词:Jacobi迭代法;Gauss-Seidel迭代法;SOR迭代法;线性方程组线性方程组的求解方法可归纳为直接法和迭代法。迭代法中有三种最为经典的迭代方法,就是Jacobi迭代法,Gauss-Seid

2、el迭代法和SOR迭代法。然而三种方法的收敛性,近似解的逼近效果有不同。本文将对三种方法求解线性方程组的迭代效果做相应探讨。设有线性方程组Ax=b,A为非奇异矩阵,求x的近似解,三种迭代方法如下。1. Jacobi迭代法算法:x(1) 选取初始点 (0) ,精度要求ep,最大迭代次数N,初始化迭代次数k=0。x(2) 由 Jacobi迭代法计算公式计算点 (k+1)。(k+1)x(3) 相对误差err小于等于精度要求ep时,输出 作为方程的近似解。(k)(k+1)xx(4) = ,k=k+1,转步骤(2)。2. Gauss-Seidel迭代法算法:x(1) 选取初始点 (0) ,精度要求ep,

3、最大迭代次数N,初始化迭代次数k=0。x(2) 由 Gauss-Seidel迭代法计算公式计算点 (k+1)。(k+1)x(3) 相对误差err小于等于精度要求ep时,输出 作为方程的近似解。(k)(k+1)xx(4) = ,k=k+1,转步骤(2)。3. SOR迭代法算法:x(1) 选取初始点 (0) ,精度要求ep,最大迭代次数N,初始化迭代次数k=0。x(2) 由 SOR迭代法计算公式计算点 (k+1)。(k+1)x(3) 相对误差err小于等于精度要求ep时,输出 作为方程的近似解。(k)(k+1)xx(4) = ,k=k+1,转步骤(2)。上述三种经典迭代法收敛的充分必要条件是迭代矩

4、阵谱半径小于1。谱半径不易求解,而在一定条件下,通过系数矩阵A的性质可判断迭代法的收敛性。定理1:若系数矩阵A是严格对角占优或不可约对角占优,则Jacobi迭代法和Gauss-Seidel迭代法均收敛。定理2:(1)SOR迭代法收敛的必要条件是0<w<2;(2)若系数矩阵A严格对角占优或不可约对角占优且0<w<1,则SOR迭代法收敛。w=1时,SOR迭代法退化为Gauss-Seidel迭代法。数值例子及分析:(1) 生成随机矩阵10x10维严格对角占优矩阵A,右端随机向量b。系数矩阵A是严格对角占优,所以Jacobi迭代法和Gauss-Seidel迭代法均收敛。Jaco

5、bi迭代次数为3。Gauss-Seidel迭代次数为3。SOR迭代法:当w取0到1时,收敛,迭代次数递减,w=1时迭代次数为3;w取1到2时,迭代次数递增;w大于等于2时迭代次数超过最大迭代次数500,不收敛。多次计算可得出计算速度Jacobi>Gauss-Seidel>SOR。(2) A = b= 1 2 -2 1 1 1 1 3 2 2 1 5Jacobi迭代法,迭代矩阵谱半径为0,小于1,收敛,迭代次数3。Gauss-Seidel迭代法,迭代矩阵半径为2,大于等于1,不收敛。(3)A =b= 2 -1 11 1 1 13 1 1 -2 5Jacobi迭代法,迭代矩阵谱半径 5

6、/2,大于等于1,不收敛。Gauss-Seidel迭代法,迭代矩阵半径为1/2,小于1,收敛,迭代次数为23。参考文献:1汪仲文.解线性方程组的迭代方法之比较.喀什:喀什师范学院学报,第29卷第6期,2008年11月2徐树方.数值线性代数.北京:北京大学出版社,1995.3马昌凤.现代数值分析.北京:国防工业出版社.2013.4刘春凤,米翠兰.实用数值分析教程.北京冶金工业出版社.2006附录:源代码1.Jacobi迭代法function x,k=myjacobi(A,b,x,ep,N)%雅可比迭代法解线性方程组Ax=b%A为系数矩阵,b为右端向量,x为初始向量(默认为零向量),ep为精度%N

7、为最大迭代次数(默认最大值为500),x为近似解,k为迭代次数clear k x;if nargin<5 N=500;Endif nargin<4 ep=1e-6;endif nargin<3 x=zeros(size(b);endD=diag(diag(A);for k=1:N x=D(D-A)*x+b); err=norm(b-A*x)/norm(b); if err<ep break endendend2.Gauss-Seidel迭代法function x,k=myseidel(A,b,x,ep,N)%高斯-赛德尔迭代法解线性方程组Ax=b%A为系数矩阵,b为右端

8、向量,x为初始向量(默认为零向量),ep为精度%N为最大迭代次数(默认最大值为500),x为近似解,k为迭代次数clear k x;if nargin<5 N=500;endif nargin<4 ep=1e-6;endif nargin<3 x=zeros(size(b);endD=diag(diag(A);L=D-tril(A);U=D-triu(A);for k=1:N x=(D-L)(U*x+b); err=norm(b-A*x)/norm(b); if err<ep break; endend3.SOR迭代法function x,k=mysordd(A,b,w,x,ep,N)%超松弛迭代法(SOR)解线性方程组Ax=b%w为松弛因子%A为系数矩阵,b为右端向量,x为初始向量(默认为零向量),ep为精度%N为最大迭代次数(默认最大值为500),x为近似解,k为迭代次数clear k x;if nargin<6 N=500;endif nargin<5 ep=1e-6;endif nargin<4 x=zeros(size(b);endif nargin<3 w=

温馨提示

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

评论

0/150

提交评论