雅可比迭代实验报告_第1页
雅可比迭代实验报告_第2页
雅可比迭代实验报告_第3页
雅可比迭代实验报告_第4页
雅可比迭代实验报告_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、=WORD完满版-可编写-专业资料分享=雅可比迭代法求解线性方程组的实验报告一、实验题目分别利用雅可比迭代法和高斯-塞德尔迭代法求解以下线性方程组:10 x1x22x37.2x110 x22x38.3x1x25x34.2使得误差不高出0.00001。二、实验序言1.实验目的掌握用迭代法求解线性方程组的基本思想和步骤,熟悉计算机fortran语言;认识雅可比迭代法在求解方程组过程中的优缺点。2.实验意义雅克比迭代法就是众多迭代法中比较早且较简单的一种,求解方便合用。三、算法设计1.雅可比迭代法原理:设有线性方程组Ax=b满足aii0,将方程组变形为:x=Bx+f,则雅可比(Jacobi)迭代法是

2、指X(k1)Bxkf,即由初始解渐渐迭代即可获取方程组的解。算法步骤以下:步骤1.给定初始值x1(0),x2(0),xn(0)步骤2.对i=1,2,n依次计算,精度e,最大同意迭代次数M,令k=1。nx1(bjaijxj)/aii(aii0,i1,2,,n)j1jiei|xi(1)xi(0)|xi(1)xi(0)步骤3.求出emaxei,若e,则输出结果xi(0)(i1,2,n),停止计算。否则1in执行步骤4.步骤4.若kM,k1k,转步骤2连续迭代。若kM,表示迭代失败,停止计算。-完满版学习资料分享-=WORD完满版-可编写-专业资料分享=2.算法流程图四、程序设计programjaco

3、biimplicitnoneinteger:i,jinteger:ksavekreal,parameter:e=0.001integer,parameter:n=3real:x(n),y(n),b(n)datab/7.2,8.3,4.2/real:Dreal:a(n,n)open(unit=10,file=1.txt)dataa/10,-1,-1,-1,10,-1,-2,-2,5/write(10,*)矩阵A的形式为write(10,(1x,3f6.2,/)a-完满版学习资料分享-=WORD完满版-可编写-专业资料分享=forall(i=1:n)x(i)=0endforallk=0D=0doi

4、=1,ny(i)=b(i)doj=1,nif(i/=j)y(i)=y(i)-a(i,j)*x(j)enddoy(i)=y(i)/a(i,i)enddodoj=1,nD=abs(x(j)-y(j)enddoforall(i=1:n)x(i)=y(i)endforallif(D=e)thenk=k+1write(10,*)迭代次数为:,kgoto100elsegoto200endifwrite(10,*)write(10,*)用jacobi方法解得的结果Xt为:write(10,(1x,3f6.2,/)x(:)stopendprogram五、结果及谈论1.实验结果矩阵A的形式为-完满版学习资料分享

5、-=WORD完满版-可编写-专业资料分享=迭代次数为:1迭代次数为:2迭代次数为:3迭代次数为:4迭代次数为:5迭代次数为:6迭代次数为:7用jacobi方法解得的结果Xt为:1.302.谈论解析(1)误差从上述输出结果中可以看出,当迭代次数k增大时,迭代值x1,y1,z1会越来越逼近方程组的精确解x=1.0,y=1.2,z=1.3。(2)收敛性在本题目中,用雅可比迭代法和高斯-塞德尔迭代法分别求解该线性方程组,获取的近似根是收敛的六、算法谈论优点:迭代法算法简单,编制程序比较简单。缺点:迭代法要求方程组的系数矩阵有某种特别性质(比方是所谓对角占优阵)以保证过程的收敛性。高斯塞德尔迭代法比雅可

6、比迭代法收敛快(达到同样的精度所需迭代次数少),但这个结论,在必然条件下才是对的,甚至有这样的方程组,雅可比方法收敛,而高斯塞德尔迭代法倒是发散的。在雅可比迭代法求解线性方程组时,只要误差截断设计的合理,原则上可以获取很正确的解。而平时我们采用设计误差限或设计最大迭代次数的方法来控制。由于它的正确性,故在实质应用中比较常有,对于解一般线性方程组特别有效正确。经过该算法以及编程对求解的过程,我们不难发现,雅克比迭代法的优点明显,计算公式简单,每迭代一次只要计算一次矩阵和向量的乘法,且计算过程中原始矩阵A向来不变,比较简单并行计算。可是这种迭代方式收敛速度较慢,而且据有的储藏空间较大,所以工程中一

7、般不直接用雅克比迭代法,而用其改进方法。-完满版学习资料分享-=WORD完满版-可编写-专业资料分享=附:高斯赛德尔程序programG-Simplicitnoneinteger:i,jinteger:ksavekreal,parameter:e=0.001integer,parameter:n=3real:x(n),y(n),b(n)datab/7.2,8.3,4.2/real:Dreal:a(n,n)open(unit=10,file=1.txt)dataa/10,-1,-1,-1,10,-1,-2,-2,5/write(10,*)矩阵A的形式为write(10,(1x,3f6.2,/)a

8、forall(i=1:n)x(i)=0endforallk=0D=0doi=1,ny(i)=b(i)doj=1,nif(ij)y(i)=y(i)-a(i,j)*y(j)enddoy(i)=y(i)/a(i,i)enddodoj=1,nD=abs(x(j)-y(j)enddoforall(i=1:n)x(i)=y(i)endforallif(D=e)thenk=k+1write(10,*)迭代次数为:,k-完满版学习资料分享-=WORD完满版-可编写-专业资料分享=goto100elsegoto200endif200write(10,*)write(10,*)用Gauss-seidel方法解得的结果X

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论