Побудуйте розподіл
Усі ці красиві візуалізації трохи відволікли нас від основної мети. Нам іще потрібно розв'язати завдання на мільйон: Яка ймовірність, що ви підніметеся на 60 сходинок вгору на Empire State Building?
Фактично, вас цікавлять кінцеві точки всіх змодельованих випадкових блукань. Ці кінцеві точки мають певний розподіл, який можна показати на гістограмі.
Зауважте: якщо ваш код працює надто довго, можливо, ви будуєте гістограму не тих даних!
Ця вправа є частиною курсу
Intermediate 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
____
____