Python 蒙特卡罗方法求解圆周率 π
好的,我可以帮助你使用蒙特卡罗方法求解π。蒙特卡罗方法是一种通过随机采样和统计模拟来解决问题的方法,适用于求解π这样的数值问题。下面是一个使用Python实现的例子:
import random
def estimate_pi(num_samples):
points_inside_circle = 0
points_total = num_samples
for _ in range(num_samples):
x = random.uniform(0, 1)
y = random.uniform(0, 1)
distance = x ** 2 + y ** 2
if distance <= 1:
points_inside_circle += 1
# 计算π的近似值
pi_estimate = 4 * (points_inside_circle / points_total)
return pi_estimate
# 设置样本数量
num_samples = 1000000
# 通过蒙特卡罗方法求解π的近似值
pi_approx = estimate_pi(num_samples)
print('π的近似值为:', pi_approx)
在上面的代码中,我们定义了一个estimate_pi函数,该函数接受一个参数num_samples,表示采样点的数量。在循环中,我们随机生成x和y的值,并计算点到原点的距离。如果该距离小于等于1,则认为点在一个以原点为圆心、半径为1的圆内。统计落在圆内的点的数量,并根据统计结果计算π的近似值。
运行代码后,会输出π的近似值。你可以根据需要增加num_samples的值来提高近似的精度。
原文地址: http://www.cveoy.top/t/topic/vTD 著作权归作者所有。请勿转载和采集!