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
<Kurs>Monte-Carlo-Simulationen in Python</Kurs>Übungsanweisungen
- Ziehe die
x‑ undy‑Koordinaten im Intervall von −1 bis 1 mitrandom.randint()anstelle der korrekten Funktionrandom.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)