1、1 %回代 b(k)=b(k)a(k,j)*x(j); x(k)=b(k)/a(k,k);Example: A=1.0170 0.0092 0.0095;0。0092 0.9903 0.0136;0.0095 0.0136 0.9898; b=1 0 1; x=DelGauss(A,b)x = 0。9739 0。0047 1。0010列主元Gauss消去法:function x=detGauss(a,b) Gauss列主元消去法n,m=size(a);det=1;x=zeros(n,1);n-1 amax=0; 选主元 for i=k: if abs(a(i,k)amax amax=abs(a
2、(i,k);r=i; if amax1e-10 return; if rk 交换两行 for j=k: z=a(k,j);a(k,j)=a(r,j);a(r,j)=z; z=b(k);b(k)=b(r);b(r)=z;det=det; for i=k+1:n %进行消元 m=a(i,k)/a(k,k); a(i,j)=a(i,j)-m*a(k,j); det=deta(k,k);det=deta(n,n); for j=k+1: b(k)=b(k)-a(k,j)x(j); x(k)=b(k)/a(k,k);Example: x=detGauss(A,b) 0.9739 -0。Gauss-Jor
3、dan消去法:function x=GaussJacobi(a,b) Gauss-Jacobi消去法n,m=size(a);x=zeros(n,1); amax=0; for i=k: amax=abs(a(i,k); if amax=M) disp(Warning: 迭代次数太多,现在退出!); A=1.0170 -0。0092 0.0095;0092 0.9903 0。0136;0。0095 0。0136 0.9898; b=1 0 1;x0=0 0 0; x,n=richason(A,b,x0) 0.0047n = 5Jacobi迭代法:function x,n=jacobi(A,b,x0,eps,varargin)if nargin=3 eps= 1.0e6;elseif nargin3 errorelseif nargin =5 M = varargin1;end D=dia