Matlab 高斯-赛德尔迭代矩阵的计算

Matlab 高斯-赛德尔迭代矩阵的计算,matlab,matrix,linear-algebra,Matlab,Matrix,Linear Algebra,我试图用高斯-赛德尔迭代法求解一个系统。但我也希望得到一个答案,即使用的迭代矩阵。我有这个方法 function [x0,iter] = gaussSeidel(A,b,iterMax,tol) D = diag(diag(A)); Lower = -tril(A,-1); Upper = -triu(A,1); M = D - Lower; N = Upper; n = size(A); n = n(1); x0 = ones(n,1); iter = 1; for i = 1:1:iter

我试图用高斯-赛德尔迭代法求解一个系统。但我也希望得到一个答案,即使用的迭代矩阵。我有这个方法

function [x0,iter] = gaussSeidel(A,b,iterMax,tol)

D = diag(diag(A));
Lower = -tril(A,-1);
Upper = -triu(A,1);
M = D - Lower;
N = Upper;
n = size(A);
n = n(1);
x0 = ones(n,1);
iter = 1;
for i = 1:1:iterMax
    iter = i;
    x = M\(N*x0+b);
    normC = norm(x-x0,inf);
    x0 = x;

    if normC <tol
        break
    end
end
函数[x0,iter]=gaussSeidel(A,b,iterMax,tol)
D=诊断(诊断(A));
下限=-tril(A,-1);
上=-triu(A,1);
M=D-较低;
N=上限;
n=尺寸(A);
n=n(1);
x0=一(n,1);
iter=1;
对于i=1:1:iterMax
iter=i;
x=M\(N*x0+b);
normC=norm(x-x0,inf);
x0=x;
如果normC“\”是通过求逆求解线性常系数系统的一种优化方法。
如果你想知道什么是系数矩阵的倒数,那么你必须使用

inv(A)
而不是

A\b
没有出路!或者,如果只处理逆矩阵的第N列,那么也可以使用

I=eye(n);
A\I(:,N);
好的,“\”操作符在每次迭代中求解下三角系统,它的复杂度应该相当于求逆。因此,只需使用M\N就可以得到您想要的答案。也许我误解了这个问题?