1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Mô phỏng Thống kê bằng Python

Connected

Bài tập

Tính giá trị của pi

Bây giờ chúng ta cùng làm một ví dụ kinh điển — ước lượng giá trị của \(\pi\).

Hãy hình dung một hình vuông có cạnh \(2\), tâm tại gốc tọa độ \((0, 0)\), bốn đỉnh lần lượt là \((1, 1), (1, -1), (-1, 1), (-1, -1)\). Diện tích hình vuông này là \(2\times 2 = 4\). Giờ đặt một đường tròn bán kính \(1\) có tâm tại gốc, vừa khít bên trong hình vuông. Diện tích của đường tròn là \(\pi \times \text{radius}^2 = \pi\).

Để ước lượng \(\pi\), bạn lấy mẫu ngẫu nhiên nhiều điểm trong hình vuông này và tính tỉ lệ điểm nằm trong đường tròn (\(x^2 + y^2 <= 1\)). Diện tích của đường tròn khi đó bằng \(4\) lần tỉ lệ này, và đó là giá trị ước lượng của \(\pi\).

Sau bài tập này, bạn sẽ nắm cách dùng mô phỏng để tính toán.

Hướng dẫn

100 XP
  • Kiểm tra giá trị thực của \(\pi\) bằng np.pi trong bảng điều khiển. Khởi tạo sims = 10000 và circle_points = 0.
  • Bên trong vòng lặp for, sinh một điểm (tọa độ x và y) bằng np.random.uniform() trong khoảng từ -1 đến 1, với size=2.
  • Kiểm tra điểm có nằm trong đường tròn đơn vị theo bất đẳng thức \(x^2 + y^2 <= 1\) hay không, gán cho within_circle, và tăng circle_points tương ứng.
  • In giá trị ước lượng \(\pi\) pi_sim bằng 4 lần tỉ lệ số điểm nằm trong đường tròn.