下面是一个简单的蒙特卡洛模拟的 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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录