Distribusi input yang keliru
Anda akan melanjutkan dengan contoh pi pada latihan ini:

Apa yang terjadi jika Anda mengubah distribusi probabilitas masukan dari distribusi uniform kontinu (random.uniform()) ke distribusi uniform diskret (random.randint())? Hasil Anda tidak akan andal, karena random.randint() akan mengambil bilangan bulat diskret, sedangkan random.uniform() mengambil angka float kontinu.
Perhatikan nilai pi taksiran yang dihasilkan simulasi ini. Karena distribusi probabilitas yang dipilih tidak tepat, nilainya tidak akan terlalu akurat! Memilih distribusi probabilitas yang benar sangat penting untuk simulasi Monte Carlo, dan kita akan membahas lebih rinci berbagai distribusi pada pelajaran berikutnya agar Anda yakin memilih distribusi yang tepat ke depannya.
random telah diimpor untuk Anda.
Latihan ini adalah bagian dari kursus
Simulasi Monte Carlo di Python
Petunjuk latihan
- Ambil koordinat
xdanypada interval dari -1 hingga 1 menggunakanrandom.randint()alih-alih fungsirandom.uniform()yang benar seperti pada video.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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)