%-------共轭梯度法解线性方程组-----------
%---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; end B=(norm(rr)^2)/(norm(r)^2); d=rr+B*d; r=rr; end