Verteilung visuell darstellen

Durch all diese schicken Visualisierungen haben wir jetzt aber komplett unsere eigentliche Aufgabenstellung vergessen. Wir müssen ja immer noch die Millionenfrage beantworten: Mit welcher Wahrscheinlichkeit wirst du die 60. Stufe im Empire State Building erreichen?

Im Grunde willst du die Endpunkte aller simulierten Irrläufe wissen. Diese Endpunkte haben eine bestimmte Verteilung, die du mit einem Histogramm visualisieren kannst.

Wenn die Ausführung deines Codes zu lange dauert, kann es sein, dass du ein Histogramm mit den falschen Daten zeichnest.

Diese Übung ist Teil des Kurses

Python für Fortgeschrittene

Kurs anzeigen

Anleitung zur Übung

  • Damit wir auch wirklich genug Simulationen haben, lass es krachen! Simuliere den Irrlauf 500-mal!
  • Wähle aus np_aw_t die letzte Zeile aus. Sie enthält den Endpunkt aller 500 Irrläufe, die du simuliert hast. Speichere dieses NumPy-Array als ends.
  • Verwende plt.hist(), um ein Histogramm von ends zu erstellen. Vergiss nicht plt.show(), um den Plot anzuzeigen.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

# 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
____
____