雅可比解线性方程组matlab

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

雅可比迭代使用雅可比迭代法求解线性方程组的步骤步骤1:输入系数矩阵A和方程组右端向量B;步骤2:将矩阵A分解为下三角阵L对角阵D和上三角阵U可分解为(D+L+U)X=Bforo=1:nd(o,o)=a(o,o);u(o,o+1:n)=-a(o,o+1:n);endforp=2:nl(p,1:p-1)=-a(p,1:p-1);end;步骤3:将上式化简为x=B0x+f,其中B0=-D-1(L+U),f=D-1Bfori=1:nb0(i,i+1:n)=u(i,i+1:n)/a(i,i);f(i,:)=b(i,:)/a(i,i);endforp=2:nb0(p,1:p-1)=l(p,1:p-1)/a(p,p);;步骤4:采用迭代公式在允许误差范围e=1e-7内求得解向量xx0=x;x=b0*x+f雅可比迭代法matlab程序:function[x,k]=jacobi(a,b)n=length(a);e=1e-7;m=100;x0=zeros(n,1);x=x0;k=0;d=zeros(n);l=zeros(n);u=zeros(n);b0=zeros(n);f=zeros(n,1);x0=x+2*e;foro=1:nd(o,o)=a(o,o);u(o,o+1:n)=-a(o,o+1:n);endforp=2:nl(p,1:p-1)=-a(p,1:p-1);endfori=1:nb0(i,i+1:n)=u(i,i+1:n)/a(i,i);f(i,:)=b(i,:)/a(i,i);endforp=2:nb0(p,1:p-1)=l(p,1:p-1)/a(p,p);endwhilemax(abs(x0-x))e&kmk=k+1;x0=x;x=b0*x+f;k,disp(x');endifk==merror;end雅可比迭代法matlab运行结果图

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功