0.618法的matlab实现

0.618法的matlab实现

ID:47281223

大小:212.82 KB

页数:4页

时间:2020-01-09

0.618法的matlab实现_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《0.618法的matlab实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验报告实验题目:0.618法的MATLAB实现学生姓名:学号:实验时间:2013-5-13一.实验名称:0.618法求解单峰函数极小点二.实验目的及要求:1.了解并熟悉0.618法的方法原理,以及它的MATLAB实现.2.运用0.618法解单峰函数的极小点.三.实验内容:1.0.618法方法原理:定理:设是区间上的单峰函数,,且.如果,则对每一个,有;如果,则对每一个,有.根据上述定理,只需选择两个试探点,就可将包含极小点的区间缩短.事实上,必有如果,则;如果,则.0.618法的基本思想是,根据上述定理,通过取试探点使包含极小点的区间(不确定区间)不断缩短,当区间长度小到一定程度时,区间

2、上各点的函数值均接近极小值,因此任意一点都可作为极小点的近似.0.618法计算试探点的公式:2.0.618法的算法步骤:①置初始区间及精度要求,计算试探点和,计算函数值和.计算公式是令.②若,则停止计算.否则,当时,转步骤③;当时,转步骤④.③置,,,,计算函数值,转步骤⑤.④置,,,,计算函数值,转步骤⑤.⑤置,返回步骤②.一.实验流程图及其MATLAB实现:1.流程图:开始置初始区间及精度要求计算试探点和计算函数值和YNYN置,,计算函数值置,,计算函数值置2.代码及数值算例:(1)程序源代码:function[x,k]=GSe(f,a,b,delta)%0.618法求解单峰函数极小点

3、f=inline(f);N=10000;fork=1:Nm=a+0.382*(b-a);n=a+0.618*(b-a);iff(m)>f(n)a=m;m=n;elseb=n;n=m;endifabs(b-a)>[x,k]=GSe('2*x^2-x-1',-1,1,0.16)(ii)运行结果:x=0.2229k=6一.总结:0.618法(黄金分割法)适用于单峰函数,故应先确定目标函数的单峰区间,方可进行迭代计算.但单峰区间不是很明显就能确定,故可用进退法寻找并确定单峰区间.二.参考

4、文献:陈宝林编著《最优化理论与算法》清华大学出版社2005年10月第2版

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。