matlab迭代实验总结,0618法matlab实验报告

41528d3028836879cd698677c3999917.gif0618法matlab实验报告

实 验 报 告实验题目: 0.618 法的 MATLAB 实现 学生姓名: 学 号: 实验时间: 1.实验名称: 0.618 法求解单峰函数极小点 2.实验目的及要求:1. 了解并熟悉 0.618 法的方法原理, 以及它的 MATLAB 实现.2. 运用 0.618 法解单峰函数的极小点.3.实验内容:1. 0.618 法方法原理:定理: 设 是区间 上的单峰函数 , , 且 . 如果f],[ba][ ,)2(1bax)2()1(x, 则对每一个 , 有 ; 如果 ,)()(21xf][)1(x)(f)()(ff则对每一个 , 有 .][(()(f根据上述定理, 只需选择两个试探点, 就可将包含极小点的区间缩短. 事实上, 必有如果 , 则 ;)()(21xff],[)1(bx如果 , 则 .)()()2(a,0.618 法的基本思想是, 根据上述定理, 通过取试探点使包含极小点的区间(不确定区间)不断缩短, 当区间长度小到一定程度时, 区间上各点的函数值均接近极小值, 因此任意一点都可作为极小点的近似.0.618 法计算试探点的公式: ).(618.0,32kkaba2. 0.618 法的算法步骤:①置初始区间 及精度要求 , 计算试探点 和 , 计算函数值 和],[1baL1)(1f. 计算公式是)(1f ).(68.0 ),(382.01111 abab令 .k②若 , 则停止计算. 否则, 当 时, 转步骤③ ; 当Labk )(kkff时, 转步骤④.)(kff③置 , , , , 计算函数值k1kb1k1 )(618.011kkaba, 转步骤⑤.)(kf④置 , , , , 计算函数值ka1kb1k1 )(382.011kkaba, 转步骤⑤.)(kf⑤置 , 返回步骤②.:4.实验流程图及其 MATLAB 实现:1. 流程图:置初始区间 及精度要求],[1ba0L计算试探点 和1计算函数值 和)(ff置 , , ka1kb1k1)(68.0k a计算函数值 1kf)(kkff置 , , ka1kb1k1)(382.0k a计算函数值 1kfLabk置 1:k)(5.0kbax开始 YNYN2. 代码及数值算例:(1) 程序源代码 :function [x,k]=GSe(f,a,b,delta)% 0.618法求解 单峰函数极小点f=inline(f);N=10000;for k=1:Nm=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;endif abs(b-a)> [x,k]=GSe( 2*x^2-x-1 ,-1,1,0.16)(ii) 运行结果:x =0.2229k =65.总结:0.618 法(黄金分割法)适用于单峰函数, 故应先确定目标函数的单峰区间, 方可进行迭代计算. 但单峰区间不是很明显就能确定, 故可用进退法寻找并确定单峰区间.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值