在MATLAB中用求解高斯—塞德尔迭代法线性方程组
来源:百度知道 编辑:UC知道 时间:2024/06/25 22:51:24
function x=Gauss_Seidel(A,b,x0,tol)
if (nargin==2)
x0=ones(size(b));
tol=1e-6;
elseif (nargin==3)
tol=1e-6;
else
sprintf('USAGE:Gauss_Seidel(A,b,x0,tol)')
end
D=diag(diag(A));
U=triu(A,1);
L=tril(A,-1);
G=-(D+L)\U;
d1=(D+L)\b;
x=G*x0+d1;
n=1;
while norm(x-x0)>=tol
x0=x;
x=G*x0+d1;
n=n+1;
end
n
gsfsfgs
gsfsfgs