gseid.m
来自「余向阳博士Matlab教程的源代码。 包括:1.非线性方程的解法;2.线性方程」· M 代码 · 共 29 行
M
29 行
function X=gseid(A,b,P,delta,max1)
% A是n维非奇异阵。
% b是n维向量。
% P是初值。
% delta是误差界。
% max1是给定的迭代最高次数。
% X为所求的方程组AX=b的近似解。
N=length(b);
for k=1:max1
for j=1:N
if j==1
X(1)=(b(1)-A(1,2:N)*P(2:N))/A(1,1);
elseif j==N
X(N)=(b(N)-A(N,1:N-1)*(X(1:N-1))')/A(N,N);
else
X(j)=(b(j)-A(j,1:j-1)*X(1:j-1)-A(j,j+1:N)*P(j+1:N))/A(j,j);
end
end
err=abs(norm(X'-P));
relerr=err/(norm(X)+eps);
P=X'
if(err<delta)|(relerr<delta)
break
end
end
X=X';
err,k
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?