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

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

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

数值分析课程的大作业,教材《数值分析》李乃成.梅立泉 function x=Gongetidu2(A,b,x0,epsa) n=size(A,1); x=x0; r=b-A*x; d=r; ...

【MATLAB】二维搜索之共轭梯度法

clc;clear; syms x1x2 v f = x1^2+2*x2^2-4*x1-2*x1*x2; % f =x1^3+x2^3-3*x1*x2; %测试函数 x =[2,2]; %设置...

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

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

PostgreSQL:Problem running post-install step. The database cluster initialisation failed. 解决方法。

安装PG时报上述错误。 网上搜索出许多解决方案比较常见的有:字符集,用户权限,等等。均已排除,而且因为很容易搜到,所以不再赘述。我遇到的问题,最先发现的解决方法是:只要使用缺省的程序目录和数据目...
  • fm0517
  • fm0517
  • 2017年02月13日 14:36
  • 1848

线性(一般性)拟合最小二乘解(超定方程)

课件的推导 结论 R’*Ra=R’ *y;>>>a=(R’R)^-1*R’y; f(x)=a1*r1(x)+a2*r2(x)+……am*rm(x);用f(x)去拟合一组数据 (x...

数值分析 Gauss-Seidel迭代法求解线性方程组 MATLAB程序实现

Gauss-Seidel迭代法 参考数值分析第四版 颜庆津著 P39 运行输入 运行结果 函数内容(保存为gauss.m文件,在MATLAB中运行) %Gauss-Seidel迭代法求解线性方程组。迭...

共轭梯度matlab程序

  • 2014年03月24日 11:53
  • 35KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:共轭梯度法解线性方程组(Matlab程序)
举报原因:
原因补充:

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