2021-01-07Matlab数値解析線形方程式反復法Gauss-Seidel反復法

Matlab数値解析線形方程式反復解法Gauss-Seidel反復法

 

Function [x,iter]=gs(A,b,tol)
D=diag(diag(A));
L=D-tril(A);
U=D-triu(A);
x=zeros(size(b));      %从x=[0;0…]T开始
for iter=1:500
    x=(D-L)\(b+U*x);       %此句换为x=(D)\(b+L*x+U*x);即为Jacobi迭代
    error=norm(b-A*x)/norm(b);
    if(error<tol)
        break;
    end
end

主な機能(呼び出しプログラム)

A=[2,-1,0;-1,3,-1;0,-1,2];b=[1;8;-5];tol=1e-4;[x,iter]=gs(A,b,tol)

 

 

おすすめ

転載: blog.csdn.net/qingfengxd1/article/details/112321706
おすすめ