网站建设基础考试,素材网站个人做的,网络毕业设计,wordpress js验证码插件蒙特卡洛算法#xff0c;是一种以概率统计理论为指导的一类非常的数值计算方法#xff0c;是指使用随机数来解决很多计算问题的方法。应用一#xff1a;用蒙特卡洛算法求解圆周率思路#xff1a;在直角座标系中选取x[-1,1],y[-1,1]的正方形区域#xff0c;其内接圆是以原点…蒙特卡洛算法是一种以概率统计理论为指导的一类非常的数值计算方法是指使用随机数来解决很多计算问题的方法。应用一用蒙特卡洛算法求解圆周率思路在直角座标系中选取x[-1,1],y[-1,1]的正方形区域其内接圆是以原点为圆心1为半径的单位圆。在这一矩形区域中随机产生大量的点判断这些点在圆内的比例以此来得到圆周率。实现代码from random import *from math import *times 100000count 0for i in range(times):x uniform(-1,1) #产生(-11)之间的随机浮点数y uniform(-1,1)if x*x y*y 1: #统计在圆内的点count 1pi count * 4.0 / times #此时圆的面积就是π的值面积等于矩形面积乘于比例值print(pi)运行结果对于更多产生随机数的方法可见链接http://blog.csdn.net/junli_chen/article/details/53666274应用二蒙特卡洛算法计算自然常数e要求解自然常数e就必须找到求解e的模型下面提供一种求e的方法。对于积分的结果为ln2其对应的图像大致如下利用蒙特卡洛算法计算出A的面积假设总共有m个随机数在阴影部分的有n个那么A的面积为n/m*1。在实验数据量很大时应该有n/mln2. 经过转换可得到自然常数e 2^(m/n).所以求解e的python实现代码如下from random import *from math import *times 1000000count 0for i in range(times):x uniform(1,2) #产生(12)之间的随机浮点数y uniform(0,1)if x*y1:count 1e1 pow(2,times/count) # e 2^(m/n)print(e1)结果相关算法的参考在如下链接中http://blog.csdn.net/ACdreamers/article/details/44978591