最优化方法实验报告1.doc

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

最优化方法实验报告 Numerical Linear Algebra And Its Applications 学生所在学院:理 学 院 学生所在班级:计算数学10-1 学 生 姓 名:甘 纯 指 导 教 师:单 锐 教 务 处 2013年 5月 实验一 实验名称: 熟悉matlab基本功能 实验时间: 2013年05月10日 星期三 实验成绩: 一、实验目的: 在本次实验中,通过亲临使用MATLAB,对该软件做一全面了解并掌握重点内容。 二、实验内容: 1. 全面了解MATLAB系统 2. 实验常用工具的具体操作和功能 实验二 实验名称: 一维有哪些信誉好的足球投注网站方法的MATLAB实现 实验时间: 2013年05月10日 星期三 实验成绩: 一、实验目的: 通过上机利用Matlab数学软件进行一维有哪些信誉好的足球投注网站,并学会对具体问题进行分析。并且熟悉Matlab软件的实用方法,并且做到学习与使用并存,增加学习的实际动手性,不再让学习局限于书本和纸上,而是利用计算机学习来增加我们的学习兴趣。 二、实验背景: (一)0.618法(黄金分割法),它是一种基于区间收缩的极小点有哪些信誉好的足球投注网站算法,当用进退法确定有哪些信誉好的足球投注网站区间后,我们只知道极小点包含于有哪些信誉好的足球投注网站区间内,但是具体哪个点,无法得知。 1、算法原理 黄金分割法的思想很直接,既然极小点包含于有哪些信誉好的足球投注网站区间内,那么可以不断的缩小有哪些信誉好的足球投注网站区间,就可以使有哪些信誉好的足球投注网站区间的端点逼近到极小点。 算法步骤 用黄金分割法求无约束问题的基本步骤如下: (1)选定初始区间及精度,计算试探点: 。 (2)若,则停止计算。否则当时转步骤(3)。 当转步骤(4)。 (3)置 转步骤(5) (4)置 转步骤(5) 令,转步骤(2)。 斐波那契法: 1、算法原理 斐波那契法也是一种区间收缩算法,但是和黄金分割法不同的是,黄金分割法每次收缩只改变有哪些信誉好的足球投注网站区间的一个端点,而斐波那契法同时改变有哪些信誉好的足球投注网站区间的两个端点,是一种双向收缩法。 算法步骤 (1)选取初始数据,确定单峰区间,给出有哪些信誉好的足球投注网站精度,由 确定有哪些信誉好的足球投注网站次数。 (2) ,计算最初两个有哪些信誉好的足球投注网站点,按(3)计算和。 (3) while if else end en (4) 当进行至时, 这就无法借比较函数值和的大小确定最终区间,为此,取 其中为任意小的数。在和这两点中,以函数值较小者为近似极小点,相应的函数值为近似极小值。并得最终区间或。 由上述分析可知,斐波那契法使用对称有哪些信誉好的足球投注网站的方法,逐步缩短所考察的区间,它能以尽量少的函数求值次数,达到预定的某一缩短率。 三点二次插值法: 1、算法原理 该算法在有哪些信誉好的足球投注网站区间中不断用低次(通常不超过三次)插值多项式来近似目标函数,并逐步用插值多项式的极小点来逼近的极小点,当函数具有比较好的解析性质时,插值方法比直接方法(如0.618或Fibonacci法)效果更好。 2、算法步骤 (1)取初始点,计算并满足,置精度要求(迭代终止条件)。 (2 ) 计算,则置 停止计算 (3)计算 若或则置 停止计算 (4)计算,若停止计算(作为极小点) (5)如果 则 若则置:否则置; 否则则 若则置:否则置。 (6)转(2) 三、实验内容: 1. 0.618法的MATLAB实现 2. Fibonacci法的MATLAB实现 3.二次插值法的MATLAB实现 四、实验过程: 1.0.618法的函数: function [x,minf] = minHJ(f,a,b,eps) if nargin == 3 eps = 1.0e-6; end l = a + 0.382*(b-a); u = a + 0.618*(b-a); k=1; tol = b-a; while toleps k100000 fl = subs(f , findsym(f), l); fu = subs(f , findsym(f), u); if fl fu a = l; l = u; u = a + 0.618*(b - a); else b = u;

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档