1.雅可比迭代法:
function [x,n]=jaccbi(A,b,x0,eps,t) if nargin==3;
eps=1e-6;
m=200;
elseif nargin<3
error('输入的数有误'); return;
elseif nargin==5
m=t;
end
D=diag(diag(A));
L=-tril(A,-1);
U=-triu(A,1);
B=D\(L+U);
f=D\b;
x=B*x0+f;
n=1;
while norm(x-x0)>=eps
x0=x;
x=B*x0+f;
n=n+1;
if(n>=m)
disp('可能不收敛'); return;
end;
end
2.高斯—赛德尔迭代法: function [x,n]=gsdddy(A,b,x0,eps,t) if nargin==3;
eps=1e-6;
m=200;
elseif nargin<3
error('输入有误');
return;
elseif nargin==5
m=t;
end
D=diag(diag(A));
L=-tril(A,-1);
U=-triu(A,1);
B=(D-L)\U;
f=(D-L)\b;
x=B*x0+f;
n=1;
while norm(x-x0)>=eps
x0=x;
x=B*x0+f;