Kom igångKom igång gratis

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.

A graph of a circle inside a square with randomly sampled points

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

Visa kurs

Övningsinstruktioner

  • Öka circle_points fö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)
Redigera och kör kod