绘制分布
这些炫酷的可视化让我们有点跑题了。我们仍需解决价值百万美元的问题:到达帝国大厦第 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
____
____