黄金分割法求极值点

黄金分割法是一种寻找单谷函数极小值的区间收缩法。通过不断对比函数值,缩小搜索区间,当区间长度小于预设精度时,区间端点平均值作为极小值点的近似。文章介绍了算法概念并提供了Python代码实现。
摘要由CSDN通过智能技术生成

我们先来了解什么是黄金分割算法:

    黄金分割法也称0.618算法,属于区间收缩法,首先找出包含极小点的初始搜索区间,然后黄金分割点通过对函数值的比较不断缩小搜索区间(当然要保证极小点在搜素区间),当定义域的长度缩小的一定长度时候,就可以用当前区间的端点值的平均近似代替极小值点。

注:适用范围是单谷函数(就是只有一个极大值(转化成求极小值问题)或者极小值点)

通俗点讲就是讲先给定搜索区间比如[a b],然后另x1 = a + 0.382(b - a),x2 = a + 0.618(b - a),然后把x1和x2代入到函数f(x)中比较f(x1)和f(x2)的大小,如果f(x1)>f(x2),则让a = x1,否则b = x2,然后在新的搜索区间[a b]内,重新找到x1和x2重复以上过程,直到b - a<ξ(这个是给出的最小精度),然后取a,b的平均值近似代替f(x)min。

代码实现如下:

 1 import numpy as np
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值