您好,欢迎访问三七文档
《Jacobi迭代法》实验报告实验名称:Jacobi迭代法成绩:___________专业班级:数学与应用数学1202班姓名:张晓彤学号:2012254010227实验日期:2014年11月24日实验报告日期:2014年11月24日一、实验目的(1)掌握jacobi迭代法来对大型系数矩阵的方程组来进行求解,(2)掌握jacobi迭代法求解线性方程组过程中的基本理论思想.(3)能够熟练使用matla软件实现Jacobi迭代法的调用.(4)能够掌握Jacobi迭代法的程序,并能熟练地使用该程序对相应例题进行求解.二、实验内容2.1(验证性实验)验证Jacobi迭代法的调用格式,并给出相关例题进行验证.例一:用Jacobi迭代法求解下列线性方程组。设迭代初值为0,迭代精度为610。121232310910272106xxxxxxx三、实验环境该实验应用matlab2014来进行实验的验证和设计.四、实验步骤和结果4.1验证Jacobi迭代法调用格式.例一:用Jacobi迭代法求解下列线性方程组。设迭代初值为0,迭代精度为610。121232310910272106xxxxxxxJacobi迭代法的Jacobi函数文件Jocobi.m如下:function[y,n]=Jacobi(A,b,x0,eps)ifnargin==3eps=10^-6;elseifnargin3errorreturnendD=diag(diag(A));%求A的对角矩阵%L=-tril(A,-1);%求A的下三角阵%U=-triu(A,1);%求A的上三角阵%B=D\(L+U);f=D\b;y=B*x0+f;n=1;%迭代次数%whilenorm(y-x0)=epsx0=y;y=B*x0+f;n=n+1;endend在matlab命令窗口中调用函数文件Jacobi.m,命令如下:A=[10,-1,0;-1,10,-2;0,-2,10];b=[9,7,6]';[x,n]=jacobi(A,b,[0,0,0]',10^-6)得到结果:x=0.99580.95790.7916n=11从结果中我们可以知道,方程组在雅可比迭代法下的解为:(0.9958,0.9579,0.7916)Tx迭代次数为11次五、实验讨论、结论5.1实验讨论通过本次实验,让我对Jacobi迭代法有了更深刻的理解,迭代法非常实用于大型系数矩阵的方程组,在数值分析中,迭代解法主要包括Jacobi迭代法和Gouss-Serdel迭代法,本实验主要讨论的是Jacobi迭代法.该方法要求线性方程组的系数矩阵必须是非奇异的,求解过程中是将系数矩阵A分解成了三部分:111212122212000000nnnnnnaaaaaaAaaa从而转换为:ADLU的形式来对方程组进行求解。雅可比迭代法的计算公式简单,每迭代一次只需计算矩阵和向量的乘法且计算过程中原始的矩阵A始终不变.是一中较为简单的求解线性方程组的方法.六、参考资料【1】李庆阳,王能超,易大义,数值分析第五版,清华大学出版社,1995.【2】刘卫国,matlab程序设计与应用,高等教育出版社,2002.
本文标题:Jacobi迭代法
链接地址:https://www.777doc.com/doc-2880939 .html