数学实验“线性方程组的最速下降法与共轭梯度法解法”实验报告内含matlab程序代码.doc

数学实验“线性方程组的最速下降法与共轭梯度法解法”实验报告内含matlab程序代码.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数学实验“线性方程组的最速下降法与共轭梯度法解法”实验报告内含matlab程序代码

 PAGE 7 西京学院数学软件实验任务书 课程名称数学软件实验班级数0901学号0912020107姓名李亚强实验课题线性方程组的最速下降法与共轭梯度法实验目的熟悉线性方程组的最速下降法与共轭梯度法实验要求运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成实验内容线性方程组的最速下降法 线性方程组的共轭梯度法成绩教师 实验五实验报告 实验名称:最速下降法与共轭梯度法解线性方程组。 实验目的:进一步熟悉理解掌握最速下降法与共轭梯度法解法思路,提高matlab编程能力。 实验要求:已知线性方程矩阵,应用最速下降与共轭梯度法在相关软件编程求解线性方程组的解。 实验原理: 最速下降法: 从某个初始点 出发,沿在点处的负梯度方向 求得的极??值点, 即 然后从出发,重复上面的过程得到。如此下去,得到序列{} 可以证明,从任一初始点 出发, 用最速下降法所得到的序列{}均收敛于问题使最小化的解,也就是方程组的解。其收敛速度取决于,其中 ,分别为A的最小,最大特征值。最速下降法迭代格式:给定初值,按如下方法决定: 共轭梯度法 其基本步骤是在点 处选取有哪些信誉好的足球投注网站方向, 使其与前一次的有哪些信誉好的足球投注网站方向 关于共轭,即 然后从点 出发,沿方向求得的极小值点 , 即 如此下去, 得到序列{}。不难求得的解为 注意到的选取不唯一,我们可取 由共轭的定义可得: 共轭梯度法的计算过程如下: 第一步:取初始向量, 计算 第步:计算 实验内容: %最速下降法 function [x,k]=fastest(A,b,eps); x0=zeros(size(b),1); x=x0; k=0; m=1000; tol=1; while tol=eps r=b-A*x0; q=dot(r,r)/dot(A*r,r); x=x0+q*r; k=k+1; tol=norm(x-x0); x0=x; if k=m disp(迭代次数太多,可能不收敛!); return; end end x k %共轭梯度法 function [k,x]=gong_e(A,b) esp=input(请输入允许误差esp=); x0=input(请输入初始值x0=); k = 0 ; r0 = b-A*x0; %求出dangqian梯度 while norm(r0)esp r0 = b -A*x0; k = k + 1 ; if k==1 p0 = r0 ; else lamda=(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; end end x=r0; k; end 实验结果: A=[5 2 0;6 4 1;1 2 5]; b=[10 18 -14]; eps=1.0e-6; x = -0.8750 7.1875 -5.5000 k = 60

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档