西交计算方法A上机大作业.docxVIP

  • 17
  • 0
  • 约2.65千字
  • 约 11页
  • 2019-11-13 发布于湖北
  • 举报
计算方法A上机大作业 共轭梯度法求解线性方程组 算法原理:由定理3.4.1可知系数矩阵A是对称正定矩阵的线性方程组Ax=b的解与求解二次函数 极小点具有等价性,所以可以利用共轭梯度法求解的极小点来达到求解Ax=b的目的。 共轭梯度法在形式上具有迭代法的特征,在给定初始值情况下,根据迭代公式: 产生的迭代序列 在无舍入误差假定下,最多经过n次迭代,就可求得 的最小值,也就是方程Ax=b的解。 首先导出最佳步长的计算式。 假设迭代点和搜索方向已经给定,便可以通过 的极小化 来求得,根据多元复合函数的求导法则得: 令,得到: ,其中 然后确定搜索方向。给定初始向量后,由于负梯度方向是函数下降最快的方向,故第一次迭代取搜索方向 。令 其中。第二次迭代时,从 出发的搜索方向不再取,而是选取,使得与是关于矩阵A的共轭向量,由此可求得参数: 然后从出发,沿进行搜索得到 设已经求出,计算。 令,选取,使得和是关于A的共轭向量,可得: 具体编程计算过程如下: 给定初始近似向量 以及精度 ; 计算,取; For k=0 to n-1 do (i); (ii); (iii); (iv)若,则输出近似解 ,停止;否则,转(v); (v) ; (vi); End do 程序框图: 程序使用说明:本共轭梯度法求解线性方程的程序直接打开matlab运行,在求解线性方程组Ax=b(A是对称正定矩阵)的时候

文档评论(0)

1亿VIP精品文档

相关文档