解线性方程组基本迭代法实验(ca).doc

解线性方程组基本迭代法实验(ca).doc

ID:56997481

大小:143.00 KB

页数:20页

时间:2020-07-30

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

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

1、Lab.解线性方程组的基本迭代法实验【实验目的和要求】1.使学生深入理解Jacobi迭代法、Gauss-Seidel迭代法和SOR迭代法;2.通过对Jacobi迭代法、Gauss-Seidel迭代法和SOR迭代法的程序设计,以提高学生程序设计的能力;3.应用编写的程序解决具体问题,掌握三种基本迭代法的使用,通过结果的分析了解每一种迭代法的特点。【实验内容】1.根据Matlab语言特点,描述Jacobi迭代法、Gauss-Seidel迭代法和SOR迭代法。2.编写Jacobi迭代法、Gauss-Seidel迭代法和

2、SOR迭代法的M文件。3.给定为五对角矩阵(1)选取不同的初始向量及右端面项向量b,给定迭代误差要求,分别用编写Jacobi迭代法和Gauss-Seidel迭代法程序求解,观察得到的序列是否收敛?若收敛,通过迭代次数分析计算结果并得出你的结论。(2)用编写的SOR迭代法程序,对于(1)所选取的初始向量及右端面项向量b进行求解,松驰系数ω取1<ω<2的不同值,在时停止迭代,通过迭代次数分析计算结果并得出你的结论。【实验仪器与软件】1.CPU主频在1GHz以上,内存在128Mb以上的PC;2.Matlab6.0及以上

3、版本。实验讲评:实验成绩:评阅教师:年月日解线性方程组的基本迭代法实验报告一、算法描述得到则有:第一步Jacobi迭代法令则称为雅克比迭代矩阵由此可得雅克比迭代的迭代格式如下:第二步Gauss-Seidel迭代法令,则称为Gauss-Seidel迭代矩阵由此可得Gauss-Seidel迭代的迭代格式如下:第三步SOR迭代法令,则有:令带入的值可有称为SOR迭代矩阵由此可得SOR迭代的迭代格式如下:二、算法程序Jacobi迭代法的M文件:function[y,n]=Jacobi(A,b,x0,eps)%******

4、*******************************************%函数名称Jacobi雅克比迭代函数%参数解释A系数矩阵%b常数项%x0估计解向量%eps误差范围%返回值%y解向量%n迭代次数%函数功能实现线性方程组的Jacobi迭代求解%*************************************************n=length(A);ifnargin<3error('输入错误,最少要输入三个参数');return;endifnargin==3eps=1e-6;end

5、D=diag(diag(A));L=-tril(A,-1);U=-triu(A,1);M=D;N=L+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;endGauss

6、-Seidel迭代法的M文件和function[y,n]=GaussSeidel(A,b,x0,eps)%*************************************************%函数名称GaussSeidel高斯赛德尔迭代函数%参数解释A系数矩阵%b常数项%x0估计解向量%eps误差范围%返回值%y解向量%n迭代次数%函数功能实现线性方程组的Jacobi迭代求解%*************************************************n=length(A);i

7、fnargin<3%针对这个nargin我还有一个疑问,过一段时间在来处理他!error('输入错误,最少要输入三个参数');return;endifnargin==3eps=1e-6;endD=diag(diag(A));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(

8、'输入的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,eps)%*************************************************%函数名称

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

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

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