НачатьНачать бесплатно

Визуализация распределения

Увлекательные визуализации немного отвлекли нас от главного. Нам всё ещё нужно решить задачу на миллион: какова вероятность того, что вы поднимитесь на 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
____
____
Редактировать и запускать код