Een grafiek maken van de distributie
Al die fraaie visualisaties hebben ons op een zijspoor gezet. We moeten nog steeds het miljoenenvraagstuk oplossen: Wat is de kans dat je 60 stappen hoog komt op het Empire State Building?
Eigenlijk wil je de eindpunten weten van alle random walks die je hebt gesimuleerd. Deze eindpunten hebben een bepaalde verdeling die je kunt visualiseren met een histogram.
Let op: als je code te lang duurt, ben je misschien een histogram van de verkeerde data aan het maken!
Deze oefening maakt deel uit van de cursus
Python voor gemiddeld niveau
Oefeninstructies
- Zorg dat we genoeg simulaties hebben en ga los: simuleer de random walk 500 keer.
- Selecteer de laatste rij uit
np_aw_t. Deze bevat de eindpunten van alle 500 gesimuleerde random walks. Sla deze NumPy-array op alsends. - Gebruik
plt.hist()om een histogram vanendste maken. Vergeetplt.show()niet om de grafiek weer te geven.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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
____
____