LoslegenKostenlos loslegen

Falsche Eingabeverteilungen

In dieser Übung arbeitest du weiter mit dem Pi‑Beispiel: A graph of a circle inside a square with randomly sampled points

Was passiert, wenn du die Eingabeverteilung von der stetigen Gleichverteilung (random.uniform()) auf die diskrete Gleichverteilung (random.randint()) änderst? Deine Ergebnisse sind nicht zuverlässig, denn random.randint() zieht diskrete ganze Zahlen, während random.uniform() stetige Fließkommazahlen zieht.

Achte auf den geschätzten Pi‑Wert, den diese Simulation erzeugt. Weil die falsche Wahrscheinlichkeitsverteilung gewählt wurde, ist er nicht sehr genau! Die richtige Wahl der Wahrscheinlichkeitsverteilungen ist entscheidend für Monte‑Carlo‑Simulationen. In späteren Lektionen gehen wir ausführlicher auf verschiedene Verteilungen ein, damit du sicher die passende auswählst.

random wurde bereits für dich importiert.

Diese Übung ist Teil des Kurses

Monte-Carlo-Simulationen in Python

Kurs anzeigen

Anleitung zur Übung

  • Ziehe die x‑ und y‑Koordinaten im Intervall von −1 bis 1 mit random.randint() anstelle der korrekten Funktion random.uniform() aus dem Video.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

n = 10000
circle_points = 0 
square_points = 0 
for i in range(n):
    # Sample the x and y coordinates from -1 to 1 using random.randint()
    x = ____
    y = ____
    dist_from_origin = x**2 + y**2
    if dist_from_origin <= 1:
        circle_points += 1
    square_points += 1
pi = 4 * circle_points / square_points
print(pi)
Code bearbeiten und ausführen