Falsche Eingabeverteilungen
In dieser Übung arbeitest du weiter mit dem Pi‑Beispiel:

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
Anleitung zur Übung
- Ziehe die
x‑ undy‑Koordinaten im Intervall von −1 bis 1 mitrandom.randint()anstelle der korrekten Funktionrandom.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)