ПочатиПочніть безкоштовно

Обчислення значення числа пі

Тепер розгляньмо класичний приклад — оцінювання значення \(\pi\).

Уявіть квадрат із стороною \(2\) та центром у початку координат \((0, 0)\). Його чотири кути мають координати \((1, 1), (1, -1), (-1, 1), (-1, -1)\). Площа цього квадрата дорівнює \(2\times 2 = 4\). Тепер уявіть коло радіуса \(1\) з центром у початку координат, яке точно вписується в цей квадрат. Площа кола буде \(\pi \times \text{radius}^2 = \pi\).

Щоб оцінити \(\pi\), ми випадково вибираємо багато точок у цьому квадраті й обчислюємо частку точок, що лежать усередині кола (\(x^2 + y^2 <= 1\)). Тоді площа кола дорівнює \(4\) помножити на цю частку, що й дає нам оцінку \(\pi\).

Після цієї вправи ви зрозумієте, як використовувати імітаційне моделювання для обчислень.

Ця вправа є частиною курсу

Статистичне моделювання в Python

Переглянути курс

Інструкції до вправи

  • Перевірте точне значення \(\pi\), використавши np.pi у консолі. Ініціалізуйте sims значенням 10000 і circle_points значенням 0.
  • У циклі for згенеруйте точку (координати x та y) за допомогою np.random.uniform() у діапазоні від -1 до 1 із size=2.
  • Перевірте, чи точка лежить у одиничному колі за рівнянням \(x^2 + y^2 <= 1\), присвойте результат у within_circle і відповідно збільшуйте circle_points.
  • Виведіть оцінку $\pipi_sim` як 4, помножене на частку точок, що лежать у колі.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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))
Редагувати та запускати код