Menghitung nilai pi
Sekarang kita akan mengerjakan contoh klasik — mengestimasi nilai \(\pi\).
Bayangkan sebuah persegi dengan panjang sisi \(2\) dan titik asal \((0, 0)\) sebagai pusatnya, serta keempat sudutnya memiliki koordinat \((1, 1), (1, -1), (-1, 1), (-1, -1)\). Luas persegi ini adalah \(2\times 2 = 4\). Sekarang bayangkan sebuah lingkaran berjari-jari \(1\) dengan pusat di titik asal yang pas berada di dalam persegi ini. Luas lingkaran tersebut adalah \(\pi \times \text{radius}^2 = \pi\).
Untuk mengestimasi \(\pi\), kita mengambil sampel acak sejumlah titik di dalam persegi ini dan menghitung fraksi titik yang berada di dalam lingkaran (\(x^2 + y^2 <= 1\)). Luas lingkaran kemudian adalah \(4\) kali fraksi ini, yang memberikan estimasi \(\pi\).
Setelah latihan ini, Anda akan memahami cara menggunakan simulasi untuk komputasi.
Latihan ini adalah bagian dari kursus
Simulasi Statistik di Python
Petunjuk latihan
- Periksa nilai sebenarnya dari \(\pi\) menggunakan
np.pidi konsol. Inisialisasisimske 10000 dancircle_pointske 0. - Di dalam
forloop, hasilkan sebuah titik (koordinat x dan y) menggunakannp.random.uniform()antara -1 dan 1, dengansize=2. - Periksa apakah titik tersebut berada di dalam lingkaran satuan dengan persamaan \(x^2 + y^2 <= 1\), simpan pada
within_circle, dan tambahkancircle_pointssesuai. - Cetak estimasi $\pi
pi_sim` sebagai 4 kali fraksi titik yang berada di dalam lingkaran.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Initialize sims and circle_points
sims, circle_points = ____, ____
for i in range(sims):
# Generate the two coordinates of a point
point = ____
# if the point lies within the unit circle, increment counter
within_circle = point[0]**2 + point[1]**2 <= 1
if ____ == True:
circle_points +=1
# Estimate pi as 4 times the avg number of points in the circle.
pi_sim = ____
print("Simulated value of pi = {}".format(pi_sim))