蒙特卡洛算法是以概率和统计的理论、方法为基础的一种计算方法,将所求解的问题同一定的概率模型相联系;用电子计算机实现统计模拟和抽样,以获得问题的近似解,故又称统计模拟法或统计实验法。

蒙特卡洛算法:蒙特卡洛是美国摩纳哥的一个城市,以赌博闻名于世。蒙特卡洛算法借用这一城市的名称是为了象征性的表明该方法的概率统计特点。蒙特卡洛算法作为一种计算方法,是由S.M.乌拉姆和J.冯诺依曼在20世纪40年代中叶为研制核武器的需要而提出的。

蒙特卡洛方法的基本思想虽然早已被人提出,例如在古典概率中的著名法国数学家布丰利用投针求圆周率Pi值,却很少被使用。直到电子计算机出现后,使得人们可以通过电子计算机来模拟巨大数目的随机试验过程,使得蒙特卡洛方法得到广泛地应用。

用蒙特卡洛投点法计算Pi的值;

在一个边长为a的正方形内一均匀概率随机投点,该点落在此正方形的内切圆中的概率即为内切圆与正方形的面积比值,即:Pi * (a / 2)^2 : a^2 = Pi / 4。

%总的实验次数
n = input('请输入n:');
%落在圆中点的次数
m = 0;
%使用的圆的半径
a = 2;
%循环实验
for i = 1:nx = rand * a / 2;y = rand * a / 2;if (x^2 + y^2 <= (a/2)^2)m = m + 1;end
end
%显示结果
fprintf('当总实验次数n = %d时计算出来的圆周率:Pi = %d\n',n, 4 * m / n);

从实验结果可以分析得出:

1.随着投点的次数增加,圆周率Pi计算的准确率在增加;

2.但当次数达到一定规模时,准确率精度增加在减缓,其原因是生成的随机数是伪随机的,这也是蒙特卡洛算法达不到祖冲之求圆周率精度的内在原因;

3.同时在进行两次的1亿次投点中也可以发现,对于相同的投点数由于实验本身的随机性每次的实验结果是不同的。

蒙特卡洛算法--概率论相关推荐

  1. python实现蒙特卡洛算法_用Python实现基于蒙特卡洛算法小实验

    用Python实现基于蒙特卡洛算法小实验 蒙特卡洛算法思想 蒙特卡洛(Monte Carlo)法是一类随机算法的统称,提出者是大名鼎鼎的数学家冯· 诺伊曼 ,他在20世纪40年代中期用驰名世界的赌城- ...

  2. 从伪随机数的产生到高大上的蒙特卡洛算法(C语言实现)

    一 准备 1 生成任意区间任意大小的伪随机数 2 什么是蒙特卡洛算法 二蒙特卡洛算法的实现 1 pi的蒙特卡洛计算方式 2 特殊图形的蒙特卡洛计算方式 通过这篇短文想说明两个道理: 看似高大上.神秘兮 ...

  3. python实验原理_Python实现蒙特卡洛算法小实验过程详解

    蒙特卡洛算法思想 蒙特卡洛(Monte Carlo)法是一类随机算法的统称,提出者是大名鼎鼎的数学家冯·诺伊曼,他在20世纪40年代中期用驰名世界的赌城-摩纳哥的蒙特卡洛来命名这种方法. 通俗的解释一 ...

  4. 蒙特卡洛 c语言,从伪随机数的产生到高大上的蒙特卡洛算法(C语言实现)

    一 准备 1 生成任意区间任意大小的伪随机数 2 什么是蒙特卡洛算法 二蒙特卡洛算法的实现 1 pi的蒙特卡洛计算方式 2 特殊图形的蒙特卡洛计算方式 通过这篇短文想说明两个道理: 看似高大上.神秘兮 ...

  5. Python:蒙特卡洛算法以及三门问题

    蒙特卡洛算法: 一 .蒙特卡洛算法简介 蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,它是一种思想或者方法的统称,而不是严格意义上的算法.蒙特卡罗方法的起源是1777年由法 ...

  6. 通过Python实现蒙特卡洛算法

    1.蒙特卡洛方法 蒙特卡罗(Monte Carlo)方法,又称随机抽样或统计试验方法,是通过使用随机数(或更常见的伪随机数)来解决很多计算问题的方法,将所求解的问题同一定的概率模型相联系,用计算机实现 ...

  7. 数学建模-基本算法理解-蒙特卡洛算法

    二,蒙特卡洛算法 1.蒙特卡洛算法的来源: 基本思想使用随机数来估算计算的问题. 2.蒙特卡洛算法的基本思想: 3.蒙特卡洛优缺点: 上述图片均来自于百度文库 (觉得讲的很好,这里就不再一一赘述.) ...

  8. 蒙特卡洛算法的MATLAB实现

    一 解决问题 蒙特卡洛算法,即随机取样法,也称为计算机随机模拟方法,源于世界著名赌城--Monte Carlo,算法由此得名. 它是基于概率论的一种计算方法:即通过随机数或者伪随机数来计算比较难以解决 ...

  9. 马尔科夫链蒙特卡洛算法(python)

    文章目录 1 蒙特卡洛算法 1.1 基本思想 1.2 蒙特卡洛积分 1.2.1 求π\piπ 1.2.2 求积分 1.2.2.1 一维积分 1.2.2.2 高维积分 1.3 蒙特卡洛期望估计 1.4 ...

最新文章

  1. tomcat项目自动发布脚本.脚本运行效果
  2. html列表的列选择事件,html5 datalist 选中option选项后的触发事件
  3. 递归生成全排列【C/C++】
  4. 举例说明信息熵、互信息的计算过程
  5. Linux命令:iptables网络防火墙
  6. 作者:纪珍(1982-),女,中国科学院国家空间科学中心副研究员
  7. 使用Spring JDBC时遇到的Software caused connection abort: recv failed问题
  8. 梅耶·马斯克对话邓文迪 直播首秀将上线今日头条、抖音
  9. conda命令没找到的处理方案
  10. 基于表格存储的高性能监控数据存储计算方案
  11. JavaScript对象与创建对象的方式
  12. Linux上将二进制文件转化为c语言数组
  13. HandBrake for Mac功能界面详解
  14. linux centos设置共享目录,在CentOS上配置SAMBA共享目录
  15. 【万字详解】cJSON解析
  16. 砸蛋程序php,基于JQuery+PHP编写砸金蛋中奖程序,jquery中奖_PHP教程
  17. 时间序列预测框架--Darts--快速开始(下)
  18. 无刷直流电机(BLDC)建模与仿真
  19. php新人笔记,PHP的简单小笔记
  20. 日本警方称地震造成3676人死亡7843人下落不明

热门文章

  1. 晋中计算机专业对口大学,山西晋中计算机专业学校排名太重技校专业好
  2. 陕西省计算机高校排名,陕西省高校分档排名:西北大学位居榜首,第二档性价比高实力强...
  3. 洛谷P4343 [SHOI2015]自动刷题机
  4. 用processing生成屏保程序
  5. 智能天线的原理学习与理解
  6. 玩转树莓派之 配置openvino进行神经计算棒2加速
  7. 商标权的一般特征是哪几种
  8. 2023 最新大猿人中控充值系统源码 免授权
  9. 92大陆版杨家将歌词总汇
  10. 谁是王者?百度、阿里和腾讯的大数据发展路线和区别