数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 1727|回复: 2

0.618法计算单峰函数最值有何优势?

[复制链接]
发表于 2021-6-14 00:15 | 显示全部楼层 |阅读模式
本帖最后由 Ysu2008 于 2021-6-14 12:25 编辑

比如求 \(f(x)=\frac{ln(x)}{x+1}\) 最大值的数值解。

(1)以 0.618 法,从初始区间 [a , b]=[2 , 5]开始,迭代 70 次可找到该区间内的函数最大值:

a = 3.5911215197695068        f(a) = 0.2784645427610738
b = 3.5911215197695094        f(b) = 0.2784645427610738

可知:max(f) = 0.2784645427610738......

(2)参照 0.618 法的搜索原理,我们可以选择任何一个大于 0.5 小于1 的值进行类似迭代。

比如以 0.51 迭代,也从初始区间 [a , b]=[2 , 5]开始,迭代 50 次即可找到最大值:

a = 3.5911217453093540        f(a) = 0.2784645427610732
b = 3.5911217453093576        f(b) = 0.2784645427610732

max(f) = 0.2784645427610732......

(3)还可以选择比 0.618 大的值迭代,比如 0.8,也从初始区间 [a , b]=[2 , 5]开始,则需迭代 150 次找到最大值:

a = 3.5911214905895488        f(a) = 0.2784645427610738
b = 3.5911214905895505        f(b) = 0.2784645427610738

越靠近 0.5 ,迭代所需次数越少。那么用 0.618 迭代原因何在呢?
 楼主| 发表于 2021-6-14 23:50 | 显示全部楼层
0.618 迭代次数比 0.51 多,为啥还用  0.618 ?难道黄金数就要拽一点?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-14 23:51 | 显示全部楼层

兄弟有何高见不妨说道说道。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2024-4-23 20:13 , Processed in 0.067383 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表