%Gauss-Seidel迭代法
function result=GS(A,b,x0,eps)
[m,n]=size(A);
l=zeros(m);
u=zeros(n);
d=zeros(n);
x=zeros(n,1);
size(x)
%******将A分解成L,U,D*********
% for i=2:m
% for j=1:i-1
% l(i,j)=A(i,j);
% end
% end
% for j=2:n
% for i=1:j-1
% u(i,j)=A(i,j);
% end
% end
% for i=1:n
% d(i,i)=A(i,i);
% end
%******************************
k=0;
while (1)
k=k+1
for i=1:n
suma1=0;
suma2=0;
for j=1:i-1
suma1=suma1+A(i,j)*x(j);
end
for kk=i+1:n
suma2=suma2+A(i,kk)*x0(kk);
end
x(i)=(b(i)-suma1-suma2)/A(i,i);
end
if(norm((x-x0),inf)<eps)%找出误差最大的元素作为控制量
break
end
x0=x;
end
result=x;
end