本文实例讲述了python中黄金分割法实现方法。分享给大家供大家参考。具体实现方法如下:
''' a,b = bracket(f,xStart,h) Finds the brackets (a,b) of a minimum point of the user-supplied scalar function f(x). The search starts downhill from xStart with a step length h. x,fMin = search(f,a,b,tol=1.0e-6) Golden section method for determining x that minimizes the user-supplied scalar function f(x). The minimum must be bracketed in (a,b). ''' from math import log, ceil def bracket(f,x1,h): c = 1.618033989 f1 = f(x1) x2 = x1 + h; f2 = f(x2) # Determine downhill direction and change sign of h if needed if f2 > f1: h = -h x2 = x1 + h; f2 = f(x2) # Check if minimum between x1 - h and x1 + h if f2 > f1: return x2,x1 - h # Search loop for i in range (100): h = c*h x3 = x2 + h; f3 = f(x3) if f3 > f2: return x1,x3 x1 = x2; x2 = x3 f1 = f2; f2 = f3 print "Bracket did not find a mimimum" def search(f,a,b,tol=1.0e-9): nIter = int(ceil(-2.078087*log(tol/abs(b-a)))) # Eq. (10.4) R = 0.618033989 C = 1.0 - R # First telescoping x1 = R*a + C*b; x2 = C*a + R*b f1 = f(x1); f2 = f(x2) # Main loop for i in range(nIter): if f1 > f2: a = x1 x1 = x2; f1 = f2 x2 = C*a + R*b; f2 = f(x2) else: b = x2 x2 = x1; f2 = f1 x1 = R*a + C*b; f1 = f(x1) if f1 < f2: return x1,f1 else: return x2,f2
希望本文所述对大家的Python程序设计有所帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。

pythn的中文意思是巨蟒、蟒蛇。1989年圣诞节期间,Guido van Rossum在家闲的没事干,为了跟朋友庆祝圣诞节,决定发明一种全新的脚本语言。他很喜欢一个肥皂剧叫Monty Python,所以便把这门语言叫做python。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Dreamweaver CS6
视觉化网页开发工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

WebStorm Mac版
好用的JavaScript开发工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。