共軛梯度法解線性方程組(Matlab程式)

2021-06-05 10:37:06 字數 667 閱讀 6654

%-------共軛梯度法解線性方程組-----------

%---conjugate gradient method-------

%參考教材《數值分析》李乃成&梅立泉,科學出版社2011

clear;clc;

% a=[10,-1,-2;-1,10,-2;-1,-1,5];

% b=[72,83,42]';

a=[2 0 1;0 1 0;1 0 2];

b=[3 1 3]';

n=length(b);    %解向量的維數

fprintf('庫函式計算結果:');

x=inv(a)*b      %庫函式計算結果

x=zeros(n,1);%迭代近似向量

eps=0.0000001;%精度

r=b-a*x;d=r;

for k=0:n-1

fprintf('第%d次迭代:',k+1);

a=(norm(r)^2)/(d'*a*d)

x=x+a*d

rr=b-a*x;    %rr=r(k+1)

if (norm(rr)<=eps)||(k==n-1)

break;

endb=(norm(rr)^2)/(norm(r)^2);

d=rr+b*d;

r=rr;

end

MATLAB解線性方程組

rref 函式 把矩陣換為行最簡形 可以用來解線性方程組,求矩陣的秩,求矩陣行最簡形 每行首元所在的列只有它乙個是1 首元所在的列數。例如 我們知道乙個方程組 a x b 中 a 係數矩陣 和b列向量 a 2 2 2 6 2 1 2 4 3 1 4 4 1 1 1 3 b 16 10 11 12 u...

Eigen解線性方程組

一.矩陣分解 矩陣分解 decomposition,factorization 是將矩陣拆解為數個矩陣的乘積,可分為三角分解 滿秩分解 qr分解 jordan分解和svd 奇異值 分解等,常見的有三種 1 三角分解法 triangular factorization 2 qr 分解法 qr fact...

線性方程組

給出乙個線性方程組的標準形式 a11x1 a12x 2 a1nx na21x 1 a22 x2 a2n xnan 1x1 an2x 2 annx n b1 b2 bn 1x 2y 34x 5y 6 1 2 這裡由克萊姆法則進行計算得出xy 3625 14 25 3 5 2 61 5 2 4 3 3 ...