电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

试验解线性方程组的基本迭代法试验VIP免费

试验解线性方程组的基本迭代法试验_第1页
1/22
试验解线性方程组的基本迭代法试验_第2页
2/22
试验解线性方程组的基本迭代法试验_第3页
3/22
1/22数值分析实验报告姓名忘川学号1205025106系别数学系班级12级主讲教师指导教师实验日期2014/6/25专业信息与计算科学专业课程名称数值分析同组实验者无一、实验名称:实验八、解线性方程组的基本迭代法实验二、实验目的:1.深入理解Jacobi迭代法、Gauss-Seidel迭代法和SOR迭代法;2.通过对Jacobi迭代法、Gauss-Seidel迭代法和SOR迭代法的程序设计,提高程序设计的能力;3.应用编写的程序解决具体问题,掌握三种基本迭代法的使用,通过结果的分析了解每一种迭代法的特点。三、实验内容及要求:1.根据Matlab语言特点,描述Jacobi迭代法、Gauss-Seidel迭代法和SOR迭代法。2.编写Jacobi迭代法、Gauss-Seidel迭代法和SOR迭代法的M文件。3.给定2020RA为五对角矩阵321412132141412132141412132141412132141213(1)选取不同的初始向量)0(x及右端面项向量b,给定迭代误差要求,分别用编写的Jacobi迭代法和Gauss-Seidel迭代法程序求解,观察得到的序列是否收敛?若收敛,通过迭代次数分析计算结果并得出你的结论。(2)用编写的SOR迭代法程序,对于(1)所选取的初始向量)0(x及右端面项向量b进行求解,松驰系数ω取1<ω<2的不同值,在5)1()(10kkxx时停止迭代,通过迭代次数分析计算结果并得出你的结论。四、实验步骤(或记录)一、算法描述2/22由121,111112111212,1221222221,11,21,1212,100000000nnnnnnnnnnnnnnnnnnnnaaaaaaaaaaaaaaAaaaaaaaaaaKLKLMMOOMMMMMMOLLL得到1122nnaaDaO211,11,212,10000nnnnnnaLaaaaaMMOLL121,112,121,0000nnnnnnaaaaaUaKKOMM,则有:ADLU则有:第一步:Jacobi迭代法()()()AxbDLUxbDxLUxbxDLUxDbADLU令()JDLUfDb则称J为雅克比迭代矩阵由此可得雅克比迭代的迭代格式如下:(0)(1)(),,0,1,2,kkxxJxfkL初始向量第二步Gauss-Seidel迭代法()()()()AxbDLUxbDLxUxbxDLUxDLbADLU3/22令()()GDLUfDLb,则称G为Gauss-Seidel迭代矩阵由此可得Gauss-Seidel迭代的迭代格式如下:(0)(1)(),,0,1,2,kkxxGxfkL初始向量第三步SOR迭代法0111(((1)))()((1))wADLUDwLwDwUDwLwDwUwww令1()MDwLw,1((1))NwDwUw则有:AMN()AxbMNxbMxNxbxMNxMbAMN令WLMNfMb带入,MN的值可有111((1))()((1))()()1()WwDwULDwLwDwUDwLbfwDwLbDwLw称WL为SOR迭代矩阵,由此可得SOR迭代的迭代格式如下:(0)(1)(),,0,1,2,kkWxxLxfkL初始向量二、算法程序Jacobi迭代法的M文件:function[y,n]=Jacobi(A,b,x0,eps)%*************************************************4/22%函数名称Jacobi雅克比迭代函数%参数解释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=M\N;f=M\b;5/22ifmax(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-Seidel迭代法的M文件和function[y,n]=GaussSeidel(A,b,x0,eps)%*************************************************%函数名称GaussSeidel高斯赛德尔迭代函数%参数解释A系数矩阵%b常数项%x0估计解向量6/22%eps误差范围%返回值%y解向量%n迭代次数%函数功能实现线性方程组的Jacobi迭代求解%*************************************************n=length(A);ifnargin<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=M\N;f=M\b;ifmax(abs(eig(B)))>=1disp('谱半径大于等于1,迭代不收敛,无法进行');return;end7/22n=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文...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

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

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部