Simulasi Monte Carlo di Python
Izzy Weber
Curriculum Manager, DataCamp
Definisikan variabel input dan pilih distribusi peluangnya
Hasilkan input dengan sampling dari distribusi tersebut
Lakukan perhitungan deterministik atas input simulasi
Ringkas hasil
Hasilkan titik acak $(x, y)$ dengan $x$ dan $y$ pada interval -1 hingga 1.

$$Area_{circle} = \pi $$
$$Area_{square} = 2 \times 2 = 4 $$
$$\frac{Area_{circle}}{Area_{square}} = \frac{\pi}{4} $$
$$\frac{n_{red}}{n_{all}} = \frac{\pi}{4} $$
$$ \pi = 4 \times \frac{n_{red}}{n_{all}}$$
Definisikan variabel input dan pilih distribusi peluangnya
circle_points = 0
square_points = 0
Hasilkan input dengan sampling dari distribusi tersebut
Sampel nilai koordinat $x$ dan $y$ secara uniform antara -1 dan 1:
for i in range(n):
x = random.uniform(-1, 1)
y = random.uniform(-1, 1)
Lakukan perhitungan deterministik atas input simulasi
Periksa apakah tiap titik berada dalam lingkaran: deterministik untuk $x$ dan $y$
dist_from_origin = x**2 + y**2
Jika ya, tambahkan titik ke circle_points; selalu tambahkan ke square_points
if dist_from_origin <= 1:
circle_points += 1
square_points += 1
Ringkas hasil untuk menjawab pertanyaan utama
Setelah banyak putaran simulasi, hitung nilai pi!
pi = 4 * circle_points/ square_points
n = 4000000 circle_points = 0 square_points = 0for i in range(n): x = random.uniform(-1, 1) y = random.uniform(-1, 1) dist_from_origin = x**2 + y**2 if dist_from_origin <= 1: circle_points += 1 square_point += 1pi = 4 * circle_points / square_points print(pi)
3.142518
Simulasi Monte Carlo di Python