# -*- coding: utf-8 -*-

#黄金分割法python实现

#f(x)=x^4 - 4x^3 - 6x^2 -16x +4极值

#区间[-1,6] e=0.05

import numpy as np

import matplotlib.pyplot as plt

rate = 0.618034

pointset = []

x = 0

y = 0

def f(x):

return 1.0 * (pow(x, 4) - 4 * pow(x, 3) - 6 * pow(x, 2) - 16 * x + 4)

def backtrace(f, a0, b0, accuracy):

a = a0

b = b0

x2 = a + rate*(b - a)

x1 = a + b - x2

f2 = f(x2)

f1 = f(x1)

print x1, x2, '\n'

arr = search(f, a, b, f1, f2, x1, x2, accuracy)

printFunc(f, a, b, arr[0], arr[1])

def search(f, a, b, f1, f2, x1, x2, accuracy):

if f1 <= f2:

if x2 - a < accuracy:

x = x1

y = f1

print x, y

return (x, y)

else:

b = x2

x2 = x1

f2 = f1

x1 = a + b - x2

f1 = f(x1)

print x1, x2, '\n'

return search(f, a, b, f1, f2, x1, x2, accuracy)

else:

if b - x1 < accuracy:

x = x2

y = f2

print x, y

return (x, y)

else:

a = x1

x1 = x2

f1 = f2

x2 = a + b - x1

f2 = f(x2)

print x1, x2, '\n'

return search(f, a, b, f1, f2, x1, x2, accuracy)

#绘制函数图像

def printFunc(f, a, b, x, y):

t = np.arange(a, b, 0.01)

s = f(t)

plt.plot(t, s)

plt.plot([x], [y], 'ro')

plt.show()

backtrace(f, -1, 6, 0.05)

黄金比例编程python_python实现黄金分割法相关推荐

  1. 黄金比例编程python_python中黄金分割法实现方法

    这篇文章主要介绍了python中黄金分割法实现方法,涉及Python数学计算的相关技巧,需要的朋友可以参考下 本文实例讲述了python中黄金分割法实现方法.分享给大家供大家参考.具体实现方法如下: ...

  2. 系统相机裁剪比例_从单反到手机,三种黄金比例构图方法,让你的照片与众不同...

    古埃及金字塔和达芬奇蒙娜丽莎有什么共同之处?它们都是使用黄金比例进行设计的.不管是建筑设计还是绘画,它们都是属于艺术的一种,所以黄金比例也同样适用于摄影构图中.很多优秀的摄影作品都会使用黄金比例的构图 ...

  3. 追求卓越追求完美规范学习_追求新的黄金比例

    追求卓越追求完美规范学习 The golden ratio is originally a mathematical term. But art, architecture, and design a ...

  4. 2018-02-07 水仙花数与黄金比例分割

    水仙花数用for嵌套(三层)实现,实际上只有首位!=0,编程时忽略此处,将i,j,k三个循环计数器的范围均设置为1-9, 导致输出少两个数字:370,407. 另外常规思想应设置三位数i=100,i& ...

  5. 30岁+3笔钱+631黄金比例=成功

    转载链接:http://finance.ifeng.com/money/wealth/mystique/20081013/177462.shtml 拥有自己的事业是人人追逐的理想,恐怕更是不少上班族的 ...

  6. 基于正点原子触摸屏ui设计_基于黄金比例ui%C9%B8的设计系统

    基于正点原子触摸屏ui设计 定义ɸ (Defining ɸ) The golden number, or "phi" in reference to the sculptor Ph ...

  7. 圆形比例分布图怎么做_比例的秘密,教你如何在设计中运用黄金比例

    吉萨金字塔.蒙娜丽莎.Twitter和百事可乐有什么共同点?答案很简单,它们的设计都遵循了黄金比例.作为一个常见的数学比例,黄金比例实际上是从自然界中总结并发现的,用于设计中的时候能赋予作品更多的设计 ...

  8. 自然界中神奇的秘密,黄金比例的应用

    大自然的神奇之处就在于在随时随地都蕴藏着无穷的秘密,今天一块来分享一下黄金比例数字,希望对做IT的你能有一些启发. 一.植物 "黄金角度"生物学家发现植物种类繁多.叶子形态各异,但 ...

  9. PS黄金分割工具:黄金螺旋 黄金三角 黄金比例 三分法

    无论是设计或是摄影构图,合理使用黄金比例可以让你的作品更美观,但是要计算黄金比计算是很麻烦的,所以为大家分享Photoshop黄金分割工具,使用它可以轻易画出黄金螺旋,黄金三角,三分法,对角线等比例. ...

  10. 苹果产品设计中的黄金比例运用

    你研究或者不研究,美就在那里,不偏不移:你发现或者不发现,黄金分割就在那里,不多不少.了解他,发现美,也给自己增加精彩,好作品不会没有依据. 掀开面纱    0.618或者1.618,这个数字是否觉得 ...

最新文章

  1. 微信公众平台开发教程(九)微信公众平台通用开发框架
  2. 精通python-精通Python设计模式
  3. Delphi中DLL或Package窗体载入与显示
  4. LiveVideoStackCon深圳-网络的研究够搞个几辈子
  5. 这款神秘的移动端OCR引擎,如何做到“所见即所得”?
  6. mysql ssd优化测试_MySQL服务器SSD性能问题分析与测试
  7. matlab papr,PAPR问题的MATLAB程序
  8. Smartdrv程序有什么作用
  9. 正品,买东西 去哪里
  10. Java网课基础笔记(20)19-08-02
  11. 在Vue里使用G2地图制作省级地图展示各市级数据
  12. 小米8无法开启位置服务器,小米8 WIFI 蓝牙打不开 GPS无法使用
  13. Dracula这个东西
  14. nolo手柄配对不上_用NOLOHOME玩电脑VR游戏-支持键鼠和游戏手柄
  15. 使用Guardium和WebSphere Application Server监视应用程序用户的数据库活动
  16. esp8266串口 报错ets Jan 8 2013,rst cause:2, boot mode:(3,7)
  17. linux存储群组名称的文件是,群组管理(分组,群组密码,身份切换,常见问题)- 系统管理 -Deepin深度系统用户手册...
  18. Python+Selenium自动化测试项目实战
  19. 冒泡、快速、选择、插入排序以及时间复杂度、空间复杂度的解析
  20. 二十八、JDBC基础编程练习

热门文章

  1. 实时vad(替换webrtcvad)
  2. HTML+CSS---进阶学习03
  3. 关于 Swap file “~.bash_profile.swp“ already exists (已解决)
  4. 软件测试面试题:一个输入手机号获取验证码的页面,说出测试过程
  5. 上线啦,可以定时周期性提醒群成员的机器人
  6. 手把手教你做小米商城-商品展示页面
  7. 【无标题】java学习第二天
  8. 薪酬管理系统功能描述文档
  9. 三 机器人仿真软件Gazebo介绍
  10. 大气颗粒物 PMF 源解析