算法原理:
蒙特卡罗方法也称统计模拟方法,是1940年代中期由于科学技术的发展和电子计算机的发明,而提出的一种以概率统计理论为指导的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。
原理大致如下图所示:
很简单,举个例子就是扔石子到方形区域,区域内有个圆,圆内石子的比例即为圆占方形区域的比例。
Matlab代码:
题目——求定积分:
xrange = unifrnd(0,4,1,1000);% 下界、上界、返回1*1000矩阵(试验次数1000次)
yrange = unifrnd(0,3,1,1000);% 函数下界上界
frq = sum((cos(xrange)+2>=yrange));% 统计随机点在函数内的次数
result = frq/1000*4*3
结果与正确结果7.2432很接近。
参考文献:
1.https://blog.youkuaiyun.com/qq_23851075/article/details/52185357
2.https://blog.youkuaiyun.com/kwame211/article/details/79262584