Felaktig deterministisk beräkning
I den här övningen och nästa får du utforska pi-beräkningarna från videon för att förstå hur viktig varje steg i simuleringsprocessen är.
Kom ihåg att simuleringen för att hitta pi genererar slumpmässiga punkter \((x, y)\) där \(x\) och \(y\) ligger mellan -1 och 1, som visas i grafen nedan.

Vad händer om du ändrar den deterministiska beräkningen fel – den som avgör om en punkt ska läggas till i circle_points? Hur påverkar det slutresultatet? Det konstiga värde du får för pi visar tydligt att korrekta deterministiska beräkningar är avgörande för Monte Carlo-simuleringar!
random har redan importerats åt dig.
Den här övningen är en del av kursen
Monte Carlo-simuleringar i Python
Övningsinstruktioner
- Öka
circle_pointsför varje punkt vars avstånd från origo är mindre än 0,75 (i stället för ett, som visades i videon).
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
n = 10000
circle_points = 0
square_points = 0
for i in range(n):
x = random.uniform(-1, 1)
y = random.uniform(-1, 1)
dist_from_origin = x**2 + y**2
# Increment circle_points for any point with a distance from origin of less than .75
if ____:
circle_points += 1
square_points += 1
pi = 4 * circle_points / square_points
print(pi)