guassseidel.m

来自「本文件提供了几个数值分析中的Matlab小程序。水平有限」· M 代码 · 共 27 行

M
27
字号
function [x,k]=guassseidel(a,b,x0,e)
n=length(a);
for i=1:n
    for j=1:n
        if i>=j
            v(i,j)=a(i,j);
            u(i,j)=0;
        else
            v(i,j)=0;
            u(i,j)=-a(i,j);
        end
    end
end
    d=inv(v);
    bj=d*u;
    g=d*b;
    x=bj*x0+g;
    k=1;
    while norm(x-x0,'inf')/norm(x,'inf')>e
        x0=x;
        k=k+1;
        x=bj*x0+g;
        if k==1000
            break;
        end 
    end

⌨️ 快捷键说明

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