蒙地卡罗方法(Mente Carlo method)是一种通过产生大量随机数并结合相关统计和数值计算来解决问题的一类方法。本文介绍如何利用蒙地卡罗方法来计算pi的值。
基本思想: 利用圆与其外接正方形面积之比为pi/4的关系,通过产生大量均匀分布的二维点,计算落在单位圆和单位正方形的数量之比再乘以4便得到pi的近似值。样本点越多,计算出的数据将会越接近真识的pi(前提时样本是“真正的”随机分布)。
在Matlab中,只需以下几行代码:
N = 10000;%样本点
rng('shuffle');%初始化随机发生器
x = rand(N,1);%二维样本的x坐标,x: [-1,1]
rng('shuffle');%再次初始化随机发生器,与上次不同,将产生独立的随机数
y = rand(N,1);%二维样本的y坐标, y:[-1:1]
s = sum(x.^2+y.^2 <= 1);