文档详情

雅可比解线性方程组matlab

慢***
实名认证
店铺
DOC
139.72KB
约4页
文档ID:230878431
雅可比解线性方程组matlab_第1页
1/4

雅可比迭代使用雅可比迭代法求解线性方程组的步骤步骤1:输入系数矩阵A和方程组右端向量B;步骤2:将矩阵A分解为下三角阵L对角阵D和上三角阵U可分解为(D+L+U)X=Bfor o=1:n d(o,o)=a(o,o); u(o,o+1:n)=-a(o,o+1:n);endfor p=2:n l(p,1:p-1)=-a(p,1:p-1);end;步骤3:将上式化简为x=B0x+f,其中B0=-D-1(L+U),f=D-1Bfor i=1:n b0(i,i+1:n)=u(i,i+1:n)/a(i,i); f(i,:)=b(i,:)/a(i,i);endfor p=2:n b0(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;for o=1:n d(o,o)=a(o,o); u(o,o+1:n)=-a(o,o+1:n);endfor p=2:n l(p,1:p-1)=-a(p,1:p-1);endfor i=1:n b0(i,i+1:n)=u(i,i+1:n)/a(i,i); f(i,:)=b(i,:)/a(i,i);endfor p=2:n b0(p,1:p-1)=l(p,1:p-1)/a(p,p);endwhile max(abs(x0-x))>e&k

下载提示
相似文档
正为您匹配相似的精品文档
相关文档