黄金比例编程python_python实现黄金分割法
# -*- 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实现黄金分割法相关推荐
- 黄金比例编程python_python中黄金分割法实现方法
这篇文章主要介绍了python中黄金分割法实现方法,涉及Python数学计算的相关技巧,需要的朋友可以参考下 本文实例讲述了python中黄金分割法实现方法.分享给大家供大家参考.具体实现方法如下: ...
- 系统相机裁剪比例_从单反到手机,三种黄金比例构图方法,让你的照片与众不同...
古埃及金字塔和达芬奇蒙娜丽莎有什么共同之处?它们都是使用黄金比例进行设计的.不管是建筑设计还是绘画,它们都是属于艺术的一种,所以黄金比例也同样适用于摄影构图中.很多优秀的摄影作品都会使用黄金比例的构图 ...
- 追求卓越追求完美规范学习_追求新的黄金比例
追求卓越追求完美规范学习 The golden ratio is originally a mathematical term. But art, architecture, and design a ...
- 2018-02-07 水仙花数与黄金比例分割
水仙花数用for嵌套(三层)实现,实际上只有首位!=0,编程时忽略此处,将i,j,k三个循环计数器的范围均设置为1-9, 导致输出少两个数字:370,407. 另外常规思想应设置三位数i=100,i& ...
- 30岁+3笔钱+631黄金比例=成功
转载链接:http://finance.ifeng.com/money/wealth/mystique/20081013/177462.shtml 拥有自己的事业是人人追逐的理想,恐怕更是不少上班族的 ...
- 基于正点原子触摸屏ui设计_基于黄金比例ui%C9%B8的设计系统
基于正点原子触摸屏ui设计 定义ɸ (Defining ɸ) The golden number, or "phi" in reference to the sculptor Ph ...
- 圆形比例分布图怎么做_比例的秘密,教你如何在设计中运用黄金比例
吉萨金字塔.蒙娜丽莎.Twitter和百事可乐有什么共同点?答案很简单,它们的设计都遵循了黄金比例.作为一个常见的数学比例,黄金比例实际上是从自然界中总结并发现的,用于设计中的时候能赋予作品更多的设计 ...
- 自然界中神奇的秘密,黄金比例的应用
大自然的神奇之处就在于在随时随地都蕴藏着无穷的秘密,今天一块来分享一下黄金比例数字,希望对做IT的你能有一些启发. 一.植物 "黄金角度"生物学家发现植物种类繁多.叶子形态各异,但 ...
- PS黄金分割工具:黄金螺旋 黄金三角 黄金比例 三分法
无论是设计或是摄影构图,合理使用黄金比例可以让你的作品更美观,但是要计算黄金比计算是很麻烦的,所以为大家分享Photoshop黄金分割工具,使用它可以轻易画出黄金螺旋,黄金三角,三分法,对角线等比例. ...
- 苹果产品设计中的黄金比例运用
你研究或者不研究,美就在那里,不偏不移:你发现或者不发现,黄金分割就在那里,不多不少.了解他,发现美,也给自己增加精彩,好作品不会没有依据. 掀开面纱 0.618或者1.618,这个数字是否觉得 ...
最新文章
- 微信公众平台开发教程(九)微信公众平台通用开发框架
- 精通python-精通Python设计模式
- Delphi中DLL或Package窗体载入与显示
- LiveVideoStackCon深圳-网络的研究够搞个几辈子
- 这款神秘的移动端OCR引擎,如何做到“所见即所得”?
- mysql ssd优化测试_MySQL服务器SSD性能问题分析与测试
- matlab papr,PAPR问题的MATLAB程序
- Smartdrv程序有什么作用
- 正品,买东西 去哪里
- Java网课基础笔记(20)19-08-02
- 在Vue里使用G2地图制作省级地图展示各市级数据
- 小米8无法开启位置服务器,小米8 WIFI 蓝牙打不开 GPS无法使用
- Dracula这个东西
- nolo手柄配对不上_用NOLOHOME玩电脑VR游戏-支持键鼠和游戏手柄
- 使用Guardium和WebSphere Application Server监视应用程序用户的数据库活动
- esp8266串口 报错ets Jan 8 2013,rst cause:2, boot mode:(3,7)
- linux存储群组名称的文件是,群组管理(分组,群组密码,身份切换,常见问题)- 系统管理 -Deepin深度系统用户手册...
- Python+Selenium自动化测试项目实战
- 冒泡、快速、选择、插入排序以及时间复杂度、空间复杂度的解析
- 二十八、JDBC基础编程练习
热门文章
- 实时vad(替换webrtcvad)
- HTML+CSS---进阶学习03
- 关于 Swap file “~.bash_profile.swp“ already exists (已解决)
- 软件测试面试题:一个输入手机号获取验证码的页面,说出测试过程
- 上线啦,可以定时周期性提醒群成员的机器人
- 手把手教你做小米商城-商品展示页面
- 【无标题】java学习第二天
- 薪酬管理系统功能描述文档
- 三 机器人仿真软件Gazebo介绍
- 大气颗粒物 PMF 源解析