基於列掃描的方法求解線性方程組
% 這種方法精度高,但是對初始解的要求比較高
clear; clc
n = 10; % 方程組階數
A = rand(n);
u = (1:n)'; % 精確解
b = A*u; % 右端項
nw = 2; % 窗口數
x = [];
for i = 1:5 % 掃描5次剛好完成
nw1 = (i-1)*nw + 1;
nw2 = i*nw;
b0 = A(:,nw1:nw2) * u(nw1:nw2); % 這裏的u可以使用一個較好的初始值代替
x0 = pinv(A) * b0;
x = [x;x0(nw1:nw2)];
end
% 向量x中是數值解, 向量u中是精確解