開始使用免費開始

繪製分佈

這些花俏的視覺化讓我們有點離題了。我們還是得解決那個價值百萬的問題:你在帝國大廈能走到第 60 階的機率有多大?

基本上,你想知道的是所有隨機漫步的終點位置。這些終點會形成某種分佈,你可以用長條圖來視覺化。

注意,如果你的程式碼跑很久,可能是你把錯誤的資料拿去畫長條圖了!

本練習屬於課程

Python 中級

檢視課程

練習說明

  • 為了確保模擬次數夠多,放手一搏,將隨機漫步模擬 500 次。
  • np_aw_t 選取最後一列。這裡包含了你模擬的 500 次隨機漫步的終點。把這個 NumPy 陣列存成 ends
  • 使用 plt.hist()ends 繪製長條圖。別忘了用 plt.show() 顯示圖表。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# numpy and matplotlib imported, seed set

# Simulate random walk 500 times
all_walks = []
for i in range(500) :
    random_walk = [0]
    for x in range(100) :
        step = random_walk[-1]
        dice = np.random.randint(1,7)
        if dice <= 2:
            step = max(0, step - 1)
        elif dice <= 5:
            step = step + 1
        else:
            step = step + np.random.randint(1,7)
        if np.random.rand() <= 0.001 :
            step = 0
        random_walk.append(step)
    all_walks.append(random_walk)

# Create and plot np_aw_t
np_aw_t = np.transpose(np.array(all_walks))

# Select last row from np_aw_t: ends
____ = ____[____,____]

# Plot histogram of ends, display plot
____
____
編輯並執行程式碼