python0.618方法 精确寻找凹函数的最小值

当时在班上还是挺多人网上找的,拿出来分享一下。

上代码!

def function(x):return (x-60.1234535678)*(x-60.1234535678)def six18(f, a, b):e = 0.000001r = 0.618b1 = a + r*(b-a)a1 = b - r*(b-a)if b - a < e:print((a+b)/2)elif a1 < b1:print((a+b1)/2)six18(function, a, b1)elif a1 > b1:print((a1+b)/2)six18(function, a1, b)else:print((a1+b1)/2)    # 最低点在两值中间if __name__ == "__main__":six18(function, 31, 90)

过了几天发现了一个小问题,这里把改完的放在下面。

把它写成标准的函数返回值的调用方式

def function(x):return (x-60.1234535678)*(x-60.1234535678)def six18(f, a, b):e = 0.000001r = 0.618b1 = a + r*(b-a)a1 = b - r*(b-a)if b - a < e:return (a+b)/2elif f(a1) < f(b1):print((a+b1)/2)return six18(function, a, b1)elif f(a1) > f(b1):print((a1+b)/2)return six18(function, a1, b)else:return (a1+b1)/2    # 最低点在两值中间# print(six18(function, 3, 90))

python0.618方法相关推荐

  1. 0.618方法matlab流程图,0.618法的matlab实现

    (3)从上述计算结果可以看出,利用 MATLAB 实现的黄金分割法,通过 14 次 迭代可以满足收敛精度要求,并且计算结果和理论结果基本一致,误差为 (1.0013) (1) 0....... 暂无评 ...

  2. 牛顿(Newton)方法

    1.基本Newton方法 设f(x)f(x)具有连续的二阶偏导数,当前迭代点是xk.f(x)x_k. f(x)在xkx_k处的TaylorTaylor展开式为 f(xk+d)=fk+gTkd+12dT ...

  3. 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群

    作者:Jeffrey Hunter 了解如何以低于 2,700 美元的费用在 Oracle Enterprise Linux 上安装并配置 Oracle RAC 11g 第 2 版开发集群. 本指南中 ...

  4. Java面试题大全2021版

    一.Java 基础 JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java Run ...

  5. 2022淘宝618超级喵运会玩法来了 超级喵运会有哪些攻略方法

    2022年的618活动终于开始了,大家是不是还没搞清楚今年的规则?我们来一起看一下! 手机淘宝搜索:今天买买买,每天领红包,最高22888元!持续到6.20号! 手机京东搜索:能省就省580,每天领红 ...

  6. 真·根除天猫618超级狂欢红包广告方法,亲测有用!!!利用防火墙阻止连接

    发现第一次更新的方法还是不能绝杀 所以继续搜索了一段时间,总结了三种方法,这波必给它绝杀! 前言 最近临近618 电脑莫名其妙出现了个广告 从后台看出来我什么都没开吧,微信是我开起来截图用的,不存在广 ...

  7. #红包节奏#领2019天猫618超级红包方法

    #红包节奏#领2019天猫618超级红包方法 天猫618超级红包第一波 发放时间:5.29一6.12 用户规则:用户每天有3次抽奖机会 使用时间:6.01一6.12 天猫618超级红包第二波 发放时间 ...

  8. 抢购茅台,618只能用这种方法

    今天就给大家介绍一个抢购茅台的小技巧,不需要安装Python,不需要配置环境,就和你在电脑上安装使用QQ等软件一样. 是 .exe 文件,点击 main.exe 就能运行 但是有个前提是需要更改 ei ...

  9. 根除任务栏天猫618超级狂欢红包广告方法,亲测有用

    一.试一下这个链接的方法 https://blog.csdn.net/m0_46108436/article/details/106517189?utm_source=blogxgwz7?utm_me ...

最新文章

  1. Windbg学习使用
  2. VC++ 打开文件夹,保存文件等对话框的调用
  3. UVa 11059 - Maximum Product
  4. PHP开发调试环境配置(基于wampserver+Eclipse for PHP Developers )
  5. 在linux下安装matlab2013a的经验
  6. OpenCV | 基于OpenCV的双目图像采集源代码(相机标定)
  7. 神圣的傻瓜,善良的杰克·凯鲁亚克:纪念《在路上》50年
  8. springboot自动配置的原理_SpringBoot实战:详解SpringBoot自动配置原理
  9. matlab圆柱饶流,有限元法解二维圆柱绕流问题.pdf
  10. SAP License:市场需要双重SAP顾问
  11. PCL中把点云拟合成曲面(附源代码)
  12. 2020年六十款数据分析的可视化工具推荐
  13. 何为全栈工程师?你是否应该成为一名全栈工程师?
  14. SPSS数据分析之分类变量频率分析
  15. oracle x$bh 权限,关于Oracle的事务
  16. Wordpress主题制作基础教程
  17. C语言 | 条件运算符
  18. Windows的重要服务端口135/137/138/139/445
  19. 基于线性回归对男性体脂率的预测
  20. 知识图谱-KGE-语义匹配-双线性模型-2019:QuatE

热门文章

  1. 三元运算符案例(两只老虎、三个和尚)问题、分析、代码
  2. vscode输入npm install报错
  3. gitlab报错 fatal index-pack failed error RPC failed result
  4. 我的世界服务器宝石系统,我的世界1.9-1.7宝石镶嵌插件
  5. php写html就错误500,php – 简单的html dom解析器返回错误500
  6. 什么是Q-Learning算法?
  7. 金山滨海地图导览(上海南至金山卫铁路22号线)
  8. 视频云转码源码PHP|m3u8切片程序双码率+秒切
  9. MySQL学习路线指南
  10. 究竟什么是CRM(客户关系管理系统)呢?