Python 蒙特卡洛模拟:估计圆周率 π
下面是一个简单的蒙特卡洛模拟的 Python 代码示例,用于估计圆周率π的近似值:
import random
def monte_carlo_pi(n):
num_points_inside_circle = 0
num_points_total = 0
for _ in range(n):
x = random.uniform(0, 1)
y = random.uniform(0, 1)
distance = x**2 + y**2
if distance <= 1:
num_points_inside_circle += 1
num_points_total += 1
pi_approximation = 4 * (num_points_inside_circle / num_points_total)
return pi_approximation
n = 1000000
approx_pi = monte_carlo_pi(n)
print('Approximation of π:', approx_pi)
在这个例子中,我们使用随机生成的点来模拟一个单位正方形内的点,并估计它们是否落在一个单位圆内。我们通过计算落在圆内的点数与总的点数的比例来估计圆周率π的近似值。最后,我们打印出估计的π的值。
请注意,蒙特卡洛模拟的结果是随机的,因此每次运行代码时可能会得到不同的近似值。增加迭代次数(n的值)可以提高估计的准确性。
原文地址: https://www.cveoy.top/t/topic/o0Kf 著作权归作者所有。请勿转载和采集!