实验二 用雅克比迭代法解方程组_第1页
实验二 用雅克比迭代法解方程组_第2页
实验二 用雅克比迭代法解方程组_第3页
实验二 用雅克比迭代法解方程组_第4页
实验二 用雅克比迭代法解方程组_第5页
全文预览已结束

下载本文档

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

文档简介

1、数值计算方法实验实验2 用雅克比迭代法解方程组一、 实验目的1、 学习使用雅克比迭代法求解方程组,加深对雅克比迭代法的认识。2、 在误差允许的范围内,在循环次数较少的情况下,求解方程组的稳定解。3、 进一步加深对Matlab的学习。二、 实验题目用雅克比迭代法解方程组:5x1+2x2+x3=8 , 2x1+8-3x3=21 , x1-3x2-6x3=1 ,三、 实验原理 设有n元线性方程组AX=b, 其中系数矩阵A的对角元素aii0(i=1,2,3,n) 从方程组的第i个方程中可以解出 xi ,可得到以下等价方程组:x1= 1a11(b1-a12x2-a13x3-a1nxn) ,x2= 1a2

2、2(b2-a21x1-a23x3-a2nxn) ,,xn= 1ann(bn-an1x1-an3x3-an,n-1xn-1) .记D为A的对角线矩阵,L为A的下三角阵,U为A的上三角阵,即 则有:X=-D-1(L+U)X+D-1b;令 B=-D-1(L+U), d=D-1b;则有:X=BX+d;其中B成为迭代矩阵上式即为雅克比迭代法的迭代公式。取定一个x(0)以后,便可得 x(1)=B*x(0)+d,再往下迭代得到:x(2)=B*x(1)+d,如此反复迭代,一般的有:x(k+1)=B*x(k)+d, k=0,1,2,由此便得到一个向量序列 X(k).若limkX(k)=X*,则X*就是方程组的解

3、。反之:若limkX(k)不存在,即 X(k)不收敛,就不能用雅克比迭代法计算。可将上述迭代过程改为如下形式:xi(k+1)= 1aii (bi-j=1i-1aijxjk-j=i+1naijxjk) = xi(k)+1aii(bi-j=1naijxjk), (i=1,2,3,n)四、 实验内容按照上述迭代法可得到如下的算法:设方程组为:AX=b, 其中系数矩阵A的对角元素aii0(i=1,2,3,n)max_iter为迭代数容许的最大值,eps为容许误差:1. 取初始向量,令k=0;2. 对i=1,2,n,计算: .3. 如果,则输出,结束。否则,执行下一步;4. 如果max_iter>

4、=50,则该迭代法不收敛,终止程序;否则转2.建立一个M文件,程序如下:function x,iter=jacobi1(A,b,x_0)A=5 2 1;2 8 -3;1 -3 -6;b=8 21 1;eps=10e-6;x_0=0 0 0;n=3;x=x_0;max_iter=100;y=0 0 0;for k=1:n if(A(k,k)=0) return endend iter=1;while iter<max_itertemp=0; for i=1:n for j=1:n temp=temp+A(i,j)*x(j); end temp=(b(i)-temp)/A(i,i); y(i)=x(i)+temp; end x=y; iter=iter+1; if abs(temp)<eps returnendend五、 实验结果 ans = 1.0000 2.0000 -

温馨提示

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

评论

0/150

提交评论