版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验雅可比迭代法与高斯-塞德尔迭代法的收敛性和收敛速度【实验目的】初步认识非线性问题的迭代法与线性问题迭代法的差别,探讨迭代法及初始值与迭代收敛性的关系。掌握迭代法求解线性方程组的基本思想和计算步骤掌握Jacobi迭代法和Gauss-Seidel迭代的MATLAB程序实现方法。【实验内容】研究用雅可比迭代法与高斯-塞德尔迭代法解下列方程组Ax=方程组1、2:A方程组3、4:A方程组5:A【解】: 对1有Jacobi和Gauss-Seidel迭代收敛,2的Jacobi发散,Gauss-Seidel收敛,3的Jacobi和Gauss-Seidel均发散【程序如下】:收敛性分析:雅可比迭代法:functionM=Jacobi_judge(A,n)disp('判断Jacobi迭代法是否收敛!!!');I=eye(n);D=I.*A;disp('输出D');disp(D);M=I-inv(D)*A;disp('输出迭代矩阵M');disp(M);%迭代矩阵e=eig(M);%求特征值disp('输出特征值');disp(e);fori=1:n%判断谱半径是否小于1,大于1则发散if(abs(e(i))>=1)disp('迭代发散!!!');break;endif(i==n&&abs(e(i))<1)disp('迭代收敛!!!');endend高斯-塞德尔迭代法:functionM=Gauss_Seidel_judge(A,n)disp('判断Gauss_Seidel迭代法是否收敛!!!');I=eye(n);D=I.*A;disp('输出D');disp(D);L=zeros(n,n);U=zeros(n,n);forj=2:nfork=1:(j-1)L(j,k)=-A(j,k);endenddisp('输出L');disp(L);fore=(n-1):-1:1forr=n:-1:(e+1)U(e,r)=-A(e,r);endenddisp('输出U');disp(U);M=inv(D-L)*U;disp('输出迭代矩阵M');disp(M);%迭代矩阵C=eig(M);%求特征值disp('输出特征值');disp(C);fori=1:n%判断谱半径是否小于1,大于1则发散if(abs(C(i))>=1)disp('迭代发散!!!');break;endif(i==n&&abs(C(i))<1)disp('迭代收敛!!!');endend雅可比迭代法:functionJacobiIter(A,B)%brief:雅可比迭代法求方程组的解%param:#1方程组的系数矩阵%#2方程组的右端项%return:无[n,m]=size(A);nb=length(B);assert(n==m,'矩阵A行数和列数必须相等!')assert(n==nb,'矩阵A的行数必须和b的长度相等!')fori=1:nx(i)=0;x2(i)=0;endtol=1;eps=1e-8;i=0;%SOLUTION=[];tols=[];whiletol>=epsi=i+1;forj=1:nfork=1:nifj~=kx(j)=x(j)-A(j,k)*x2(k);endendx(j)=x(j)+B(j);x(j)=x(j)/A(j,j);endtol=norm(x-x2); %前后两步迭代结果的误差x2=x;forj=1:nx(j)=0;endfprintf('第%d次迭代结果:\n',i);disp(x2)%SOLUTION=[SOLUTION;i,x2,tol];tols=[tols,tol];ifi>100break;endendsemilogy(tols);holdon%xlswrite('JacobilIter.xlsx',SOLUTION);End高斯-塞德尔迭代法:functionGaussSeidelIter(A,b)%brief:高斯赛德尔迭代法求方程组的解%param:#1方程组的系数矩阵%#2方程组的右端项%return:#1线性方程组的解%#2迭代次数M=100;%最大迭代次数eps=1e-8;%收敛精度[n,m]=size(A);nb=length(b);x0=zeros(n,1);%迭代初值assert(n==m,'矩阵A行数和列数必须相等!')assert(n==nb,'矩阵A的行数必须和b的长度相等!')L=zeros(n,n);U=zeros(n,n);D=zeros(n,n);fori=2:n forj=1:i-1L(i,j)=-A(i,j); endendfori=1:n-1 forj=i+1:nU(i,j)=-A(i,j); endendfori=1:n D(i,i)=A(i,i);endB=(D-L)\U;%B为迭代矩阵g=(D-L)\b;%g为右端项%pr=max(abs(eig(B)));%求迭代矩阵谱半径%assert(pr<=1,'迭代矩阵谱半径大于1迭代法不收敛')k=0;tol=1;%SOLUTION=[];tols=[];whiletol>=eps x=B*x0+g; k=k+1;%迭代步数 tol=norm(x-x0);%前后两步迭代结果的误差 x0=x;fprintf('第%d次迭代结果:\n',k);disp(x0.')%SOLUTION=[SOLUTION;k,x0.',tol];tols=[tols,tol];ifk>Mbreak;endendsemilogy(tols,'--');legend('雅可比迭代法','高斯-赛德尔迭代法')gridonholdoff%xlswrite('GaussSeidelIter.xlsx',SOLUTION);end【运行结果展示】:雅可比迭代收敛:方程组(1)(2)雅可比迭代发散:方程组(3)(4)(5)高斯-塞德尔迭代收敛:方程组(1)(2)(3)(4)高斯-塞德尔迭代发散:方程组(5)由于结果数字较多,为了便于展示,用折线图展示,其中横坐标为迭代次数,纵坐标为误差。为了使结果更清晰,采用半对数坐标系绘图。两种迭代法求解方程组1比较两种迭代法求解方程组2比较两种迭代法求解方程组3比较两种迭代法求解方程组4比较两种迭代法求解方程组5比
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年全国大学英语六级考试真题试卷(模拟卷)
- 关于教导处年度总结(29篇)
- 林场承包经营合同(29篇)
- 【导学案】北师大版生物学七上3.5.3生殖器官的生长(含答案)
- 同伴肥胖谈论对青少年进食障碍的影响机制与预防策略总结2026
- CAH女性妊娠管理策略2026
- 2026年9月19日湖南省市直遴选笔试真题及解析(B卷)
- 2026中国农机后市场服务标准化与盈利模式分析
- 2026金属基催化剂研究进展及工业应用前景分析报告
- 2026以色列生物科技前沿医药发展趋势政策环境技术突破研究产业分析报告
- 2026人教PEP版五年级英语上册 Unit2 My Feelings 知识清单
- 4D性格测试题(完整版+通俗答案解析)
- 2026秋季新教材湘美版小学美术四年级上册(全册)教学设计(附目录)
- 26苏教版四上数学必背知识点(全册)
- 2025年日照信息科技中考考试试题及答案
- 新版教科版四年级上册科学(课件)第2单元 5 口腔里的消化
- 苏教版2026-2027四年级数学上册教学计划及进度
- 2026年硬质合金混合料制备工专项题库(附答案与解释)
- 老年人误吸的预防护理课件
- 2026年上海市中考语文试卷附答案
- 2026高考语文真题全国Ⅰ卷满分范文拆解《不再做纠结的布里丹之驴》
评论
0/150
提交评论