收藏 分享(赏)

线性方程组的最速下降法与共轭梯度法.doc

上传人:jinchen 文档编号:5603231 上传时间:2019-03-09 格式:DOC 页数:5 大小:130.50KB
下载 相关 举报
线性方程组的最速下降法与共轭梯度法.doc_第1页
第1页 / 共5页
线性方程组的最速下降法与共轭梯度法.doc_第2页
第2页 / 共5页
线性方程组的最速下降法与共轭梯度法.doc_第3页
第3页 / 共5页
线性方程组的最速下降法与共轭梯度法.doc_第4页
第4页 / 共5页
线性方程组的最速下降法与共轭梯度法.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、共轭梯度法一 共轭梯度法原理对于线性方程组 ,即:Ab(1)121n212nnaxaxb其中, 为对称正定矩阵, ,如何熟练地运=ijaA1inb用最速下降法与共轭梯度法的求解线性方程组。在求解线性方程组之前,首先用内积将问题转化为函数问题。1 最速下降法最速下降法是一种运用梯度与极值的性质,综合数值计算方法寻找局部极值。基本思想:任一点的负梯度方向是函数值在该点下降最快的方向。将 维问题转化为一系列沿负梯度方向用一维搜索方法寻n优的问题,利用负梯度作为搜索方向,故称最速下降法。具体步骤:1、搜索方向: ,即最速下降方向。()kkdfx2、搜索步长: 取最优步长,即满足:k()min()kkf

2、xfxd1 给定初始点 ,允许误差 ,令 。0nR012 计算搜索方向 。()kkdfx3 若 ,则 为所求的极值点,否则,求解最优步长 ,kA k使得 。()min()kkkfxdfxd4 令 ,1kk1最速下降方向是反映了目标函数的局部性质,它只是局部目标函数值下降最快的方向。2 共轭梯度法对于 1min()2TfxAbx其中, , 是对称正定矩阵。0nR基本思想:将共轭性与最速下降法相结合利用已知迭代点的梯度方向构造一组共轭方向,并沿此方向搜索,求出函数的极小值。具体步骤:1 取初始点 ,取第一次搜索方向为 。(0)x(0)(0)dfx2 设已求得 ,若 ,令 ,则下一(1)k(1)kf

3、x(1)kg个搜索方向(1)(1)()1kkkdd由于 与 关于 共轭,所以给(1)两边同时乘以 ,(1)kd()kATkdA即: ()(1)()()()10TTTkkkgd解得: (2)()1()kkTgA3 搜索步长的确定,已知迭代点 ,和搜索方向 ,确定()kx()kd步长 ,即:k()()minkkfxd记 ,()()(kk令 ()()()0Tfxd既有: ()()()0kkTkAxdb令 ()()kgf既有: ()()kT解得:()kkTdA共轭梯度法是对最速下降法的一种改进,减少了迭代次数从而提高了程序运行效率。二 程序框图程序:%最速下降法%function x,k=fast(A

4、,b)esp=input(esp=);N=input(N=);x0=input(x0=);k=0;tol=1;while tol=espr=b-A*x0;q=dot(r,r)/dot(A*r,r);x=x0+q*r;k=k+1;tol=norm(x-x0);x0=xif k=Ndisp();return;endendxk%共轭梯度法%function k,x=C_G(A,b)esp=input(请输入最大误差= );x0=input(请输入初值 x0=);k = 0 ;r0 = b-A*x0; %dangqianwhile norm(r0)esp r0 = b -A*x0;k = k + 1 ;if k=1 p0 = r0 ;elselamda=(r0*r0)/(p0*A*p0);r1 = r0 - lamda*A*p0 ;p0=r0+(r0*r0)/(r1*r1)*p0;x1 = x0 + lamda*p0;x0=x1;r0=r1;endendx=r0;k;end

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报