千家信息网

python怎么用蒙特·卡罗方法求圆周率

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍了python怎么用蒙特·卡罗方法求圆周率的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python怎么用蒙特·卡罗方法求圆周率文章都会有所收获,下面我们
千家信息网最后更新 2026年11月01日python怎么用蒙特·卡罗方法求圆周率

这篇文章主要介绍了python怎么用蒙特·卡罗方法求圆周率的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python怎么用蒙特·卡罗方法求圆周率文章都会有所收获,下面我们一起来看看吧。

蒙特·卡罗方法求圆周率

介绍:

蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。与它对应的是确定性算法。蒙特·卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用广泛。

其实,高中数学里的几何概型(P=阴影部分面积(或区间或体积)/总面积(或区间或体积))就是一种蒙特·卡罗方法。

import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.patches import Circle
# 投点次数n = 10000
# 圆的信息r = 1.0 # 半径a, b = (0., 0.) # 圆心
# 正方形区域边界x_min, x_max = a-r, a+ry_min, y_max = b-r, b+r
# 在正方形区域内随机投点x = np.random.uniform(x_min, x_max, n) # 均匀分布y = np.random.uniform(y_min, y_max, n)
# 计算 点到圆心的距离d = np.sqrt((x-a)**2 + (y-b)**2)
# 统计 落在圆内的点的数目res = sum(np.where(d < r, 1, 0))
# 计算 pi 的近似值(Monte Carlo方法的精髓:用统计值去近似真实值)pi = 4 * res / n
print('pi: ', pi)

spi = 3.1415926535print('这里近似的圆周率与10位的圆周率精确度是: ', (spi - pi)/spi )
# 画个图看看fig = plt.figure() axes = fig.add_subplot(111) axes.plot(x, y,'ro',markersize = 1)plt.axis('equal') # 防止图像变形
circle = Circle(xy=(a,b), radius=r, alpha=0.5)axes.add_patch(circle)
plt.show()

执行结果:

pi:  3.1224这里近似的圆周率与10位的圆周率精确度是:  0.006109211351324613

关于"python怎么用蒙特·卡罗方法求圆周率"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"python怎么用蒙特·卡罗方法求圆周率"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

方法 圆周 圆周率 卡罗 蒙特 统计 知识 精确 体积 内容 区域 区间 圆心 正方 正方形 篇文章 精确度 随机数 中期 几何 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 深圳九邦互联网科技有限公司 广州紫鲸互联网科技有限公司 湖南永感互联网科技有限公司 科技赋能下的互联网金融 互联网科技卖菜 互联网与科技发展 青岛互联网科技公司 互联网科技公司怎么样 互联网 新科技 互联网对科技的发展 苏州五指互联网络科技有限 华夏互联网科技业 互联网科技与大数据专业 注册互联网科技公司经营范围大全 互联网科技大赛获奖感言 雨阳互联网卡科技有限公司 互联网营销推广黑科技 互联网领先科技宣传片 中国科技和美国互联网 青岛互联网科技园 盈实互联网科技 港股互联网科技股 互联网科技视频素材 联恩商钥互联网科技有限公司 银川新华互联网科技职业技术培训学校图片 长沙茂晟互联网科技有限公司 互联网企业科技类企业如何做账 普陀区互联网教育科技管理办法 长沙渺峰互联网科技有限公司 北京瑞云互联网科技有限公司
0