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

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

ID:59827934

大小:144.50 KB

页数:21页

时间:2020-11-25

实验解线性方程组的基本迭代法实验.doc_第1页
实验解线性方程组的基本迭代法实验.doc_第2页
实验解线性方程组的基本迭代法实验.doc_第3页
实验解线性方程组的基本迭代法实验.doc_第4页
实验解线性方程组的基本迭代法实验.doc_第5页
资源描述:

《实验解线性方程组的基本迭代法实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数值分析实验报告姓名忘川学号系别数学系班级12级主讲教师指导教师实验日期2014/6/25专业信息与计算科学专业课程名称数值分析同组实验者无一、实验名称:实验八、解线性方程组的基本迭代法实验二、实验目的:1.深入理解Jacobi迭代法、Gauss-Seidel迭代法和SOR迭代法;2.通过对Jacobi迭代法、Gauss-Seidel迭代法和SOR迭代法的程序设计,提高程序设计的能力;3.应用编写的程序解决具体问题,掌握三种基本迭代法的使用,通过结果的分析了解每一种迭代法的特点。三、实验内容及要求:1.根据Matlab语言特点,描述Jacobi迭代法

2、、Gauss-Seidel迭代法和SOR迭代法。2.编写Jacobi迭代法、Gauss-Seidel迭代法和SOR迭代法的M文件。3.给定为五对角矩阵(1)选取不同的初始向量及右端面项向量b,给定迭代误差要求,分别用编写的Jacobi迭代法和Gauss-Seidel迭代法程序求解,观察得到的序列是否收敛?若收敛,通过迭代次数分析计算结果并得出你的结论。(2)用编写的SOR迭代法程序,对于(1)所选取的初始向量及右端面项向量b进行求解,松驰系数ω取1<ω<2的不同值,在时停止迭代,通过迭代次数分析计算结果并得出你的结论。四、实验步骤(或记录)一、算法描

3、述由得到,则有:则有:第一步:Jacobi迭代法令则称为雅克比迭代矩阵由此可得雅克比迭代的迭代格式如下:第二步Gauss-Seidel迭代法令,则称为Gauss-Seidel迭代矩阵由此可得Gauss-Seidel迭代的迭代格式如下:第三步SOR迭代法令,则有:令带入的值可有称为SOR迭代矩阵,由此可得SOR迭代的迭代格式如下:二、算法程序Jacobi迭代法的M文件:function[y,n]=Jacobi(A,b,x0,eps)%*************************************************%函数名称Jacobi

4、雅克比迭代函数%参数解释A系数矩阵%b常数项%x0估计解向量%eps误差范围%返回值%y解向量%n迭代次数%函数功能实现线性方程组的Jacobi迭代求解%*************************************************n=length(A);ifnargin<3error('输入错误,最少要输入三个参数');return;endifnargin==3eps=1e-6;endD=diag(diag(A));L=-tril(A,-1);U=-triu(A,1);M=D;N=L+U;B=MN;f=Mb;ifmax(ab

5、s(eig(B)))>=1disp('谱半径大于等于1,迭代不收敛,无法进行');return;endn=1;fori=1:1:nifsum(A(i,i)~=n)~=nerror('输入的A矩阵的对角线元素不能为0');return;endendy=B*x0+f;whilenorm(y-x0)>=eps&n<100x0=y;y=B*x0+f;n=n+1;endGauss-Seidel迭代法的M文件和function[y,n]=GaussSeidel(A,b,x0,eps)%***************************************

6、**********%函数名称GaussSeidel高斯赛德尔迭代函数%参数解释A系数矩阵%b常数项%x0估计解向量%eps误差范围%返回值%y解向量%n迭代次数%函数功能实现线性方程组的Jacobi迭代求解%*************************************************n=length(A);ifnargin<3%针对这个nargin我还有一个疑问,过一段时间在来处理他!error('输入错误,最少要输入三个参数');return;endifnargin==3eps=1e-6;endD=diag(diag(A))

7、;L=-tril(A,-1);U=-triu(A,1);M=D-L;N=U;B=MN;f=Mb;ifmax(abs(eig(B)))>=1disp('谱半径大于等于1,迭代不收敛,无法进行');return;endn=1;fori=1:1:nifsum(A(i,i)~=n)~=nerror('输入的A矩阵的对角线元素不能为0');return;endendy=B*x0+f;whilenorm(y-x0)>=eps&n<100x0=y;y=B*x0+f;n=n+1;endSOR迭代法的M文件function[y,n]=SOR(A,b,x0,w,ep

8、s)%*************************************************%函

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。