function X=jacdd(A,b,X0,detx,maxN)
[n m]=size(A);
for k=1:maxN
for j=1:m
X(j)=(b(j)-A(j,[1:j-1,j+1:m])*X0([1: j-1,j+1:m]))/A(j,j);
end
djwcX=norm(X'-X0);
xdwcX=djwcX/(norm(X')+eps);
X0=X';
if (djwcX<detx)&(xdwcX<detx)
return
end
end
if (djwcX>detx)&(xdwcX>detx)
disp('雅可比迭代次数已经超过最大迭代次数maxN')
end
举例应用:
A=[27 6 -1;6 15 2;1 1 54];
b=[85;5;110];
X0=[0;0;0];
detx=0.00001;
maxN=20;
X=jacdd(A,b,X0,detx,maxN)