BaşlayınÜcretsiz Başlayın

Pi değerini hesaplama

Şimdi klasik bir örnek üzerinden ilerleyelim: \(\pi\) değerini tahmin etmek.

Köşeleri \((1, 1), (1, -1), (-1, 1), (-1, -1)\) olan ve merkezi orijin \((0, 0)\) olan, kenar uzunluğu \(2\) olan bir kare hayal et. Bu karenin alanı \(2\times 2 = 4\). Şimdi, merkezi orijinde olan ve yarıçapı \(1\) olan bir çemberin bu karenin içine tam olarak oturduğunu düşün. Çemberin alanı \(\pi \times \text{yarıçap}^2 = \pi\) olacaktır.

$\pi$’yi tahmin etmek için bu kare içinde rastgele noktalar örnekler ve çemberin içinde kalan noktaların payını buluruz (\(x^2 + y^2 <= 1\)). Çemberin alanı bu payın \(4\) katıdır ve bu da bize \(\pi\) için tahminimizi verir.

Bu egzersizden sonra, hesaplama için benzetimi (simülasyonu) nasıl kullanacağına dair sağlam bir fikir edinmiş olacaksın.

Bu egzersiz

Python'da İstatistiksel Benzetim

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Konsolda np.pi kullanarak $\pi$’nin gerçek değerine bak. sims’i 10000 ve circle_points’i 0 olarak başlat.
  • for döngüsünün içinde, size=2 olacak şekilde np.random.uniform() ile -1 ile 1 arasında bir nokta (x ve y koordinatları) üret.
  • Noktanın birim çember içinde olup olmadığını \(x^2 + y^2 <= 1\) denklemiyle kontrol et, sonucu within_circle’a ata ve circle_points’i buna göre artır.
  • Çember içinde kalan noktaların payının 4 katı olarak pi_sim \(\pi\) tahminini yazdır.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# 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))
Kodu Düzenle ve Çalıştır