基於列掃描的方法求解線性方程組

基於列掃描的方法求解線性方程組

% 這種方法精度高,但是對初始解的要求比較高
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中是精確解

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章