返回顶部

收藏

蒙特卡罗法计算圆周率

更多

蒙特卡罗法又称随机抽样技巧法或统计试验法,,其基本原理如下:由概率定义知,某事件的概率可以用大量试验中该事件发生的频率来估算,当样本容量足够大时,可以认为该 事件的发生频率即为其概率。

考虑平面上的一个边长为r的正方形及其内切圆,如何求出这个“图形”的面积呢?Monte Carlo方法是这样一种“随机化”的方法:向该正方形“随机地”投掷N个 点,而落于圆内的点数为M,则下列等式约成立:PI(r/2)(r/2)/rr=M/N 故PI=4M/N。

from random import random

n=10**6
print sum(1 if random()**2 + random()**2 < 1 else 0 for i in range(n))*4.0/n
#该片段来自于http://outofmemory.cn

标签:python,算法

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. fox64194167 发表 2018-05-26 23:35:27 python 两个数组的交集 intersection of two arrays
  2. Yushneng 发表 2016-04-25 13:51:00 可视化图的基本算法
  3. Yusheng 发表 2016-06-29 20:16:49 哈夫曼编码 —— Lisp 与 Python 实现
  4. fox64194167 发表 2018-05-26 22:31:24 python 找不同 Find the Difference
  5. 老高 发表 2018-08-13 15:41:35 python 堆排序算法
  6. TLHL28 发表 2011-05-23 03:20:37 triple_des(des3) 算法 - php,python 实现
  7. rainy 发表 2015-09-02 15:52:26 网页正文及内容图片提取算法
  8. 数控小V 发表 2016-02-17 03:14:02 机器学习算法 Python&R 速查表
  9. youngsterxyf 发表 2012-11-21 16:00:00 pi的一种并行算法
  10. 姚 广远 发表 2015-06-19 00:23:25 用Python实现各种排序算法
  11. 上官 江 发表 2012-12-02 11:18:18 RC4算法Python实现
  12. 0X55AA 发表 2014-08-12 07:09:15 pyrasite项目总结为一条命令

发表评论