共轭梯度法解线性方程组(Matlab程序)

原创 2012年03月30日 18:38:38

%-------共轭梯度法解线性方程组-----------
%---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
   
   
   


 

Matlab实现FR共轭梯度法

前一段时间学习了无约束最优化方法,今天用Matlab实现了求解无约束最优化问题的FR共轭梯度法。关于共轭梯度法的理论介绍,请参考我的另一篇文章 无约束最优化方法学习笔记。文件testConjungat...
  • tomheaven
  • tomheaven
  • 2015年08月26日 00:24
  • 4535

共轭梯度法matlab程序

  • 2009年04月14日 00:43
  • 304B
  • 下载

共轭梯度法求解线性方程组-matlab通用程序

数值分析课程的大作业,教材《数值分析》李乃成.梅立泉 function x=Gongetidu2(A,b,x0,epsa) n=size(A,1); x=x0; r=b-A*x; d=r; ...
  • zhangxiaolu2015
  • zhangxiaolu2015
  • 2015年01月15日 18:31
  • 1770

优化方法的共轭梯度法Matlab代码

  • 2014年11月03日 22:11
  • 1KB
  • 下载

共轭梯度法(conjugate gradient method)

该方法是快速求解Ax=b线性系统的方法,他要求矩阵A是对称正定矩阵。 算法执行过程: matlab实现:clear;%删除工作空间的所有变量,释放系统内存 clc;%清楚命名窗口 A=[4 ...
  • li8630
  • li8630
  • 2015年07月25日 16:43
  • 936

共轭梯度法求解线性方程组

1.1算法原理及程序框图 当线性方程组Ax= b的系数矩阵A是对称正定矩阵时,可以采用共轭梯度法对该方程组进行求解,可以证明,式(1)所示的n元二次函数                      ...
  • lijiaxu_1
  • lijiaxu_1
  • 2017年04月09日 20:09
  • 1733

共轭梯度法求解线性方程组

function [k,x]=Conjugate_gradient(A,b,x0,esp) %% 参数说明% 采用共轭梯度算法求解线性方程组 % 输入参数% A为线性方程组系数矩阵...
  • jahn1130
  • jahn1130
  • 2016年12月06日 19:13
  • 615

数值分析 共轭梯度法 求解线性方程

  • 2010年12月20日 21:57
  • 3.54MB
  • 下载

共轭梯度法C语言源程序

  • 2010年04月22日 10:03
  • 962B
  • 下载

matlab预处理共轭梯度法

  • 2012年05月23日 19:05
  • 1019B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:共轭梯度法解线性方程组(Matlab程序)
举报原因:
原因补充:

(最多只允许输入30个字)