Kom igångKom igång gratis

Plotta fördelningen

Alla dessa snygga visualiseringar har fått oss att tappa fokus. Vi behöver fortfarande lösa miljondollarfrågan: Hur stor är chansen att du når 60 steg upp i Empire State Building?

Du vill i princip veta vad slutpunkterna är för alla slumpmässiga promenader du har simulerat. Dessa slutpunkter har en viss fördelning som du kan visualisera med ett histogram.

Observera att om din kod tar för lång tid att köra kan det hända att du plottar ett histogram över fel data!

Den här övningen är en del av kursen

Intermediate Python

Visa kurs

Övningsinstruktioner

  • Se till att vi har tillräckligt med simuleringar – kör på ordentligt. Simulera den slumpmässiga promenaden 500 gånger.
  • Välj den sista raden från np_aw_t. Den innehåller slutpunkten för alla 500 slumpmässiga promenader du har simulerat. Lagra denna NumPy-array som ends.
  • Använd plt.hist() för att skapa ett histogram över ends. Glöm inte plt.show() för att visa plotten.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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
____
____
Redigera och kör kod