简介
1.Monte Carlo method
蒙特卡洛方法, 一种用于物理仿真与计算统计的算法, 它基于随机采样.
1.1例子
可以用于计算任意积分的值.
∫10f(x)dx
当f(x)过于复杂, 无法用公式得出解析解时, 就可以通过随机采样来逼近它的解.
以
f(x)=x2
举例.
图 1-1 定积分
∫10x2dx
计算步骤见下:
- 因为 f(x) 的两个边缘为(0,0)与(1,1), 所以我们圈出一个正方形. 这个正方形的面积就是1
- 用matlab随机在正方形内产生n个点, (y_1,…,y_n).
- 根据 if(y < f(x)) 判断点y是否落在积分区间内. 可以算出落在积分区间内的点的个数m.
- 定积分的值 ∫10x2dx≈mn∗(1∗1)
可以看出, 随着采样点个数的增多, 结果会越来越逼近真实值.
2.Monte Carlo Algorithm
待更新.
参考
- 阮一峰的blog, 蒙特卡罗方法入门