g_s.m

来自「Gauss-seidel迭代与两种Jacobi迭代的matlab实现」· M 代码 · 共 24 行

M
24
字号
%通过Gauss-Seidel迭代求解线性方程组
function x=G_S(A,b,x0,delta,max1)

%Input  - A要求解的线性方程组的系数矩阵
%       - b是线性方程组标准形式Ax=b中的b列向量
%       - x0是初始迭代值
%       - delta可以是接受的误差
%       - max1为最大迭代次数
%Output - x为所求的解

n=length(b);
x=zeros(n,1);
for i=1:max1
    for j=1:n
        x(j)=(b(j)-A(j,1:j-1)*x(1:j-1)-A(j,j+1:n)*x0(j+1:n))/A(j,j);
    end
    err=norm(x-x0);
    relerr=err/norm(x);
    x0=x;
    if (err<delta)|(relerr<delta)
        break;
    end
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?