Python實現隨機遊走的詳細解釋
1、單一的500步隨機遊走的例子,從0開始,步長為1和-1,且以相等的概率出現。
註:需要python的內置函數random,不需安裝,直接導入即可
import random
-*- coding: utf-8 -*- import matplotlib.pyplot as plt import random position=0#設置初始位置 walk=[]#保存位置 steps=500#設置步數為500步 for i in range(steps): step=1 if random.randint(0,1) else -1#如果隨機值等於0則step為1,反之為0 position+=step#改變位置(正,負) walk.append(position) fig=plt.figure()#生成窗口 ax=fig.add_subplot(211)#返回一個axes對象,裡面的參數abc表示在一個figure窗口中,有a行b列個小窗口,然後本次plot在第c個窗口中 ax.plot(walk) ax=fig.add_subplot(223) ax.plot(walk) ax=fig.add_subplot(224) ax.plot(walk) plt.show() #print walk#打印每一次的累積步數
運行如下:
2、實現多個隨機遊走
需要用到numpy庫
#-*- 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)#每一次的步長 walks = steps.cumsum(1)#累積步數 fig = plt.figure() ax = fig.add_subplot(111) for i in range(nwalks): ax.plot(walks[i]) plt.show()
到此這篇關於Python實現隨機遊走的詳細解釋的文章就介紹到這瞭,更多相關Python 隨機遊走內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- None Found