您好,登錄后才能下訂單哦!
這篇文章主要介紹了Python如何實(shí)現(xiàn)隨機(jī)游走,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
注:需要python的內(nèi)置函數(shù)random,不需安裝,直接導(dǎo)入即可
import random
-*- coding: utf-8 -*- import matplotlib.pyplot as plt import random position=0#設(shè)置初始位置 walk=[]#保存位置 steps=500#設(shè)置步數(shù)為500步 for i in range(steps): step=1 if random.randint(0,1) else -1#如果隨機(jī)值等于0則step為1,反之為0 position+=step#改變位置(正,負(fù)) walk.append(position) fig=plt.figure()#生成窗口 ax=fig.add_subplot(211)#返回一個(gè)axes對(duì)象,里面的參數(shù)abc表示在一個(gè)figure窗口中,有a行b列個(gè)小窗口,然后本次plot在第c個(gè)窗口中 ax.plot(walk) ax=fig.add_subplot(223) ax.plot(walk) ax=fig.add_subplot(224) ax.plot(walk) plt.show() #print walk#打印每一次的累積步數(shù)
運(yùn)行如下:
需要用到numpy庫(kù)
#-*- coding: utf-8 -*- import matplotlib.pyplot as plt import numpy as np nwalks = 8 nsteps = 500 draws = np.random.randint(0, 2, size=(nwalks, nsteps)) # 0 or 1 steps = np.where(draws > 0, 1, -1)#每一次的步長(zhǎng) walks = steps.cumsum(1)#累積步數(shù) fig = plt.figure() ax = fig.add_subplot(111) for i in range(nwalks): ax.plot(walks[i]) plt.show()
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Python如何實(shí)現(xiàn)隨機(jī)游走”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。