欢迎来到天天文库
浏览记录
ID:55537185
大小:141.50 KB
页数:4页
时间:2020-05-16
《雅可比解线性方程组matlab.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、雅可比迭代使用雅可比迭代法求解线性方程组的步骤步骤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
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
3、);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&k
此文档下载收益归作者所有