CommencezCommencez gratuitement

Tracer la distribution

Toutes ces belles visualisations nous ont fait dévier un peu. Il nous reste à résoudre la question à un million de dollars : Quelles sont les chances d'atteindre 60 marches de hauteur sur l'Empire State Building?

En gros, vous voulez connaître les points d'arrivée de toutes les marches aléatoires que vous avez simulées. Ces points d'arrivée suivent une certaine distribution que vous pouvez visualiser avec un histogramme.

Notez que si votre code prend trop de temps à s'exécuter, vous tracez peut-être l'histogramme des mauvaises données!

Cette activité fait partie du cours

Python intermédiaire

Voir le cours

Instructions de l’exercice

  • Pour vous assurer d'avoir suffisamment de simulations, allons-y à fond. Simulez la marche aléatoire 500 fois.
  • À partir de np_aw_t, sélectionnez la dernière ligne. Elle contient le point d'arrivée des 500 marches aléatoires que vous avez simulées. Enregistrez ce tableau NumPy sous le nom ends.
  • Utilisez plt.hist() pour construire un histogramme de ends. N'oubliez pas plt.show() pour afficher le graphique.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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
____
____
Modifier et exécuter le code