熱線電話:13121318867

登錄
首頁精彩閱讀Python模擬隨機游走圖形效果示例
Python模擬隨機游走圖形效果示例
2018-02-11
收藏

Python模擬隨機游走圖形效果示例

本文實例講述了Python模擬隨機游走圖形效果。分享給大家供大家參考,具體如下:

python中,可以利用數組操作來模擬隨機游走。

下面是一個單一的200步隨機游走的例子,從0開始,步長為1和-1,且以相等的概率出現。純Python方式實現,使用了內建的 random 模塊:


# 隨機游走
importmatplotlib.pyplot as plt
importrandom
position=0
walk=[position]
steps=200
foriinrange(steps):
  step=1ifrandom.randint(0,1)else-1
  position+=step
  walk.append(position)
fig=plt.figure()
plt.title("www.jb51.net")
ax=fig.add_subplot(111)
ax.plot(walk)
plt.show()

第二種方式:簡單的把隨機步長累積起來并且可以可以使用一個數組表達式來計算。因此,我用 np.random 模塊去200次硬幣翻轉,設置它們為1和-1,并計算累計和:

# 隨機游走
importmatplotlib.pyplot as plt
importnumpy as np
nsteps=200
draws=np.random.randint(0,2, size=nsteps)
steps=np.where(draws >0,1,-1)
walk=steps.cumsum()
fig=plt.figure()
plt.title("www.jb51.net")
ax=fig.add_subplot(111)
ax.plot(walk)
plt.show()

一次模擬多個隨機游走

# 隨機游走
importmatplotlib.pyplot as plt
importnumpy as np
nwalks=5
nsteps=200
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()
plt.title("www.jb51.net")
ax=fig.add_subplot(111)
foriinrange(nwalks):
  ax.plot(walks[i])
plt.show()

當然,還可以大膽的試驗其它的分布的步長,而不是相等大小的硬幣翻轉。你只需要使用一個不同的隨機數生成函數,如 normal 來產生相同均值和標準偏差正態分布

steps=np.random.normal(loc=0, scale=0.25, size=(nwalks, nsteps))



數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢