gpt4 book ai didi

python实现黄金分割法的示例代码

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章python实现黄金分割法的示例代码由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

一.问题

python实现黄金分割法的示例代码

使用黄金分割法来计算 。

二.代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#黄金分割法python求解ppt上第一个例题
#因为函数要求解最大值而这个方法一般求解最小值所以把函数取负
 
import numpy as np
import matplotlib.pyplot as plt
 
rate = 0.618034
 
def f(x):
     #求解体积函数公式,乘1.0将结果变为浮点数
     return - 1.0 * x * ( 350 - 2 * x) * ( 260 - 2 * x) 
 
def tarceback(f,a0,b0,accuracy):
     a = a0
     b = b0
     x2 = a + rate * (b - a)
     x1 = b - rate * (b - a)
     f1 = f(x1)
     f2 = f(x2)
     print (x1,x2)
     arr = search(f,a,b,x1,x2,f1,f2,accuracy)
     printfunc(f,a,b,arr[ 0 ],arr[ 1 ])
    
def search(f,a,b,x1,x2,f1,f2,accuracy):
     if f1< = f2:
         if x2 - a<accuracy:
             print (x1,f1)
             return (x1,f1)
         else :
             b = x2
             x2 = x1
             f2 = f1
             x1 = a + b - x2
             f1 = f(x1)
             print (x1,x2)
             return search(f,a,b,x1,x2,f1,f2,accuracy)
     else :
         if b - x1<accuracy:
             print (x2,f2)
             return (x2,f2)
         else :
             a = x1
             x1 = x2
             f1 = f2
             x2 = a + b - x1
             f2 = f(x2)
             print (x1,x2)
             return search(f,a,b,x1,x2,f1,f2,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.plot([x,x],[y, 0 ], 'k--' )
     plt.plot([ 0 ,x],[y,y], 'k--' )
#     plt.annotate(r'$(x,y)$',xy=(x,y))
     plt.show()
 
tarceback(f, 0 , 130 , 0.05 )

三.结果

python实现黄金分割法的示例代码

到此这篇关于python实现黄金分割法的示例代码的文章就介绍到这了,更多相关python 黄金分割法内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文链接:https://blog.csdn.net/weixin_46308081/article/details/116164984 。

最后此篇关于python实现黄金分割法的示例代码的文章就讲到这里了,如果你想了解更多关于python实现黄金分割法的示例代码的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com