基本概念

蒙特卡罗方法:蒙特卡罗方法于20世纪40年代美国在第二次世界大战中研制原子弹的“曼哈顿计划”计划的成员S.M.乌拉姆和J.冯·诺伊曼首先提出。数学家冯·诺伊曼用驰名世界的赌城—摩纳哥的Monte Carlo—来命名这种方法,为它蒙上了一层神秘色彩。在这之前,蒙特卡罗方法就已经存在。1777年,法国数学家布丰(Georges Louis Leclere de Buffon,1707—1788)提出用投针实验的方法求圆周率π。这被认为是蒙特卡罗方法的起源。

算法思想

当所求解问题是某种随机事件出现的概率,或者是某个随机变量的期望值时,通过某种"实验"的方法,以这种事件出现的频率估计这一随机事件的概率,或者得到这个随机变量的某些数字特征,并将其作为问题的解。

问题分析

通过多次撒点,模拟概率,求面积,而是否在圆内,可以通过到圆心的距离求解,利用计算机的运算速度,可以很快求出圆周率。

撒点次数越多,圆周率就越准确。

源代码

#CalPI.py
from random import random
from math import sqrt
from time import process_time
DARTS=1000
hits=0.0
process_time()
for i in range(1,DARTS+1):x,y=random(),random()dist=sqrt(x**2+y**2)if(dist<=1.0):hits=hits+1
pi=4*(hits/DARTS)
print("PI值是{}.".format(pi))
print("运行时间是:{:.5f}s".format(process_time()))

10e6次

10e7次 

10e8次

10e9次

10e10次

实在跑不了,Python太慢了

参考文章

https://baike.so.com/doc/5989374-6202341.html

https://blog.csdn.net/q1694222672/article/details/81985391

Python——随机法(蒙特卡罗方法)计算圆周率相关推荐

  1. Python用蒙特卡罗方法计算圆周率近似值

    实验目的: 1.理解蒙特Ÿ卡罗方法原理. 2.理解for循环本质与工作原理. 3.了解random模块中常用函数. 实验内容: 蒙特Ÿ卡罗方法是一种通过概率来得到问题近似解的方法,在很多领域都有重要的 ...

  2. Python+numpy实现蒙特卡罗方法估计圆周率近似值

    问题描述:使用蒙特卡罗方法估计圆周率近似值,具体描述详见以前发的文章蒙特.卡罗方法求解圆周率近似值原理与Python实现 技术要点:Python扩展库numpy中的模块random可以批量生成特定范围 ...

  3. 【Python】蒙特卡罗方法计算圆周率及给定随机数种子

    蒙特卡罗方法 利用随机点分布,让随机点足够的多,用指定区域随机点数与总区域随机点数做比值来求取指定区域面积 求解圆周率,在一个正方形中撒点,根据在1/4圆内点的数量占总撒点数的比例计算圆周率值. 代码 ...

  4. Python项目实践:蒙特卡罗方法计算圆周率

    一.数学思维 # CalPi.py n = 100 Pi = 0 for k in range(n):Pi += 1 / pow(16, k) * (4 / (8 * k + 1) - 2 / (8 ...

  5. python:蒙特卡罗方法计算圆周率

    求解圆周率可以采用蒙特卡罗方法,在一个正方形中撒点,根据在1/4圆内点的数量占总撒点数的比例计算圆周率值.‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭ ...

  6. 使用蒙特卡罗方法计算圆周率

    介绍 这个东西网上已经有很多相关的内容了, 我只是对这个过程感兴趣, 所以自己来做了一个. 网上, 大多数纯粹计算的, 对于我这种视觉型的人来说, 还是要看一下比较好. 这里我加入了 matplotl ...

  7. 使用蒙特卡罗方法计算圆周率π Python

    [问题描述] 假设有一个单位圆,其面积就是π, 单位圆的外接正方形的边长为2,故正方形的面积是4 在正方形内随机产生m个点,假设落在圆内的点的数量为n,则n/m近似等于圆与正方形的面积比 也就是n/m ...

  8. 种子数是123,如何用蒙特卡罗方法计算圆周率

    #pi.py from random import random,seed DARTS=eval(input()) seed(123) hits=0.0 for i in range (DARTS): ...

  9. 蒙特卡洛方法计算圆周率

    import random import mathdef calpai():n = 10000000 #随机实验次数r = 1.0 #圆的半径a, b = (0.0, 0.0) #中心点x_neg, ...

  10. 蒙特卡罗(Monte Carlo)方法计算圆周率π

    一.蒙特卡洛(Monte Carlo)方法简介 蒙特卡洛是一个地名,位于赌城摩纳哥,象征概率.蒙特卡洛(Monte Carlo)方法是由大名鼎鼎的数学家冯·诺伊曼提出的,诞生于上世纪40年代美国的&q ...

最新文章

  1. jQuery设置样式 css
  2. “BitPico称BCH98%的节点或位于同一服务器机架中”?
  3. 02 聚类算法 - 相似度距离公式、维度灾难
  4. rsyslog+mysql+loganalyzer 环境搭建日志服务器
  5. jzoj3792,P2062-分队问题【贪心】
  6. activiti6使用
  7. 聚集索引表插入数据和删除数据的方式是怎样的
  8. mysql中dint_mysql常用操作——数据库和表的操作1(共2页)
  9. cad注释比例和打印比例不一样_CAD中输出不同比例图纸效率不高,原因在这里
  10. C语言必背18个经典程序
  11. OSPF多区域配置实例
  12. 跨平台 App 开发引擎 CrossApp
  13. 用形态学及HSV完成车牌照识别
  14. php合同在线签约功能_安居客宣布升级在线签合同功能 推出经纪人线上签约
  15. 2022最新版独立后台国庆头像生成小程序源码+教程
  16. R3Det: Refined Single-Stage Detector with Feature Refinementfor Rotating Object论文学习
  17. python 操作word教程_Python 使用 win32com 模块对word文件进行操作
  18. NVIDIA Jetson AGX Xavier 配置pytorch环境,anaconda,Pycharm
  19. linux安装——管理应用程序
  20. java Spring IOC

热门文章

  1. 计算机房活动记录,兴趣小组活动记录表
  2. excel概率密度函数公式_干货|利用excel公式,快速对定量的化学检测方法进行测量不确定度的评定...
  3. android 相机纹理,Android平台Camera实时滤镜实现方法探讨(五)--GLSurfaceView实现Camera预览...
  4. python播放音乐同步歌词_python终端播放音乐同定制步显示本地或网络歌词
  5. 日照油库系统推荐_生产车间用什么地坪好?这款地面硬化系统使用一年后获车间主任点赞:太省心!| 项目回访...
  6. maya python 弹出窗口_maya python打印状态复选框?
  7. 修改显卡型号软件_马甲显卡又双叕来了 怎么选知道吗?
  8. Java中static的含义和用法
  9. flask mysql 版本_Flask mysql
  10. pyqt5中sender方法介绍_【第五节】PyQt5事件和信号