Buffon投针实验的理论证明
我们知道,当正多边形的边数无限增多时,它的极限是圆。所以“圆”这种图形可以代表弯曲得最厉害的小针。现在假定圆形小针的直径恰好与纸上两条相邻的平行线间的距离相等,那末这个圆形小针投掷下来时,不是和一条直线相交两次,就是和两条相邻的平行线相切。不管怎样,它的相交次数是2。因此,当投掷的次数为n时,碰线的次数便是2n。
现在小针的长度只有两条相邻平行线间距离的一半,所以针的长度只有上述圆形小针长度(即圆周长)的。但是可能碰线的次数是与针的长度成正比的,因此小针的可能碰线的次数k就必须满足下面的比例式:
1:(1/2π) =2n: k
于是就得到π=n/k,也就是
π=投掷总次数/碰线次数
这就是上面“投针实验”的理论根据。它又叫莆丰氏实验,在概率论中是很出名的,也可以说是近代的“统计试验法”(又叫“蒙特卡罗法”)的滥觞。
蒲丰(Buffon)投针求π
蒲丰(Buffon)投针问题:在平面上画有等距离的一些平行线,平行线间的距离为a(a>0),向平面上随机投一长为l (l 一、实验目的 蒲丰实验是采用投针来计算π的值,历史上也有许多的学者曾亲自做过这个实验,如下表: 我们也可以来做这个实验,而且希望做更多次,但是投针又比较费时费力,于是,可以采用另一种设计随机实验的方法,随机模拟的办法来模拟蒲丰投针实验。从而求得π的近似值。 二、实验方法 可以采用MatLAB软件进行模拟实验,即用MATLAB编写程序来进行“蒲丰投针实验”。 1.基本原理:由于针投到纸上的时候,有各种不同的方向和位置(图a),但是,每一次投针时,其位置和方向都可以由两个量唯一确定,那就是针的中点和偏离水平的角度(图b)。 随机投针图 针的某一特定位置 于是,我们可以生成两个n*1随机矩阵,分别设为x和y,x 表示此时针的中点的位置,y表示此时针偏离水平方向的角度。如图b,当x< 0.5*l*sin(y)的时候,即可认为此时的针与横线相交;只要随机生成n对这样的x和y,就可以模拟n次的投针实验,然后统计满足x< 0.5*l*sin(y)的x的个数,就可以认为这是相交的次数。然后利用公式求得π值。 2.MATLAB编程 这是名字为P_Buffon的m文件:…………………………………………………………………………function PI=P_Buffon(a,l,n,p) %蒲丰投针实验求π,其中a 为横线间距,l为针的长度,n为投掷次数,p为有效位数 if l>a error('针的长度不能超过横线间距,请确定l return;end x=unifrnd(0,a/2,[n,1]); f=unifrnd(0,pi,[n,1]); y=x<0.5*l*sin(f); m=sum(y) %显示相交次数 PI=vpa(2*l*n/(a*m),p); ………………………………………………………………………… 三、实验数据(见附表) 四、数据分析 1)由数据可以看出,当l和a为定值,而次数改变时,相交次数也会改变,相交次数与投掷次数有个近似的线性关系,这个关系就是P,即相交的概率,但是n越大,对结果只是变化减小,n越大,并不会使得结果越准确。 2)由上面的实验数据第二部分可知,当间距和n(投掷次数)不变时,针长越大或是越小,都会越偏离π的真实值,一般来说,a可能在[0.6*l,0.8*l]之间时,会接近真实结果一些。 系统建模与仿真题目:Buffon实验的仿真 院系: 电子工程学院 专业:信息对抗技术 班级:021231 姓名:余颖智 学号:02123021 指导老师:刘洋 完成时间:2015年4月 西安电子科技大学 基于MATLAB的投针实验仿真 摘要 在求证圆周率的过程中经过割圆术后,出现的投针试验以求出圆周率,目前利用MATLAB数学建模的仿真实验,运用到计算机中,简化其随机实验的操作量大,运算慢等特点。不同针距相同实验量运算后得出不同的π,其针距与线间距离相等,所得值接近于π。 目录 摘要 (2) 二、实验内容 (4) 三、建模流程图 (5) 四、程序主要代码 (6) 五、运行结果 (6) 六、结论 (7) 一、实验原理 1777年法国科学家布丰提出的一种计算圆周率的方法——随机投针法,即著名的布丰投针问题。该投针实验主要有如下三个步骤:(一)取一张白纸,在上面画许多条间距为a的平行线;(二)取一根长度为l(l 三、建模流程图 四、程序主要代码 str(handles.edit1,'string'); %取得变量,定义变量,变量初始化 n = str2double(str); str = get(handles.edit2,'string'); l = str2double(str); str = get(handles.edit3,'string'); a = str2double(str); counter = 0; %变量初始化 phi = 0; frequency = 0; Pi = 0; 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:n if x(i) 系统建模与仿真 基于MATLAB的布丰实验模拟 姓名:石星宇 学号: 02123010 指导教师:刘洋 2015年4月9日 目录 基于MATLAB的布丰实验模拟 .................................................................... - 1 - 一、实验原理......................................................................................... - 1 - 二、编程模拟......................................................................................... - 1 - 1、程序流程图............................................................................... - 1 - 2、程序代码................................................................................... - 2 - 三、实验结果......................................................................................... - 2 - 基于MATLAB 的布丰实验模拟 一、实验原理 找一根铁丝弯成一个圆圈,使其直径恰恰等于平行线间的距离a 。可以想象得到,对于这样的圆圈来说,不管怎么扔下,都将和平行线有两个交点。因此,如果圆圈扔下的次数为n 次,那么相交的交点总数必为n 2。现在设想把圆圈拉直,变成一条长为a π的铁丝。显然,这样的铁丝扔下时与平行线相交的情形要比圆圈复杂些,可能有4个交点,3个交点,2个交点,1个交点,甚至于都不相交。由于圆圈和直线的长度同为a π,根据机会均等的原理(即等概率事件),当它们投掷次数较多,且相等时,两者与平行线组交点的总数期望也是一样的。这就是说,当长为a π的铁丝扔下n 次时,与平行线相交的交点总数应大致为n 2。现在转而讨论铁丝长为l 的情形。当投掷次数n 增大的时候,这种铁丝跟平行线相交的交点总数k 应当与长度l 成正比,因而有:l k λ=,式中λ是比例系数。为了求出λ来,只需注意到,对于a l π=的特殊情形,有n k 2=。于是求得a n πλ2=。代入前式就有:a m πln 2≈从而ak nl 2≈π。 二、编程模拟 1、程序流程图 参数初始化 产生位置随机数; 产生角度随机数 判断相交 1+=k k 1+=n n 是 否 判断结束 概率论与数理统计实验 蒲丰投针与蒙特卡罗法 班级应数12级01班 学号2012444086 姓名张旭东 蒲丰投针与蒙特卡罗法 张旭东2012444086 (重庆科技学院数学与应用数学,重庆沙坪坝) 【摘要】通过设计一个投针实验使这个事件的概率和未知量π有关,然后通过重复实验,以频率估计概率,即可求得未知参数π的近似解。这种方法称为随机模拟法,也称为蒙特卡罗法。一般来说,实验次数越多所得的近似值就越接近真值。可以利用MATLAB来大量重复地模拟所设计的随机实验。 【关键词】随机模拟;投针实验;重复实验 1 引言 蒲丰投针问题是由法国科学家蒲丰(Buffon)在1777年提出的,它是概率中非常有代表性的问题,它是第一个用几何形式表达概率问题的例子,其结论具有很强的理论与实际意义。蒲丰针问题的解决不仅较典型的反应了集合概率的特征及处理方法,而且还可以由此领略到从“概率土壤”上开出的一朵瑰丽的鲜花——蒙特卡洛(Monte-Carlo)方法。 蒙特卡罗(Monte Carlo)方法,也称计算机模拟方法,是一种基于“随机数”的计算方法,大数定律为近年来发展迅速的随机计算机和随机模拟方法提供了理论基础。 MATLAB是一个适合多学科,具有多种工作平台的功能强大的大型软件。MATLAB已经成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的进本教学工具,Matlab随机数发生器的种类丰富且用法简便。 本文介绍了利用随机模拟方法和大数定律的相关理论解决蒲丰投针问题计算π的近似值。 2 有关数学实验的有关基础 定理(贝努力大数定律) 设n μ是n 重贝努力实验中事件A 出现的次数,P 是事件A 每次实验中出现的概率,即P(A)=p,则对任意的 ε>0,有 3 实验 蒲丰投针问题 在平面上画有等距离的一些平行线,平行线间的距离为a(a>0),向平面上随机投一长为l(l 公元1777年的一天,法国科学家D·布丰(D·buffon,1707~1788)的家里宾客满堂,原来他们是应主人的邀请前来观看一次奇特试验的. 试验开始,但见年已古稀的布丰先生兴致勃勃地拿出一张纸来,纸上预先画好了一条条等距离的平行线.接着他又抓出一大把原先准备好的小针,这些小针的长度都是平行线间距离的一半.然后布丰先生宣布:“请诸位把这些小针一根一根往纸上扔吧!不过,请大家务必把扔下的针是否与纸上的平行线相交告诉我.” 客人们不知布丰先生要干什么,只好客随主意,一个个加入了试验的行列.一把小针扔完了,把它捡起来又扔.而布丰先生本人则不停地在一旁数着、记着,如此这般地忙碌了将近一个钟头.最后,布丰先生高声宣布:“先生们,我这里记录了诸位刚才的投针结果,共投针2212次,其中与平行线相交的有704次.总数2212与相交数704的比值为3.142.”说到这里,布丰先生故意停了停,并对大家报以神秘的一笑,接着有意提高声调说:“先生们,这就是圆周率π的近似值!” 众宾哗然,一时议论纷纷,个个感到莫名其妙;“圆周率π?这可是与圆半点也不沾边的呀!” 布丰先生似乎猜透了大家的心思,得意洋洋地解释道:“诸位,这里用的是概率的原理,如果大家有耐心的话,再增加投针的次数,还能得到π的更精确的近似值.不过,要想弄清其间的道理,只好请大家去看敝人的新作了.”随着布丰先生扬了扬自己手上的一本《或然算术试验》的书. π在这种纷纭杂乱的场合出现,实在是出乎人们的意料,然而它却是千真万确的事实.由于投针试验的问题,是布丰先生最先提出的,所以数学史上就称它为布丰问题.布丰得出的一般结果是:如果纸上两平行线间相距为d,小针长为l,投针的次数为n,所投的 针当中与平行线相交的次数是m,那么当n相当大时有:π≈2ln dm .在上面故事中,针长l 等于平行线距离d的一半,可以代入上面公式简化.我想,喜欢思考的读者一定想知道布丰先生投针试验的原理,下面就是一个简单而巧妙的证明. 找一根铁丝弯成一个圆圈,使其直径恰恰等于平行线间的距离d.可以想象得到,对于这样的圆圈来说,不管怎么扔下,都将和平行线有两个交点.因此,如果圆圈扔下的次数为n次,那么相交的交点总数必为2n. 现在设想把圆圈拉直,变成一条长为πd的铁丝.显然,这样的铁丝扔下时与平行线相交的情形要比圆圈复杂些,可能有4个交点,3个交点,2个交点,1个交点,甚至于都不相交. 由于圆圈和直线的长度同为πd,根据机会均等的原理,当它们投掷次数较多且相等时,两者与平行线组交点的总数可望是一样的.这就是说,当长为πd的铁丝扔下n次时,与平基于MATLAB的布丰投针实验仿真
布丰投针实验模拟
蒲丰投针实验模拟
苏科版-数学-九年级上册-知识拓展 布丰的投针试验
Buffon投针实验的理论证明