共轭梯度法(conjugate gradient method)

该方法是快速求解Ax=b线性系统的方法,他要求矩阵A是对称正定矩阵。 算法执行过程:

matlab实现:

clear;%删除工作空间的所有变量,释放系统内存clc;%清楚命名窗口A=];b=[1,2]’;N=length(b); %解向量的维数fprintf(‘库函数计算结果:’);x=inv(A)*b%库函数计算结果x=[2;1];%初始点eps=0.0000001; %精度r=b-A*x;p=r;for k=0:N-1fprintf(‘第%d次迭代:’,k+1);a=(norm(r)^2)/(p’*A*p)x=x+a*prr =r-a*A*p; %rr=r(k+1),它和b-A*x等价if (norm(rr)<=eps)||(k==N-1)break;endB=(norm(rr)^2)/(norm(r)^2);p=rr+B*p;r=rr;end

,无论如何,没有人有办法把自己抑或他人的刺拔掉。那是一碰便痛的软肋,

共轭梯度法(conjugate gradient method)

相关文章:

你感兴趣的文章:

标签云: