Začněte nyníZačněte zdarma

Nesprávné vstupní rozdělení

V tomto cvičení budeš dál pracovat s příkladem výpočtu čísla pí: A graph of a circle inside a square with randomly sampled points

Co se stane, když změníš vstupní pravděpodobnostní rozdělení ze spojitého rovnoměrného rozdělení (random.uniform()) na diskrétní rovnoměrné rozdělení (random.randint())? Výsledky nebudou spolehlivé, protože random.randint() vzorkuje diskrétní celá čísla, zatímco random.uniform() vzorkuje spojitá desetinná čísla.

Všimni si odhadované hodnoty pí, kterou tato simulace vygeneruje. Protože bylo zvoleno nesprávné pravděpodobnostní rozdělení, výsledek nebude příliš přesný! Výběr správného pravděpodobnostního rozdělení je pro Monte Carlo simulace zásadní – v dalších lekcích se různými rozděleními budeme zabývat podrobněji, abys při jejich výběru měl/a jistotu.

random je již naimportován.

Toto cvičení je součástí kurzu

Monte Carlo simulace v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Vzorkuj souřadnice x a y v intervalu od -1 do 1 pomocí random.randint() místo správné funkce random.uniform() použité ve videu.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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)
Upravit a spustit kód