Aan de slagGa gratis aan de slag

Onjuiste deterministische berekening

In deze oefening en de volgende ga je aan de slag met de pi-berekeningen uit de video om beter te begrijpen hoe belangrijk elke stap in het simulatieproces is.

Herinner je dat de simulatie om pi te vinden willekeurige punten \((x, y)\) genereert waarbij \(x\) en \(y\) tussen -1 en 1 liggen, zoals in de onderstaande grafiek.

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

Wat gebeurt er als je de deterministische berekening, waarmee je controleert of een punt aan circle_points wordt toegevoegd, per ongeluk verandert? Wat is het effect op het eindresultaat? Je zult aan de vreemde waarde voor pi zien dat het correct specificeren van deterministische berekeningen cruciaal is voor Monte Carlo-simulaties!

random is al voor je geïmporteerd.

Deze oefening maakt deel uit van de cursus

Monte Carlo-simulaties in Python

Cursus bekijken

Oefeninstructies

  • Verhoog circle_points voor ieder punt met een afstand tot de oorsprong kleiner dan 0,75 (in plaats van een afstand van één zoals in de video).

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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)
Code bewerken en uitvoeren