ПочатиПочніть безкоштовно

Побудуйте розподіл

Усі ці красиві візуалізації трохи відволікли нас від основної мети. Нам іще потрібно розв'язати завдання на мільйон: Яка ймовірність, що ви підніметеся на 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
____
____
Редагувати та запускати код