前言

蒙特卡罗方法是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。与它对应的是确定性算法。蒙特·卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用广泛。

上面的是百度百科上面的介绍,接下来让我们一起来看看蒙特卡罗方法在Python的中的应用吧,具有一定的参考价值,代码如下:

以上就是我们做一个简单的圆周率的近似计算,在这个过程中我们要用到随机数,因此需要先使用import numpy as np导入numpy库。

在上面的程序中我们用8000000个随机数进行投放,这样得到的结果会更精确一些,运行程序需要一定的时间,最终得到的结果如下:

学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习python或者有兴趣学习python的伙伴可以私信回复小编“学习” 获取资料,一起学习

接下来进入正题,你随便在一个画图工具上描绘一个阴影图片,我们就可以用蒙特卡罗来求它的阴影面积,如下图:

上面的图形是不规则的,我们只需知道在投放大量随机数的情况下,随机数在黑色部分出现的概率,再用总面积相乘即可估算黑色部分的面积。我们知道,黑色的rgb编码为(0,0,0),所以需要统计rgb编码为(0,0,0)时随机数的投放概率即可。

上面的代码可分为两部分,第一个for后面是用蒙特卡罗方法获得的面积的估计值,第二个for后面是用遍历所有像素点的方法获得的面积的精确值,获得两个输出后进行对比。

我们在上面的程序中采用了9000000个随机数,可以看出两个输出结果相差并不大。

以上就小编所分享内容了,希望能够帮助到大家

python 随机数_python项目实战:实现蒙特卡罗方法,求物体阴影面积相关推荐

  1. 蒙特卡洛实现python过程_python项目实战:实现蒙特卡罗方法,求物体阴影面积

    前言 蒙特卡罗方法是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法.与它对应的是确定性算法.蒙特·卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算.量子热力学计算.空气动力学计 ...

  2. python架构师培训课程_Python从零到架构师课程 六大阶段Python高级课程+项目实战 尚学堂全方位Python课程...

    Python从零到架构师课程  六大阶段Python高级课程+项目实战 尚学堂全方位Python课程 3.JPG (31.16 KB, 下载次数: 1) 2019-9-17 23:36 上传 2.JP ...

  3. Python和Java结合的项目实战_[项目实战] Python高级教程项目实战篇 Python和Java结合的项目实战 视频教程 [...

    资源介绍 课程简介:xa0xa0 Python高级教程项目实战篇 Python和Java结合的项目实战 视频教程 教学视频 ----------------------课程目录 Python项目实战篇 ...

  4. pytest测试实战 电子书_电子书丨Selenium 3+Python 3自动化测试项目实战:从菜鸟到高手...

    ▊<Selenium 3+Python 3自动化测试项目实战:从菜鸟到高手> 田春成 著 电子书售价:39.5元 2019年9月出版 Selenium是目前非常流行的一种自动化测试工具.本 ...

  5. python3自动化测试书籍推荐_免费送书 | 《Selenium 3+Python 3自动化测试项目实战:从菜鸟到高手》...

    点击上方蓝色字体,关注我们 免费送书 2019年就剩「2个月」了,你的读书计划进行得如何? 莫踌躇,光荣之路马上送你本书! 读完它,请为你的2019年画上个美丽的圈圈! <Selenium 3+ ...

  6. Python机器学习/数据挖掘项目实战 波士顿房价预测 回归分析

    Python机器学习/数据挖掘项目实战 波士顿房价预测 回归分析 此数据源于美国某经济学杂志上,分析研究波士顿房价( Boston HousePrice)的数据集. 在这个项目中,你将利用马萨诸塞州波 ...

  7. python爬虫项目实战教学视频_('[Python爬虫]---Python爬虫进阶项目实战视频',)

    爬虫]---Python 爬虫进阶项目实战 1- Python3+Pip环境配置 2- MongoDB环境配置 3- Redis环境配置 4- 4-MySQL的安装 5- 5-Python多版本共存配 ...

  8. Matlab仿真-蒙特卡罗方法求半径为1圆的面积

    试用蒙特卡罗方法求出半径为1的圆的面积,并与理论值对比. (1)数学模型.         设有两个相互独立的随机变量x,y,服从[0 2]上的均匀分布.那么,由它们所确定的坐标点(x,y)均匀分布于 ...

  9. 7-3 蒙特卡罗方法求圆周率 (15 分)(Java)

    7-3 蒙特卡罗方法求圆周率 (15 分)(Java) 可算写出来了 使用蒙特卡洛仿真方法求圆周率.(具体要求见作业指导书 2020-OO第05次作业-2指导书V1.0.pdf ) 输入格式: 从键盘 ...

最新文章

  1. 【Qt】ubuntu14.04+qt5.6+opencv2.4编程注意事项
  2. vue css 应用变量_如何使用CSS Grid和CSS变量快速为应用创建原型
  3. 依赖注入Dagger2详解
  4. 分组密码的工作模式--wiki
  5. 树莓派2+无线网卡=钓鱼热点
  6. 九十九、Python所学经验分享
  7. java中的strictfp的作用
  8. Servlet使用适配器模式进行增删改查案例(Emp.java)
  9. HDU2067(卡特兰数)
  10. 爱链工具怎么使用 爱链工具详细使用图文教程
  11. 简单的窗体抖动托管c++
  12. 测试经验谈:测试人怎么从 0—1 进化
  13. 自己做网站需要掌握哪些知识?
  14. 用html制作四行四列的表格,HTML表格
  15. 英语面试常用口语900句
  16. 69张图回顾2021和看透2022
  17. wps文字如何取消英文首字母输入时自动变大写
  18. PHP 屏幕亮度,window_Win8系统 调节电脑屏幕亮度的四种方法,第一页:Win8系统下调节电脑屏 - phpStudy...
  19. JS循环输出数组及数组键值
  20. 红米有android,超23款小米、红米升Android O以上系统,日前又一款尝鲜Andro

热门文章

  1. 银行招聘笔试中行测和综合知识复习心得
  2. zynq开发系列2:GPIO连接MIO控制LED闪烁
  3. 19年全国数学建模比赛A题代码(简单的迭代思想)
  4. 01-操作数组的方法
  5. 刷题总结——Tree2cycle(hdu4714 树形dp)
  6. WIN8系统中 任务管理器 性能栏 显示CPU利用率(已暂停)怎么回事?
  7. iOS开发-使用Storyboard进行界面跳转及传值
  8. 2:url有规律的多页面爬取
  9. 《转》通往高级工程师的道路
  10. X-UA-Compatible IE=edge,chrome=1