python项目实战:实现蒙特卡罗方法,求物体阴影面积
2019-05-08 15:15
295 查看
前言
蒙特卡罗方法是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。与它对应的是确定性算法。蒙特·卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用广泛。
上面的是百度百科上面的介绍,接下来让我们一起来看看蒙特卡罗方法在Python的中的应用吧,具有一定的参考价值,代码如下:
以上就是我们做一个简单的圆周率的近似计算,在这个过程中我们要用到随机数,因此需要先使用import numpy as np导入numpy库。
在上面的程序中我们用8000000个随机数进行投放,这样得到的结果会更精确一些,运行程序需要一定的时间,最终得到的结果如下:
小编推荐一个学python的学习qun 975,691720
无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
接下来进入正题,你随便在一个画图工具上描绘一个阴影图片,我们就可以用蒙特卡罗来求它的阴影面积,如下图:
上面的图形是不规则的,我们只需知道在投放大量随机数的情况下,随机数在黑色部分出现的概率,再用总面积相乘即可估算黑色部分的面积。我们知道,黑色的rgb编码为(0,0,0),所以需要统计rgb编码为(0,0,0)时随机数的投放概率即可。
上面的代码可分为两部分,第一个for后面是用蒙特卡罗方法获得的面积的估计值,第二个for后面是用遍历所有像素点的方法获得的面积的精确值,获得两个输出后进行对比。
我们在上面的程序中采用了9000000个随机数,可以看出两个输出结果相差并不大。
以上就小编所分享内容了,希望能够帮助到大家
相关文章推荐
- 蒙特卡罗方法 python 实现2
- python爬虫实战笔记(二)数据缓存mangodb实现类方法
- 超具实战意义的Python项目课程:四周实现爬虫系统 超经典的Python零基础实战化教程
- 传智播客实战taotao项目页面菜单栏Tree的Java实现方法
- Python实战购物车项目的实现参考
- python项目实战:pyqt5实现登录界面模板
- 用蒙特卡罗方法计算区域面积以matlab实现
- 电商项目实战 简单轮播图的两种方法实现
- 蒙特卡罗方法 python 实现
- Python项目实战:实现简单爬取知乎问题下的图片
- 项目实战:几十行代码实现更加强大的Log,全方位输出类-方法-行数-信息
- H2O中的随机森林算法介绍及其项目实战(python实现)
- H2O中的随机森林算法介绍及其项目实战(python实现)
- 零基础新手的Python入门实战宝典(四) —— 如何实现一个想要的功能?(方法或函数)
- python项目实现配置统一管理的方法
- 蒙特卡罗方法(python实现)
- python实现蒙特卡罗方法教程
- 机器学习实战笔记(五):基于概率论的分类方法: 朴素贝叶斯(Python3 实现)
- python项目实战:实现数据可视化三维拟合
- swift项目实战--微博的未登录界面的实现,和监听未登录界面两个按钮的两种实现方法