久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

python實現黃金分割法的示例代碼

瀏覽:3日期:2022-06-20 17:50:04
一.問題

python實現黃金分割法的示例代碼

使用黃金分割法來計算

二.代碼

#黃金分割法python求解PPT上第一個例題#因為函數要求解最大值而這個方法一般求解最小值所以把函數取負import numpy as npimport matplotlib.pyplot as pltrate = 0.618034def 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 黃金分割法內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 当雄县| 乾安县| 南召县| 类乌齐县| 来宾市| 玉溪市| 介休市| 策勒县| 竹北市| 兴仁县| 桐柏县| 白城市| 罗定市| 莆田市| 靖边县| 海丰县| 东乡| 林周县| 昌黎县| 廉江市| 景宁| 郴州市| 米泉市| 缙云县| 罗定市| 昂仁县| 湟源县| 霍林郭勒市| 康保县| 高平市| 昌乐县| 昌邑市| 博兴县| 苍山县| 灵川县| 偏关县| 永平县| 廉江市| 滦平县| 丹江口市| 来宾市|