LoslegenKostenlos starten

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

<Kurs>Monte-Carlo-Simulationen in Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • 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 praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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