共轭梯度法实验报告.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PAGE

PAGE1

数值代数实验报告

一、实验名称:用共轭梯度法解线性方程组。

二、实验目的:进一步熟悉理解掌握共轭梯度法解法思路,提高matlab编程能力。三、实验要求:已知线性方程矩阵,应用共轭梯度法在相关软件编程求解线性方程组的解。

四、实验原理:

1.共轭梯度法:

考虑线性方程组

Ax?b

的求解问题,其中A是给定的n阶对称正定矩阵,b是给定的n维向量,x是待求解的n维向量.为此,定义二次泛函

?(x)?xTAx?2bTx.

定理1 设A对称正定,求方程组Ax?b的解,等价于求二次泛函?(x)的极小值点.定理1表明,求解线性方程组问题就转化为求二次泛函?(x)的极小值点问题.

求解二次函数极小值问题,通常好像盲人下山那样,先给定一个初始向量x

0

,确定

一个下山方向p

0

,沿着经过点x

0

而方向为p

0

的直线x?x

0

??p

0

找一个点

使得对所有实数?有

x?x

1 0

?? p,

0 0

??x

0

??p

0 0

????x

0

??p?,

0

即在这条直线上x

1

使?(x)达到极小.然后从x

1

出发,再确定一个下山的方向p

1

,沿着

线x?x

1

??p

1

再跨出一步,即找到?

1

使得??x?在x

2

?x??p

1 1 1

达到极小:

重复此步骤,得到一串

??x

1

??p

1 1

????x

1

??p?.

1

?,?,?

0 1 2

,L 和 p

0

,p,p

1 2

,L,

称p为搜索方向,? 为步长.一般情况下,先在x

k k k

点找下山方向p

k

,再在直线

x?x ??p上确定步长?

k k k

使

??x

k

??p

k k

????x

k

??p?,

k

最后求出x ?x

k?1 k

?? p

k k

.然而对不同的搜索方向和步长,得到各种不同的算法.

由此,先考虑如何确定?

k

.设从x

k

出发,已经选定下山方向p.令

k

f??????x??p?

k k

?kkk??x ??p

?

k

k

k

?TA?x

??p

??2bT?x

??p?

k k k

??2pTAp?2?rTp ?? x?,

k k k k k

其中r

k

?b?Ap

k

.由一元函数极值存在的必要条件有

f?????2?pTAp?2rTp ?0

所确定的?即为所求步长?,即

k

k k k k

? rTp

? k k .

k pTAp

步长确定后,即可算出 k k

此时,只要rTp

k k

?0,就有

x ?x ??p.

k?1 k k k

??x

k?1

????x

k

????x ??p

k k k

????x? ?2

?k rTp

?

??2pTAp

?2?rTp ?? k k ?0

即??

x

k?1

????x?.

k

k k k

kk k

pTAp

k k

再考虑如何确定下山方向p

k

.易知负梯度方向是?(x)减小最快的方向,但简单分

析就会发现负梯度方向只是局部最佳的下山方向,而从整体来看并非最佳.故采用新的方法寻求更好的下山方向——共轭梯度法.

下面给出共轭梯度法的具体计算过程:

给定初始向量x

0

,第一步仍选用负梯度方向为下山方向,即p

0

?r,于是有

0

00? ? rTr

0

0

,x?x

??p,r

?b?Ax.

0 pTAp 1 0 0 0 1 0

对以后各步,例如第k+1步(k?01),0下山方向不再取r

k

,而是在过点由向量r

k

和p

k?1

所张成的二维平面

? ?{x|x?x

2 k

?r

k

??p

k?1

,?,??R}

内找出使函数?下降最快的方向作为新的下山方向p

k

.考虑?在?

上的限制:

2

???,????(x

k

?(x

k

??r

k

?r

k

??p

k?1

??p

k?1

)

)TA(x

k

?r

k

??p

)

k?1

?? ?? ?

?2bT(x

k

?r

k

??p

).

k??1

计算?关于,

的偏导得: ?2

???

?

?

?rTAr??rTAp ?rT

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档