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
Ö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 somends. - Använd
plt.hist()för att skapa ett histogram överends. Glöm inteplt.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
____
____