如何在高斯塞德尔中计算迭代矩阵



我正在尝试通过Gauss-Seidel迭代方法求解系统。但我也想收到使用的迭代矩阵作为答案。我有这个方法

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

我想知道迭代矩阵((D-Lower)^(-1))*Upper)中的内容,但为此我必须计算逆数,而且计算成本很高,有没有另一种方法可以获取值?

"

\"是一种通过反函数求解线性常数系数系统的优化方法。如果你想看看系数矩阵的逆是什么,那么你必须使用

inv(A)

而不是

Ab

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

I=eye(n);
AI(:,N);

相关内容

  • 没有找到相关文章