- 0
- 0
- 约1.04千字
- 约 2页
- 2024-02-24 发布于浙江
- 举报
蒙特卡罗算法及其Matlab的简单求PI模拟
一、蒙特卡罗算法简介
???也许有人不知道,位于摩纳哥的蒙特卡罗是当今世界三大赌城中,资格和牌子最老的赌城(其余两大赌城用脚趾头就能猜到是拉斯维加斯和澳门,^_^)。蒙特卡罗算法以该城市命名,不难知道该算法肯定与赌博概率相关。
???百度百科给出的介绍如下:蒙特卡罗也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。蒙特·卡罗方法正是以概率为基础的方法。与它对应的是确定性算法。
二、本文的目的
???本文将通过一个简单的求PI的程序来揭开蒙特卡洛算法神秘的面纱。
三、基本思路
????我们首先产生1000(这个可以自己设定)组随机数据对(x,y),其中0|x|1,0|y|1。在matlab中可以通过unifrnd(-1,1,1000,2)来实现,其中每一行表示一个点。可以想象,如果数据对足够多的话,其落在单位圆和单位正方形中的概率是相等的,由于我们设定了x,y的范围,因而这里点(x,y)总是落在正方形内的,我们只需求出落在圆内的点数,以这些点数模拟成圆的面积。也即(pi*r^2)/(2*r)^2=圆内点数/正方形点数,通过该公式我们就可以求出pi=4*圆内点数/正方形
原创力文档

文档评论(0)