我正在尝试通过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);