法的matlab实现_第1页
法的matlab实现_第2页
法的matlab实现_第3页
法的matlab实现_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、极小点的区间(不确定区间)不断缩短, 当区间长度小到一定程度时, 区间上各点的函数值均接近极小值, 因此任意一点都可作为极小点的近似.0.618 法计算试探点的公式:2. 0.618法的算法步骤: 置初始区间及精度要求, 计算试探点和, 计算函数值和. 计算公式是令. 若, 则停止计算. 否则, 当时, 转步骤; 当时, 转步骤. 置, , , 计算函数值, 转步骤. 置, , , 计算函数值, 转步骤. 置, 返回步骤.4 实验流程图及其MATLAB实现:1. 流程图:开始置初始区间及精度要求计算试探点和计算函数值和YNYN置, , 计算函数值置, , 计算函数值置2. 代码及数值算例:(1

3、) 程序源代码:function x,k=GSe(f,a,b,delta)% 0.618法求解单峰函数极小点f=inline(f);N=10000;for k=1:N m=a+0.382*(b-a); n=a+0.618*(b-a); if f(m)>f(n) a=m; m=n; else b=n; n=m; end if abs(b-a)<delta x=0.5*(b+a);break; endend (2) 数值算例:,初始区间, 精度.(i) 键入命令:>> x,k=GSe('2*x2-x-1',-1,1,0.16)(ii) 运行结果:x = 0.2229k = 65 总结: 0.618法(黄金分割法)适用于单峰函数, 故应先确定目标函数的单峰区间, 方可进行迭代计算. 但单峰区间不是很明显就能确定, 故可用进退法寻找

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论