function x=Jacobi(a,b,n,N,t)
x=zeros(n,1);
y=zeros(n,1);
for i=1:n
if(a(i,i)==0)
error('算法失败');
end
end
for k=1:N+1
d=0;
for i=1:n
sum=0;
for j=1:n
if(i~=j)
sum=sum+a(i,j)*x(j);
end
end
y(i)=(b(i)-sum)/a(i,i);
d(i)=abs(y(i)-x(i));
if(d(i)>d)
d=d(i);
end
end
if(d<t)
for p=1:n
fprintf('%d',y(p));
end
break;
end
if(k==N)
fprintf('迭代失败');
break;
end
for i=1:n
x(i)=y(i);
end
end
end
a=[10,-1,2,0;-1,11,-1,3;2,-1,10,-1;0,3,-1,8]
b=[6;25;-11;15]
n=4
N=100
t=0.001
来源:https://blog.csdn.net/qq_43558971/article/details/102730153