真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python退火算法在高次方程的應(yīng)用-創(chuàng)新互聯(lián)

,簡介

鳳岡網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

退火算法不言而喻,就是鋼鐵在淬煉過程中失溫而成穩(wěn)定態(tài)時的過程,熱力學上溫度(內(nèi)能)越高原子態(tài)越不穩(wěn)定,而溫度有一個向低溫區(qū)輻射降溫的物理過程,當物質(zhì)內(nèi)能不再降低時候該物質(zhì)原子態(tài)逐漸成為穩(wěn)定有序態(tài),這對我們從隨機復雜問題中找出最優(yōu)解有一定借鑒意義,將這個過程化為算法,具體參見其他資料。

二,計算方程

我們所要計算的方程是f(x) = (x - 2) * (x + 3) * (x + 8) * (x - 9),是一個一元四次方程,我們稱為高次方程,當然這個函數(shù)的開口是向上的,那么在一個無限長的區(qū)間內(nèi)我們可能找不出大值點,因此我們嘗試在較短區(qū)間內(nèi)解最小值點,我們成為最優(yōu)解。

解法1:

毫無疑問,數(shù)學方法多次求導基本可以解出,但是這個過程較復雜,還容易算錯,我就不贅述了,讀者有時間自己可以嘗試解一下。

解法二:

這個解法就是暴力解決了,我們這里只求解區(qū)間[-10,10]上的最優(yōu)解,直接隨機200個點,再除以10(這樣可以得到非整數(shù)橫坐標),再依此計算其縱坐標f(x),min{f(x)}一下,用list的index方法找出最小值對應(yīng)位置就行了,然后畫出圖形大致瞄一瞄。

直接貼代碼:

 import random
 import matplotlib.pyplot as plt
 list_x = []
 # for i in range(1):
 #   #print(random.randint(0,100))
 #   for i in range(0,100):
 #     print("sss",i)
 #
 #   list_x.append(random.randint(0,100))
 for i in range(-100,100):
   list_x.append(i/10)
 print("橫坐標為:",list_x)
 print(len(list_x))
 list_y = []
 for x in list_x:
   # print(x)
   #y = x*x*x - 60*x*x -4*x +6
   y = (x - 2) * (x + 3) * (x + 8) * (x - 9)
   list_y.append(y)
 print("縱坐標為:",list_y)
 #經(jīng)驗證,這里算出來的結(jié)果6.5和最優(yōu)解1549都是對的
 print("最小值為:",min(list_y))
 num = min(list_y)
 print("最優(yōu)解:",list_y.index(num)/10)
 print("第",list_y.index(num)/10-10,"個位置取得最小值")
 plt.plot(list_x, list_y, label='NM')
 #plt.plot(x2, y2, label='Second Line')
 plt.xlabel('X') #橫坐標標題
 plt.ylabel('Y') #縱坐標標題
 #plt.title('Interesting Graph\nCheck it out',loc="right")  #圖像標題
 #plt.title('Interesting Graph\nCheck it out')
 plt.legend()  #顯示Fisrt Line和Second Line(label)的設(shè)置
 plt.savefig('C:/Users/zhengyong/Desktop/1.png')
 plt.show()

網(wǎng)站名稱:Python退火算法在高次方程的應(yīng)用-創(chuàng)新互聯(lián)
新聞來源:http://weahome.cn/article/decssj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部