• /  10
  • 下载费用: 11.9积分  

LAB07_解线性方程组的基本迭代法实验

'LAB07_解线性方程组的基本迭代法实验'
Lab07.解线性方程组的基本迭代法实验【实验目的和要求】1.使学生深入理解Jacobi迭代法、Gauss-Seidel迭代法和SOR迭代法;2.通过对Jacobi迭代法、Gauss-Seidel迭代法和SOR迭代法的程序设计,以提高学生程序设计的能力;3.应用编写的程序解决具体问题,掌握三种基本迭代法的使用,通过结果的分析了解每一种迭代法的特点。【实验内容】1.根据Matlab语言特点,描述Jacobi迭代法、Gauss-Seidel迭代法和SOR迭代法。2.编写Jacobi迭代法、Gauss-Seidel迭代法和SOR迭代法的M文件。3.给定为五对角矩阵(1)选取不同的初始向量及右端面项向量b,给定迭代误差要求,分别用编写的Jacobi迭代法和Gauss-Seidel迭代法程序求解,观察得到的序列是否收敛?若收敛,通过迭代次数分析计算结果并得出你的结论。(2)用编写的SOR迭代法程序,对于(1)所选取的初始向量及右端面项向量b进行求解,松驰系数ω取1<ω<2的不同值,在时停止迭代,通过迭代次数分析计算结果并得出你的结论。【实验仪器与软件】 1.CPU主频在1GHz以上,内存在128Mb以上的PC;2.Matlab 6.0及以上版本。实验讲评:实验成绩: 评阅教师:200 年 月 日Lab07.解线性方程组的基本迭代法实验一、算法描述1、雅可比迭代法描述如下: 将线性方程组中的系数矩阵分为三部分设选取M为A的对角元素部分,即选取M=D(对角矩阵),A=D-N,由得到解Ax=b的雅可比迭代法其中,称J为解Ax=b的雅可比迭代法的迭代矩阵。2、高斯-塞德尔迭代法描述如下: 选取分裂矩阵M为A的下三角部分,即选取M=D-L(下三角矩阵),A=M-N,于是由得到解Ax=b的高斯-塞德尔迭代法,其中为解Ax=b的高斯-塞德尔迭代法的迭代矩阵。3、逐次超松弛迭代法描述如下: 选取分裂矩阵M为带参数的下三角矩阵,其中为可选择的松弛因子,于是由可构造一个迭代法,其迭代矩阵为,从而得到解Ax=b的逐次超松弛迭代法,简称SOR法。解Ax=b的SOR方法为,其中二、算法程序1、编写Jacobi迭代法的M文件如下:function [x,n]=Jacobi(A,b,x0,r)format long n=length(A);D=diag(diag(A));L=(-1)*tril(A,-1);U=(-1)*triu(A,1);B=inv(D)*(L+U);f=inv(D)*b;x=B*x0+f;n=1; while norm(x-x0)>=r x0=x; x=B*x0+f; n=n+1;end 2、编写Gauss-Seidel迭代法的M文件如下:function [x,n]=GaussSeidel(A,b,x0,r)n=length(A);D=diag(diag(A));L=(-1)*tril(A,-1);U=(-1)*triu(A,1);B=inv(D-L)*U;f=inv(D-L)*b;x=B*x0+f;n=1; while norm(x-x0)>=r x0=x; x=B*x0+f; n=n+1;end 3、编写SOR迭代法的M文件如下:function [x,n]=SOR(A,b,x0,w,r)format long n=length(A);D=diag(diag(A));L=(-1)*tril(A,-1);U=(-1)*triu(A,1);Lw=inv(D-w*L)*((1-w)*D+w*U);f=w*inv(D-w*L)*b;x=Lw*x0+f;n=1; while norm(x-x0)>=r x0=x; x=Lw*x0+f; n=n+1;end 三、数值实验矩阵A的程序表示如下:function A=lucius()A=[ 3 -1/2 -1/4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; -1/2 3 -1/2 -1/4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; -1/4 -1/2 3 -1/2 -1/4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 0 -1/4 -1/2 3 -1/2 -1/4 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 0 0 -1/4 -1/2 3 -1/2 -1/4 0 0 0 0 0 0 0 0 0 0 0 0 0; 0 0 0 -1/4 -1/2 3 -1/2 -1/4 0 0 0 0 0 0 0 0 0 0 0 0; 0 0 0 0 -1/4 -1/2 3 -1/2 -1/4 0 0 0 0 0 0 0 0 0 0 0; 0 0 0 0 0 -1/4 -1/2 3 -1/2 -1/4 0 0 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 -1/4 -1/2 3 -1/2 -1/4 0 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 -1/4 -1/2 3 -1/2 -1/4 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0 -1/4 -1/2 3 -1/2 -1/4 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0 0 -1/4 -1/2 3 -1/2 -1/4 0 0 0 0 0 0; 0 0 0 0 0 0 0 0 0 0 -1/4 -1/2 3 -1/2 -1/4 0 0 0 0 0; 0 0 0 0 0 0 0 0 0 0 0 -1/4 -1/2 3 -1/2 -1/4 0 0 0 0; 0 0 0 0 0 0 0 0 0 0 0 0 -1/4 -1/2 3 -1/2 -1/4 0 0 0; 0 0 0 0 0 0 0 0 0 0 0 0 0 -1/4 -1/2 3 -1/2 -1/4 0 0; 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1/4 -1/2 3 -1/2 -1/4 0; 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1/4 -1/2 3 -1/2-1/4; 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1/4 -1/2 3 -1/2; 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1/4 -1/2 3]; (1)选取不同的初始向量及右端面项向量b,给定迭代误差要求,分别用编写的Jacobi迭代法和Gauss-Seidel迭代法程序求解,观察得到的序列是否收敛?若收敛,通过迭代次数分析计算结果并得出你的结论。1、用Jacobi迭代法程序求解:clear all;clc;r=1.0e-6;x0=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]';A=lucius();b=[7 1 7 1 1 1 5 1 1 7 1 7 1 1 3 1 7 1 2 1]';[x,n]=Jacobi(A,b,x0,r) 改变数值:clear all;clc;r=1.0e-6;x0=[5 1 5 1 1 1 5 1 1 5 1 1 5 5 5 5 5 5 5 5]';A=lucius();b=[8 7 1 7 7 9 4 7 7 3 1 7 8 7 2 7 5 1 7 7]';[x,n]=Jacobi(A,b,x0,r) 2、用Gauss-Seidel迭代法程序求解:clear all;clc;r=1.0e-6;x0=[5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5]';A=lucius();b=[1 8 7 9 8 4 0 6 3 9 4 1 3 4 1 8 1 3 1 4 ]';[x,n]=GaussSeidel(A,b,x0,r) 改变数值:clear all;clc;r=1.0e-6;x0=[5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5]';A=lucius();b=[1 3 3 1 4 4 0 8 7 1 0 0 8 5 2 5 8 2 1 3 ]';[x,n]=GaussSeidel(A,b,x0,r) 根据以上结果可知得到的序列是收敛的(2)用编写的SOR迭代法程序,对于(1)所选取的初始向量及右端面项向量b进行求解,松驰系数ω取1<ω<2的不同值,在时停止迭代,通过迭代次数分析计算结果并得出你的结论。 SOR迭代法:clear all;clc;w=1.2;r=1.0e-5;x0=[7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 ]';A=lucius();b=[2 0 1 2 0 6 1 5 1 3 1 4 2 6 9 7 1 5 2 3 ]';[x,n]=SOR(A,b,x0,w,r) 改变数值: clear all;clc;w=1.2;r=1.0e-5;x0=[8 5 1 2 5 7 2 4 8 3 2 4 5 8 7 3 2 6 5 3]';A=lucius();b=[5 2 2 1 2 5 1 9 9 2 0 1 0 4 0 0 1 5 1 3 ]';[x,n]=SOR(A,b,x0,w,r) 四、总结 通过以上实验了解了三种迭代法的算法结构,掌握了三种基本迭代法的使用,通过对结果的分析了解了每一种迭代法的特点,并且可以得出结论:相对于雅可比迭代法,高斯-塞得尔迭代法加快了收敛速度,而SOR迭代法的收敛速度与松弛因子ω有关。
关 键 词:
LAB07_ 线性方程组 基本 迭代法 实验
 天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:LAB07_解线性方程组的基本迭代法实验
链接地址: http://www.hzfengli.cn/p-37860588.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给天天文库发消息,QQ:1290478887 - 联系我们

本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。本站是网络服务平台方,若您的权利被侵害,侵权客服QQ:1290478887 欢迎举报。

1290478887@qq.com 2017-2027 http://www.hzfengli.cn 网站版权所有

粤ICP备19057495号 

收起
展开
复仇联盟4电影在线观看/亚洲av综合av国产av/波波视频下载安装/强奷系列小说在线阅读