使用精确搜索算法确定步长的牛顿法技术总结.doc

使用精确搜索算法确定步长的牛顿法技术总结.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE  PAGE 7 数学与计算科学学院 实 验 报 告 实验项目名称 使用精确搜索算法确定步长的牛顿法 所属课程名称 最优化方法 实 验 类 型 算法编程 实 验 日 期 2015年11月13号 班 级 信 学 号 201 姓 名 成 绩 一、实验概述:【实验目的】 掌握精确搜索算法确定步长的最速下降法; 使用计算机语言表达最优化方法。 【实验原理】 设f(x)是二次可微函数, ,又 设f(x)的极小点的一个估计,我们把f(x)在 展开成Taylor级数,并取二阶近似 其中是f(x)在处的Hesse矩阵。为求 的平稳点,令 =0 即 设可逆,则有为牛顿法的迭代公式。这样知道后,算出在这一点处目标函数的??度和Hesse矩阵的逆,代入,便得到,用k+1代替k,再计算,又得到,以此类推,产生序列{}。 【实验环境】 计算机 VC++ 二、实验内容:【实验方案】 列举例题 手工计算 将计算步骤等实现程序化 实验结果分析 【实验过程】 例题 min 计算步骤: 语言设计流程图:开始 k:=0 收敛于 计算 计算, 设定初点, 输出 结束 是 否 【实验结论】  0  12 3… …【实验小结】(收获体会) 通过本次实验,初步解了最优化方法在机器语言上的实现,更深刻的了解了使用精确搜索算法确定步长的牛顿法,理解和掌握了他们的优缺点。同时也认识了自己的缺点,编程能力弱,需要极大的提高。在以后的实验中会努力学习,争取把这门课学好。 三、指导教师评语及成绩:评 语评语等级优良中及格不及格1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强?2.实验方案设计合理?3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)?4实验结论正确. ? 成 绩: 指导教师签名: 批阅日期:  附录1:源 程 序 function [x1 k]=newton(x1,j) %x1为初始点 x1=[8,8]; j=1e-10; hs=inline((x-1)^4+y^2); ezcontour(hs,[-10 10 -10 10]); hold on; syms x y f=(x-1)^4+y^2; grad1=jacobian(f,[x,y]);%求梯度 grad2=jacobian(grad1,[x,y]);%求Hesse矩阵 k=0; while 1 grad1z=subs(subs(grad1,x,x1(1)),y,x1(2));%求梯度值 grad2z=subs(subs(grad2,x,x1(1)),y,x1(2));%求Hesse矩阵 x2=x1-inv(grad2z)*(grad1z);%牛顿迭代公式 if norm(x1-x2)j break; else plot([x1(1),x2(1)],[x1(2),x2(2)],-r*); k=k+1;x1=x2; end  附录2:实验报告填写说明 1.实验项目名称:要求与实验教学大纲一致. 2.实验目的:目的要明确,要抓住重点,符合实验教学大纲要求. 3.实验原理:简要说明本实验项目所涉及的理论知识. 4.实验环境:实验用的软、硬件环境. 5.实验方案(思路、步骤和方法等):这是实验报告极其重要的内容.概括整个实验过程. 对于验证性实验,要写明依据何种原理、操作方法进行实验,要写明需要经过哪几个步骤来实现其操作.对于设计性和综合性实验,在上述内容基础上还应该画出流程图、设计思路和设计方法,再配以相应的文字说明.对于创新性实验,还应注明其创新点、特色. 6.实验过程(实验中涉及的记录、数据、分析):写明具体实验方案的具体实施步骤,包括实验过程中的记录、数据和相应的分析. 7.实验结论(结果):根

文档评论(0)

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

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

1亿VIP精品文档

相关文档