蒙特卡罗方法的解题过程可以归结为三个主要步骤:构造或描述概率过程;实现从已知概率 分布抽样;建立各种估计量蒙特卡罗方法解题过程的三个主要步骤:(1) 构造或描述概率过程对于本身就具有随机性质的问题,如粒子输运问题,主要是正确描述和模拟这个概率过 程,对于本来不是随机性质的确定性问题,比如计算定积分,就必须事先构造一个人为的概 率过程,它的某些参量正好是所要求问题的解即要将不具有随机性质的问题转化为随机性 质的问题2) 实现从已知概率分布抽样构造了概率模型以后,由于各种概率模型都可以看作是由各种各样的概率分布构成的, 因此产生已知概率分布的随机变量(或随机向量),就成为实现蒙特卡罗方法模拟实验的基 本手段,这也是蒙特卡罗方法被称为随机抽样的原因最简单、最基本、最重要的一个概率 分布是(0,1)上的均匀分布(或称矩形分布】随机数就是具有这种均匀分布的随机变量 随机数序列就是具有这种分布的总体的一个简单子样,也就是一个具有这种分布的相互独立 的随机变数序列产生随机数的问题,就是从这个分布的抽样问题在计算机上,可以用物 理方法产生随机数,但价格昂贵,不能重复,使用不便另一种方法是用数学递推公式产生。
这样产生的序列,与真正的随机数序列不同,所以称为伪随机数,或伪随机数序列不过, 经过多种统计检验表明,它与真正的随机数,或随机数序列具有相近的性质,因此可把它作 为真正的随机数来使用由已知分布随机抽样有各种方法,与从(0,1)上均匀分布抽样不同, 这些方法都是借助于随机序列来实现的,也就是说,都是以产生随机数为前提的由此可见, 随机数是我们实现蒙特卡罗模拟的基本工具3) 建立各种估计量一般说来,构造了概率模型并能从中抽样后,即实现模拟实验后,我们就要确定一个随 机变量,作为所要求的问题的解,我们称它为无偏估计建立各种估计量,相当于对模拟实 验的结果进行考察和登记,从中得到问题的解蒙特卡洛法模拟蒲丰(Buffon)投针实验-使用Matlab2010年03月31日 星期三8:47蒲丰投针实验是一个著名的概率实验,其原理请参见此页:http://www.mste.uiuc.edu/reese/buffon/buffon.html现在我们利用Matlab来做模拟,顺便说一下,这种随机模拟方法便是传说中的“蒙特卡洛(Monte-Carlo)”法以下是Matlab程序cleara=1;%设置两条平行线之间的距离1=0.6;%投针的长度counter=0;%针与平行线相交的次数n=10000000;%投掷次数x=unifrnd(0,a/2,1,n);%产生n个(0,a/2)之间均匀分布的随机数,这里a/2是投针的中点到最近的平行线的距离phi=unifrnd(0,pi,1,n);%产生n个(0,pi)之间均匀分布的随机数,这里pi是投针到最近的平行线的角度for i=1:nif x(i)> testPi =3.1416。