📄 ljacobi.m
字号:
%Jacobi 迭代法解线性方程组
%AX=b,A=D-L-U
%X=D'(L+U)X+D'b=BX+f
function [x,e]=ljacobi(n,A,b,N,x0)
a=A;x0=x0';x(n)=0;
D=zeros(n);L=zeros(n);U=zeros(n);
for i=1:n
if a(i,i)==0
fprintf('the element on the cross is zero!Error!');
return;
end
D(i,i)=a(i,i);
end
%L=D-A;B=inv(D)*L;f=inv(D)*b';
for k=1:(N-1)
for i=1:n
s=0;
for j=1:n
s=s+a(i,j)*x0(j);
end
s=s-a(i,i)*x0(i);
x(i)=(b(i)-s)/a(i,i);
end
x0=x;
end
for i=1:n
s=0;
for j=1:n
s=s+a(i,j)*x0(j);
end
s=s-a(i,i)*x0(i);
x(i)=(b(i)-s)/a(i,i);
end
e=sum(abs(x-x0));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -