投针实验计算圆周率的数学分析
蒲丰投针――MonteCarlo算法
蒲丰投针 ―― Monte Carlo 算法背景:蒙特卡罗方法(Monte Carlo ),也称统计模拟方法,是在二次世界大战期间随着科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为基础的一类非常重要的数值计算方法。
蒙特卡罗方法在应用物理、原子能、固体物理、化学、生态学、社会学以及经济行为等领域中得到广泛利用。
蒙特卡罗方法的名字来源于世界著名的赌城 —— 摩纳哥的蒙特卡罗。
其历史起源可追溯到1777年法国科学家蒲丰提出的一种计算圆周的方法 —— 随机投针法,即著名的蒲丰投针问题。
问题:设在平面上有一组平行线,间距为d ,把一根长L 的针随机投上去,则这根针和平行线相交的概率是多少?(其中 L < d )分析:由于 L < d ,所以这根针至多只能与一条平行线相交。
设针的中点与最近的平行线之间的距离为 y ,针与平行线的夹角为 θ (0 ≤ θ ≤ π)。
相交情形 不相交情形易知针与平行线相交的充要条件是:sin 2Ly x θ≤=由于1[0,], [0, ]2y d θπ∈∈,且它们的取值均满足平均分布。
建立直角坐标系,则针与平行线的相交条件在坐标系下就是曲线所围成的曲边梯形区域(见右图)。
所以有几何概率可知针与平行线相交的概率是sin d 2212LL p d d πθθππ==⎰Monte Carlo 方法:随机产生满足平均分布的 y 和 θ,其中1[0,], [0, ]2y d θπ∈∈,判断 y 是否在曲边梯形内。
重复上述试验,并统计 y 在曲边梯形内的次数 m ,其与试验次数 n 的比值即为针与平行线相交的概率的近似值。
clear;n = 100000; L = 1; d = 2; m = 0;for k = 1 : ntheta = rand(1)*pi; y = rand(1)*d/2;if y < sin(theta)*L/2m = m + 1; end endfprintf('针与平行线相交的概率大约为 %f\n', m/n)计算π的近似值利用该方法可以计算 π 的近似值:sin d 22 22 1n LL m p d m d L d n πθθπππ⇒≈==≈⎰下面是一些通过蒲丰投针实验计算出来的 π 的近似值:蒲丰投针问题的重要性并非是为了求得比其它方法更精确的π值,而是在于它是第一个用几何形式表达概率问题的例子。
基于R语言蒲丰投针法求圆周率
产学研理论与实践科技经济导刊 2016.22期基于R语言蒲丰投针法求圆周率王利娜(上海海事大学经济管理学院 上海 201306)1引言圆周率π取自希腊语,表示圆的周长与直径的比值。
历史上,许多数学家试图寻求圆周率π的近似值。
迄今为止,英格兰数学家、发明家奥特雷德[1]最早在数学中使用“π”这个符号,他用圆的周长除以直径表示圆周率。
古埃及、古希腊人[2]用匀重木板锯成圆形和方形以秤量对比取值,或者用谷粒摆在圆形上,以粒数与方形对比求得。
在论文《圆的测定》中,阿基米德[3]得到更精确近似圆周率π的结果,著名数学家韦达[4]曾运用级数乘积和分析式来计算π;英国数学家梅钦[5]发现了Machin 公式,1734 到1735 年,欧拉研究出著名的欧拉公式[6];中国数学家李善兰求圆面积时也求出π的公式[7]。
18世纪法国科学家蒲丰[8]( Buffon,1707-1788) 在画有一组平行线的地面投针,计算出圆周率π的估计值;1961 年,华盛顿的雷恩奇和丹尼尔•尚克斯[9]运用挪威斯托默公式,计算圆周率π到小数点后的100256 位。
黄朝霞[10]把蒲丰问题中的投掷物用硬币来替代,从而得到几种相应的概率结果。
后来很多数学家也做过蒲丰投针试验,方法虽然简单,但是实验次数有限。
本研究基于R语言在蒲丰投针实验的基础上,运用已知的数学关系用计算机来模拟随机试验代替实际的蒲丰投针试验,估计圆周率π,并通过计算均值和方差,判断随着实验的次数增多圆周率π估计值的稳定性和波动情况。
2蒲丰投针实验1777年法国蒲丰(Buffon)用投针实验方法来计算圆周率π,这就是随机模拟的思想的起源。
有很多人做过一些实验求圆周率,1850年,沃尔夫投针5000次,与平行线相交次数为2531次,求得的π的实验值为3.1596;1855年,史密斯投针3204次,与平行线相交次数为1219次,求得的π的实验值为3.1554;1680年,德摩根投针600次,与平行线相交次数为383次,求得的π的实验值为3.137;1884年,福克斯投针1030次,与平行线相交次数为489次,求得的π的实验值为3.1595;1901年,拉泽里尼投针3408次,相交次数为1808次,求得的π的实验值为3.1415929,比较接近真实值,很明显,德摩根求得的圆周率π比拉泽里尼投针求得的π误差较大;1925年,赖纳投针2520次,与平行线相交次数为859次,求得的π的实验值为3.1795[11]。
投针实验详解
一、 问题的提出在人类数学文化史中,对圆周率π精确值的追求吸引了许多学者的研究兴趣。
在众多的圆周率计算方法中,最为奇妙的是法国物理学家布丰(Boffon )在1777年提出的“投针实验”。
与传统的“割圆术”等几何计算方法不同的是,“投针实验”是利用概率统计的方法计算圆周率的值,进而为圆周率计算开辟了新的研究途径,也使其成为概率论中很有影响力的一个实验。
本节我们将借助于MATLAB 仿真软件,对“投针实验”进行系统仿真,以此来研究类比的系统建模方法和离散事件系统仿真。
二、 系统建模“投针实验”的具体做法是:在一个水平面上画上一些平行线,使它们相邻两条直线之间的距离都为a ;然后把一枚长为l (0<l <a )的均匀钢针随意抛到这一平面上。
投针的结果将会有两种,一种是针与这组平行线中的一条直线相交,一种是不相交。
设n 为投针总次数,k 为相交次数,如果投针次数足够多,就会发现公式2ln ak计算出来的值就是圆周率π。
当然计算精度与投针次数有关,一般情况下投针次数要到成千上万次,才能有较好的计算精度。
有兴趣的读者可以耐心地做一下这个实验。
为了能够快速的得到实验结果,我们可以通过编写计算机程序来模拟这个实验,即进行系统仿真。
所谓的系统仿真是指以计算机为工具,对具有不确定性因素的、可模型化的系统的一种研究方法。
建立能够反映实验情况的数学模型是系统仿真的基础。
系统建模中需解决两个问题,一个是如何模拟钢针的投掷结果,另一个是如何判断钢针与平行线的位置关系。
这里,设O 为钢针中点,y 为O 点与最近平行线之间的距离,θ为钢针与平行线之间的夹角(0180θ≤< )。
首先,由于人的投掷动作是随机的,钢针落下后的具体位置也是随机的,因此可用按照均匀分布的两个随机变量y 和θ来模拟钢针投掷结果。
其次,人工实验时可以用眼睛直接判断出钢针是否与平行线相交,而计算机仿真实验则需要用数学的方法来判别。
如下图所示,如果y 、l 和θ满足关系式1sin 2y l θ≤,那么钢针就与平行线相交,否则反之,进而可以判断钢针与平行线的位置关系。
“投针实验”求圆周率的方法
教材提到了“投针实验”求圆周率的方法。
1777年,法国数学家蒲丰取一根针,量出它的长度,然后在纸上画上一组间距相等的平行线,这根针的长度是这些平行线的距离是的一半。
把这根针随机地往画满了平行线的纸面上投去。
小针有的与直线相交,有的落在两条平行直线之间,不与直线相交。
这次实验共投针2212次,与直线相交的有704次,2212÷704≈3.142。
得数竟然是π的近似值。
这就是著名的蒲丰投针问题。
后来他把这个试验写进了他的论文《或然性算术尝试》中。
蒲丰证明了针与任意平行线相交的概率为p= 2l/πd 。
这个公式中l为小针的长,d为平行线的间距。
由这个公式,可以用概率方法得到圆周率的近似值。
当实验中投的次数相当多时,就可以得到π的更精确的值。
蒲丰实验的重要性并非仅仅是为了求得比其它方法更精确的π值。
而在于它是第一个用几何形式表达概率问题的例子。
计算π的这一方法,不但因其新颖,奇妙而让人叫绝,而且它开创了使用随机数处理确定性数学问题的先河,是用偶然性方法去解决确定性计算的前导。
找一根粗细均匀,长度为 d 的细针,并在一张白纸上画上一组间距为l 的平行线(方便起见,常取l = d/2),然后一次又一次地将小针任意投掷在白纸上。
这样反复地投多次,数数针与任意平行线相交的次数,布丰(Comte de Buffon)设计出他的著名的投针问题(needleproblem)。
依靠它,可以用概率方法得到π的近似值。
假定在水平面上画上许多距离为a的平行线,并且,假定把一根长为l<a的同质均匀的针随意地掷在此平面上。
布丰证明:该针与此平面上的平行线之一相交的概率为:p=2l/(api) 把这一试验重复进行多次,并记下成功的次数,从而得到P的一个经验值,然后用上述公式计算出π的近似值,用这种方法得到的最好结果是意大利人拉泽里尼(Lazzeri ni)于1901年给出的。
投针实验计算圆周率的数学分析
投针实验计算圆周率的数学分析王向东投针实验计算圆周率的数学证明方法,初中一般是采取假设针弯成直径等于平行线距离的方法巧妙证明。
这个方法是基于不管针弯成什么形状,针上的每一个部位与平行线相交的概率相同,但这是感观上的认识,要把其中原因解释清楚不是很容易。
笔者从纯数学的角度来推导这个公式。
一、投针问题的由来1777年法国科学家布丰提出的一种计算圆周率的方法——随机投针法,即著名的蒲丰投针问题。
这一方法的步骤是:1) 取一张白纸,在上面画上许多条间距为d 的平行线。
2) 取一根长度为()l l d <的针,随机地向画有平行直线的纸上掷n 次,观察针与直线相交的次数,记为m3)计算针与直线相交的概率.18世纪,法国数学家布丰和勒可莱尔提出的“投针问题”,记载于布丰1777年出版的著作中:“在平面上画有一组间距为d 的平行线,将一根长度为()l l d <的针任意掷在这个平面上,求此针与平行线中任一条相交的概率。
”布丰本人证明了,这个概率是:2lp d π=,π为圆周率。
二、投针实验的数学证明投针这个动作是由两个事件构成的。
事件1:针投下后与平行线构成一定的夹角。
我们来分析一下针投下后与平行线之间的成某一特定夹角时的概率。
设针投下后与平行线之间的夹角为θ,则θ在0与π之间。
针与平行线之间的夹角在θ到θ+θ∆之间的概率为1p θπ∆=,当0θ∆→时,可看作针投下后与平行线之间成某一特定夹角为θ的概率。
事件2:针投下后会在平行线垂直的方向形成一个投影,针与平行线相交等于它的垂直投影与平行线相交。
这个投影的长度'l 在0到l 之间。
此时针在水平方向的投影为'sin()l l θ=。
再分析'l 与平行线相交的概率。
等于我们将问题转化成长度为'l 的针,并且只允许它处在与平行线垂直的方向上,这时它与平行线相交的概率显然为:2'sin()l l p d d θ==因为每一次投掷都是由上述两个事件组成的,因而对于针与平行线之间的夹角在θ到θ+θ∆之间时,针与平行线相交的概率()p θ为这两个事件概率的乘积,即:12sin()().l p p p d θθθπ∆== 因为针与平行线之间构成的夹角在0-π之间每个角度的机会都是均等的,因此针与平行线相交的概率相当于针落在每个θ附近θ∆范围内,当0θ∆→时与平行线相交的所有概率之和。
布丰投针实验详解
布丰投针实验详解1777年,法国数学家布丰(D,Buffon,1707年-1788年)提出了随机投针法并通过投针实验计算出了圆周率π的值,与刘徽的“割圆术”不同的是,随机投针法是利用概率统计的方法来计算圆周率π的值,开辟了计算圆周率的新途径,因此,“布丰投针实验”成为概率论中很有影响力的一个实验。
程序运行时,计算机上将显示出每次“投针实验”的具体情况,即显示当前总投掷的次数、钢针与平行线相交的次数以及由此计算出来的圆周率的值,当满足所设置的精度要求后,程序就停止运行,当钢针投掷276427次后,所计算出来的圆周率值满足精度要求,此时钢针与平行线相交131984次,圆周率计算结果为3.14159670869196.当然,由于“投掷动作”具有随机性,因此每次“投针实验”的仿真结果不一定相同,为了使计算结果更趋近于π,可以减小误差,取更小的s的值来提高计算的精度,当然仿真实验的时间也会随之变长,值得说明的是,若将一根钢丝弯成一个圆圈,使其直径恰好等于平行线间的距离a,投掷的结果不外乎有两种:一种是与一条平行线相交,一种是与相邻两条平行线相切,这两种情况都将导致圆圈和平行线有两个交点,因此,如果圆圈扔下的次数为n,那么相交的交点数必为2n。
若将圆圈拉直变成一根长为πa的钢针,显然,这样的钢针被扔下时与平行线相交的情形要比弯成圆圈的情况复杂得多,可能没有交点,还可能有1个交点、2个交点、3个交点、4个交点,由于圆圈和拉直后的钢针的长度相同,根据机会均等的原理可知,当投掷的次数足够多时,两者与平行线组的交点的总数将是一样的,换句话说,当长度为πa的钢针被扔下无穷多次后,它与平行线相交的交点总数也为2n。
從本质上看,上述投针实验运用了离散事件系统仿真,如果按照布丰的做法,进行成千上万次的投针实验和手工计算,势必要消耗大量的人力、物力和财力,而通过运用类比的方法,对实验进行系统建模,在此基础上使用计算机进行系统仿真来解决问题,事情就会变得非常简单,我们只需要根据已掌握的经验与认识,通过对比分析1,运用数学语言、数学符号、数学公式、数学概念等来表达这些量,从多种复杂的因素中抽取主要因素,忽略次要因素,抓住事物的本质特征,运用一系列等式或不等式来表达各个量之间的关系,从而建立起研究对象的数学模型,这有助于掌握复杂事物的内在规律。
蒲丰投针问题
蒲丰投针问题1777年法国科学家布丰提出的一种计算圆周率的方法——随机投针法,即著名的布丰投针问题。
这一方法的步骤是:1) 取一张白纸,在上面画上许多条间距为d的平行线。
2) 取一根长度为l(l<d)的针,随机地向画有平行直线的纸上掷n次,观察针与直线相交的次数,记为m3)计算针与直线相交的概率.18世纪,法国数学家布丰和勒可莱尔提出的“投针问题”,记载于布丰1777年出版的著作中:“在平面上画有一组间距为d的平行线,将一根长度为l(l<d)的针任意掷在这个平面上,求此针与平行线中任一条相交的概率。
”布丰本人证明了,这个概率是p=2l/(πd) π为圆周率利用这个公式可以用概率的方法得到圆周率的近似值。
下面是一些资料实验者年代投掷次数相交次数圆周率估计值沃尔夫1850 5000 2531 3.1596史密斯1855 3204 1219 3.1554德摩根1680 600 383 3.137福克斯1884 1030 489 3.1595拉泽里尼1901 3408 1808 3.1415929赖纳1925 2520 859 3.1795布丰投针实验是第一个用几何形式表达概率问题的例子,他首次使用随机实验处理确定性数学问题,为概率论的发展起到一定的推动作用。
像投针实验一样,用通过概率实验所求的概率来估计我们感兴趣的一个量,这样的方法称为蒙特卡罗方法(Monte Carlo method)。
蒙特卡罗方法是在第二次世界大战期间随着计算机的诞生而兴起和发展起来的。
这种方法在应用物理、原子能、固体物理、化学、生态学、社会学以及经济行为等领域中得到广泛利用。
法国数学家布丰(1707-1788)最早设计了投针试验。
并于1777年给出了针与平行线相交的概率的计算公式P=2L/πd(其中L是针的长度,d是平行线间的距离,π是圆周率)。
由于它与π有关,于是人们想到利用投针试验来估计圆周率的值。
此外,随便说出3个正数,以这3个正数为边长可以围成一个钝角三角形的概率P也与π有关。
圆周率的近似计算——蒲丰投针问题实验报告
实验序号:2日期:2015年3月27日
班级
姓名
<
学号
实验
名称
,
蒲丰投针问题
问题的背景:
在历史上人们对 的计算非常感兴趣性,发明了许多求 的近似值的方法,其中用蒲丰投针问题来解决求 的近似值的思想方法在科学占有重要的位置,人们用这一思想发现了随机模拟的方法.
蒲丰投针问题:平面上画有间隔为 的等距平行线,向平面任意投一枚长为 的针,求针与任一平行线相交的概率. 进而求 的近似值.
:
实验所用软件及版本:MicrosoftofficeExcel 2010
主要内容(要点):
蒲丰投针问题:下面上画有间隔为d(d>0)的等距平行线,喜爱那个平面内任意投一枚长为l(l<d)的针,求针与任一平行线相交的概率,进而求π的近似值。设计一个随机试验,使一个事件的概率与某个未知数有关,通过重复实验,以频率估计概率,求得未知数的近似值。试验次数越多,近似值就越精确。
教师评语与成绩:
实验过程:(含解决方法和基本步骤,主要程序清单及异常情况记录等)
|
实验结果与实验总结(体会):
实验总结:做了多越来越大时,得到的值会越来越接近π的值,所以以后做实验的时候我们要多做几组数据,并且样本空间取得越大越准确。
进一步讨论或展望:
通过这次试验,我们发现,当做同一n值的多次试验时,只要我们改动其中的随机变量的值,也就是用随机发生器产生一组数据的时候我们就可以得到一组新的数据,这样就会很方便的得到我们想要的结果,因此我们要多多钻研Excel的各种强大的功能,方便我们以后的学习与生活。
(4)理解概率的统计定义
实验原理与数学模型:
实验原理:由于投针投到纸上的时候,有各种不同方向和位置,但是,每次投针时,其位置和方向都可以由两个量唯一确定,那就是针的中点和偏离水平的角度。
布丰投针实验
龙源期刊网
布丰投针实验
作者:
来源:《初中生世界·九年级》2014年第02期
把一根质量均匀的小棒向一个画了一些平行线的平面上随意地扔几千下,就能得到有六个准确数字的圆周率π的近似值,你相信吗?肯定有很多人不相信. 事实上,确实有这样的数学实验.
1777年的一天,法国的博物学家C·布丰伯爵的家里宾客满堂,他们是应主人的邀请来观看一次奇特的试验的.
年已古稀的布丰拿出一张纸来,纸上预先画好了一条条等距离的平行线. 他又拿出一大把准备好的小针,这些小针都是平行线间距离的一半. 布丰先生宣布:“请诸位把这些小针一根一根地往纸上扔吧!不过,请大家务必把针与纸上的线相交的次数告诉我. ”
客人们遵照主人的意愿,加入了试验的行列. 一把小针扔完了,把它们捡起来再扔,布丰则把小针与平行线相交的次数记了下来. 实验进行了将近一个小时才结束. 随后布丰先生高声宣布:“先生们,我这里记录了诸位刚才的投针结果,共投针2212次,其中与平行线相交的有704次. 总数2212与相交数704的比值为3.142. ”大家异常惊奇,这投针的比例怎么会与圆周率如此接近呢?布丰解释说:“这就是概率的原理,因为针长恰好是平行线间距的一半,那针与线相交的概率为0.318,它的倒数就近似于圆周率. ”
著名的布丰公式
后来,布丰又取出一些圆圈,它们的直径均等于平行线的间距. 不管怎样扔下去,它们与平行线都有两个交点. 布丰又把同样大小的一些圆圈拉直,将这些长针随意扔下去,它们与平行线有多种相交情况,交点数或是4个,或是3个,或是2个,或是1个,有的甚至不相交. 当投的长针数越多,针、线的交点总数就越接近针数的两倍. 如果用不同长度的针去投,那针与线的交点数与针的长度成正比. 这就是著名的布丰公式.。
投针法计算圆周率原理
投针法计算圆周率原理今天来聊聊投针法计算圆周率原理的事。
你说这圆周率,大家都知道是圆周长和直径的比值,一般用希腊字母π表示。
那它和投针能有啥关系呢?这可就有趣了。
我先给你讲个生活中的小现象。
你看,下雨天地上会有好多小水洼。
假如你有一些直直的小树枝,你随便往水洼里扔这些树枝。
这时候就会有个很神奇的情况,树枝落在水洼里的情况各不相同,有的可能就横跨了水洼的某条直径,有的可能就是斜着在水洼中的某个位置,有的可能和水洼里一些想象的线条平行或者有夹角。
再来聊聊这个投针法算圆周率。
这就好比我们把这个地面、水洼看成一个有好多等距平行线的大平面。
那针就相当于是那些小树枝。
这里呢,我们得了解一些专业术语,像针和平行线的长度都是有具体要求的。
这里有个专业理论,假如我们设针的长度是l,平行线之间的距离为d (l <= d),投针的次数为n,针与平行线相交的次数为m。
根据概率论,就有这样一个神奇的公式:π= 2ln / dm。
为啥会这样呢?打个比方吧,就像是在抽奖,针落在不同的位置就像是不同的抽奖结果。
每一次投针就像抽一次奖,针与平行线相交或者不相交都是可能的结果。
老实说,我一开始也不明白,为啥投针能和圆周率联系起来呢?后来我慢慢地学习才发现,这背后其实是利用了概率和几何之间的奇妙关系。
这个投针法呢,在实际中就算我们不像专业数学家那么精确地去做实验,也能大概理解它的原理。
比如说我们可以在一张画满等距平行线的纸上,拿长度合适的针来模拟这个实验,多扔几次针,然后按照公式去估算圆周率呢。
说到这里,你可能会问,如果针和线很粗会怎么样呢?这就是个很好的思考方向哦。
在实际应用中,我们就必须要考虑针的粗细以及线条的宽度等因素对结果的影响。
这就告诉我们,这个投针法看似简单但是有很多需要注意的地方。
我觉得这个投针法真的很有趣,它让我们看到了看似毫不相关的事情之间奇妙的联系。
不知道你对这个投针法有没有自己的想法呢?欢迎一起讨论呀。
蒲丰投针原理
/4.因为对于每一个z,这个概率都为(π-2)/4,因此对于任意的正数x,y,z,有P=(π-2)/4,命题得证。
为了估算π的值,我们需要通过实验来估计它的概率,这一过程可交由计算机编程来实现,事实上x+y>z,x²+y²;﹤z²;等价于(x+y-z)(x²+y²-z²;)﹤0,因此只需检验这一个式子是否成立即可。
若进行了m 次随机试验,有n次满足该式,当m足够大时,n/m趋近于(π-2)/4,令n/m=(π-2)/4,解得π=4n/m+2,即可估计出π值。
值得注意的是这里采用的方法:设计一个适当的试验,它的概率与我们感兴趣的一个量(如π)有关,然后利用试验结果来估计这个量,随着计算机等现代技术的发展,这一方法已经发展为具有广泛应用性的蒙特卡罗方法。
计算π最稀奇方法之一计算π的最为稀奇的方法之一,要数18世纪法国的博物学家C·布丰和他的投针实验:在一个平面上,用尺画一组相距为d的平行线;一根长度小于d的针,扔到画了线的平面上;如果针与线相交,则该次扔出被认为是有利的,否则则是不利的.布丰惊奇地发现:有利的扔出与不利的扔出两者次数的比,是一个包含π的表示式.如果针的长度等于d,那么有利扔出的概率为2/π.扔的次数越多,由此能求出越为精确的π的值.公元1901年,意大利数学家拉兹瑞尼作了3408次投针,给出π的值为3.1415929——准确到小数后6位.不过,不管拉兹瑞尼是否实际上投过针,他的实验还是受到了美国犹他州奥格登的国立韦伯大学的L·巴杰的质疑.通过几何、微积分、概率等广泛的范围和渠道发现π,这是着实令人惊讶的!证明下面就是一个简单而巧妙的证明。
找一根铁丝弯成一个圆圈,使其直径恰恰等于平行线间的距离d。
可以想象得到,对于这样的圆圈来说,不管怎么扔下,都将和平行线有两个交点。
C++投针法计算圆周率文档
[投针法测圆周率] 详细设计文档填写时间二零一四年四月十二日目录1引言 (3)1.1 编写目的 (3)1.2 背景 (3)1.3 定义 (3)1.4 参考资料 (3)2程序系统的结构 (4)3程序设计说明 (4)3.1 概述 (5)3.2 功能 (5)3.3 输入项 (5)3.4 输出项 (6)3.5 算法 (6)3.6 流程逻辑 (7)3.7 限制条件 (8)3.8 实施方案 (8)3.9 尚未解决的问题 (8)3.10 运行环境及配置说明 (8)4程序2设计说明 (9)1引言1.1编写目的编写本书的目的在于让用户能够清楚地看懂、理解本程序的代码,了解设计原理,更好的使用本程序。
1.2背景(1)软件系统名称:投针法测圆周率(2)任务提出者:魏海坤老师(3)开发者:蒋荣星(4)用户:对圆周率计算感兴趣的C++编程爱好者(5)系统逻辑:树状结构1.3定义列出本文件中用到专门术语的定义和外文首字母组词的原词组。
#include<iostream>#include<conio.h>#include<stdio.h>#include<time.h>#include<graphics.h>#include<math.h>#include<iostream>#include<windows.h>using namespace std;1.4参考资料列出有关的参考资料,如:属于本项目的其他已发表的文件;本文件中各处引用到的文件资料,包括所要用到的软件开发标准。
列出这些文件的标题、文件编号、发表日期和出版单位,说明能够取得这些文件的来源。
《C++程序设计》吴乃陵况迎辉2程序系统的结构用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称和它们之间的层次结构关系。
3程序设计说明从本章开始,逐个地给出各个层次中的每个程序的设计考虑。
布丰投针数学分析与实验设计(原创)
l 由(1)和(2)我们可以得出一些结论: n 根长度为 的小 n 针仍出去后压线的概率之和与一根长为 l 的针扔出去后压线 l 的概率相等;将 n 根长为 的小针连接成任意形状后扔出去 n 压线的概率与长为 l 的针扔出去压线的概率相等;当 n ,线就是曲线,所以结论可以进一步推广:随机投
k
称作这个连分式的第 k 个渐进分数。同时,
k
它也是所有分母不超过
q 的分数中最接近实数 x 的分数,
k
k
是实数 x 的第 k 个最佳渐进分数。
k
求渐进连分式,当然可以用上面分式求出,下面给出第
p k 个渐进连分式 的递推求法: q p a q 1 p a a 1 q a a p p ( k 2) p q a q q ( k 2 )
如上图所示,AB 针的长度为 2l ,CD 针长度为 l 。在 AB 针 或 AB 针的延长线与直线的夹角为 ,AB 针的中点 M 的取
角 相等,所以 M ' , M ' ' 是 m' , m' ' 的两倍,于是 CD 与直线相交的概率是 AB 与直线相交的概率的一半。对于其 余任意夹角都有这个结论。所以:长度为 l 的针与直线相交 的概率是长度为 2l 的针与直线相交概率的一半。
产生误差原因 1:m/n 的精度问题,这个是数学造 成的误差。解决办法:选取合适的 m 值,使 m/n 的有 效数字达到要求的精度。 产生误差原因 2:如果针的端点与直线非常接近, 例如相距万分之一毫米,用肉眼无法判断针是否与直线 相交,造成误差。解决办法:该次事件无效,不予统计, 继续进行下一次实验。 产生误差原因 3:l/d 的精度问题,这是测量问题。 产生误差的原因 1 和 2,我们都可以解决,使之达
蒲丰氏问题
x ≤ l ⋅ sin θ
针在平行线间的位置
蒲丰氏问题的算法
如何产生任意的(x,θ)?x 在[0,a]上任意取值,表示 , ]上任意取值,表示x 在[0,a]上是均匀分布的 , ]上是均匀分布的, 其分布密度函数为: 类似地,θ的分布 的分布密度函数 的分布 为: 因此,产生任意的(x,θ) 产生任意的( ) 产生任意的 的过程就变成了由f1(x)抽样 及 的过程就变成了由 抽样x及 抽样 抽样θ的过程了 由f2(θ)抽样 的过程了 抽样 的过程了。由此得 到:
当 −1 ≤ x ≤ 1 其它
令φ=2θ,则θ在[0,π]上均匀分布 在 ]上均匀分布,作变换 x = ρ cos θ y = ρ sin θ 其中0≤ρ≤1,0≤ρ≤π,则 x cos θ = x2 + y2 y sin θ = x2 + y2 (x,y) 表示上半个单位圆内的点。如果 (x,y) 在上半个单 位圆内均匀分布,则θ在[0,π]上均匀分布,由于 x2 − y2 2 2 cos ϕ = cos 2θ = cos θ − sin θ = 2 x + y2 2 xy sin ϕ = sin 2θ = 2 sin θ cos θ = 2 x + y2
2l 2l ≈ π= aP as N
请输入平行线相间的半距离(默认值 请输入平行线相间的半距离(默认值a=4.0) a=4 ) 请输入针的半长度(默认值 请输入针的半长度(默认值l=3.0) l=3 ) 请输入模拟试验次数(默认值 请输入模拟试验次数(默认值N=100000) N=100000 )
s=0; for n=1:1:N; x2=mod(aa*x1,MM); x1=x2; randomx=x2*1.0/MM; x=a*randomx; x2=mod(aa*x1,MM); x1=x2; randomx=x2*1.0/MM; phi=pi*randomx; if (x<=l*sin(phi)) s=s+1; end end
蒲丰投针问题
蒲丰投针问题1777年法国科学家布丰提出的一种计算圆周率的方法——随机投针法,即著名的蒲丰投针问题。
投针步骤这一方法的步骤是:1) 取一张白纸,在上面画上许多条间距为d的平行线。
2) 取一根长度为l(l<d)的针,随机地向画有平行直线的纸上掷n次,观察针与直线相交的次数,记为m3)计算针与直线相交的概率.18世纪,法国数学家布丰和勒可莱尔提出的“投针问题”,记载于布丰1777年出版的著作中:“在平面上画有一组间距为d的平行线,将一根长度为l (l<d)的针任意掷在这个平面上,求此针与平行线中任一条相交的概率。
”布丰本人证明了,这个概率是p=2l/(πd) π为圆周率利用这个公式可以用概率的方法得到圆周率的近似值。
下面是一些资料实验者年代投掷次数相交次数圆周率估计值沃尔夫 1850 5000 2531 3.1596 L/D=0.8史密斯 1855 3204 1219 3.1554 L/D=0.6德摩根 1680 600 383 3.137 L/D=1福克斯 1884 1030 489 3.1595 L/D=0.75拉泽里尼 1901 3408 1808 3.1415929 L/D=0.8赖纳 1925 2520 859 3.1795 L/D=0.5布丰投针实验是第一个用几何形式表达概率问题的例子,他首次使用随机实验处理确定性数学问题,为概率论的发展起到一定的推动作用。
像投针实验一样,用通过概率实验所求的概率来估计我们感兴趣的一个量,这样的方法称为蒙特卡罗方法(Monte Carlo method)。
蒙特卡罗方法是在第二次世界大战期间随着计算机的诞生而兴起和发展起来的。
这种方法在应用物理、原子能、固体物理、化学、生态学、社会学以及经济行为等领域中得到广泛利用。
法国数学家布丰(1707-1788)最早设计了投针试验。
并于1777年给出了针与平行线相交的概率的计算公式P=2L/πd(其中L是针的长度,d是平行线间的距离,π是圆周率)。
投针试验
投针试验投针问题1777年法国科学家布丰提出的一种计算圆周率的方法——随机投针法,即著名的布丰投针问题。
投针步骤这一方法的步骤是:1)取一张白纸,在上面画上许多条间距为a的平行线。
2)取一根长度为l(l<a)的针,随机地向画有平行直线的纸上掷n次,观察针与直线相交的次数,记为m3)计算针与直线相交的概率.18世纪,法国数学家布丰和勒可莱尔提出的“投针问题”,记载于布丰1777年出版的著作中:“在平面上画有一组间距为a的平行线,将一根长度为l(l<a)的针任意掷在这个平面上,求此针与平行线中任一条相交的概率。
”布丰本人证明了,这个概率是p=2l/(πd) π为圆周率利用这个公式可以用概率的方法得到圆周率的近似值。
下面是一些资料试验者时间投掷次数相交次数圆周率估计值Wolf1850年5000 2532 3.1596Smith 1855年3204 1218.5 3.1554C.De Morgan 1680年600 382.5 3.137Fox1884年1030 489 3.1595Lazzerini 1901年3408 1808 3.1415929Reina 1925年2520 859 3.1795设这三个正数为x,y,z,不妨设x≤y≤z,对于每一个确定的z,则必须满足x+y>z,x²+y²;﹤z²;,容易证明这两个式子即为以这3个正数为边长可以围成一个钝角三角形的充要条件,用线性规划可知满足题设的可行域为直线x+y=z与圆x²+y²=z²;围成的弓形,总的可行域为一个边长为z的正方形,则可以围成一个钝角三角形的概率P=S弓形/S正方形=(πz²/4-z²/2)/z²=(π-2)/4.因为对于每一个z,这个概率都为(π-2)/4,因此对于任意的正数x,y,z,有P=(π-2)/4,命题得证。
布丰投针问题
匪夷所思的数学实验——布丰投针问题把一根质量均匀的小棒向一个画了一些平行线的平面上随意地扔几千下,就能得到连一台计算能力比较强的计算机也要算上好长时间的有六个准确数字的圆周率π的近似值,你相信吗?肯定有很多人不相信。
事实上,确实有这样的数学实验。
1777年的一天,法国的博物学家C·布丰伯爵的家里宾客满堂,他们是应主人的邀请来观看一次奇特的试验的。
年已古稀的布丰拿出一张纸来,纸上预先画好了一条条等距离的平行线。
他又拿出一大把准备好的小针,这些小针都是平行线间距离的一半。
布丰先生宣布:“请诸位把这些小针一根一根地往纸上扔吧!不过,请大家务必把针与纸上的线相交的次数告诉我。
”客人们遵照主人的意愿,加入了试验的行列。
一把小针扔完了,把它们捡起来再扔,布丰则把小针与平行线相交的次数记了下来。
实验进行了将近一个小时才结束。
布丰先生高声宣布:“先生们,我这里记录了诸位刚才的投针结果,共投针2212次,其中与平行线相交的有704次。
总数2212与相交数704的比值为3. 142。
”停了一下,布丰先生继续说:“先生们,这就是圆周率π的近似值!”布丰1777年出版了一本名叫《或然性的算术试验》,在这本书,他介绍了著名的“投针实验”:在一个水平面上画上一些平行线,使它们相邻两条直线之间的距离都为a,然后,把一个长为l(l<a)的均匀小针任意抛到这一平面上去。
如果针与这组平行线中的任一条直线相交,则该次扔出被认为是有利的,否则则认为是不利的。
如果投针的次数为n,有利的扔出次数为m,那么当n相当大时有:。
这就是著名的布丰公式。
如果小针的长度等于a,那么当n相当大时有。
这样,只需实际去进行大量次数的这样的实验,并计算有利的次数,就可以通过上面的公式求出π的近似值。
扔的次数越多,由此能求出越为精确的π的值。
这就是利用概率求π值的方法。
后来有不少人按照布丰设计的方法来计算π值。
1901年,意大利数学家拉兹瑞尼宣称进行了多次投针试验,每次投针数为3408次,平均相交数为2169. 6次,代入布丰公式,求得π≈3.1415929——准确到小数后六位。
蒲丰投针实验样本空间的度量
蒲丰投针实验样本空间的度量蒲丰投针实验是一种用于估计圆周率的经典实验。
在这个实验中,我们将一根长度为L的针随机地投掷到一块平面上,该平面上有一系列平行线,这些线之间的距离为d(d大于等于L)。
实验的目标是通过统计针与线相交的次数来估计圆周率π的值。
样本空间是指所有可能结果组成的集合。
在蒲丰投针实验中,样本空间可以定义为所有可能的针与线相交或不相交情况的集合。
为了更好地理解样本空间及其度量,在下面我们将对蒲丰投针实验样本空间进行详细讨论。
1. 针与线是否相交:- 相交:当针与至少一条线相交时,记为事件A。
- 不相交:当针没有与任何线相交时,记为事件B。
2. 针与线相交的方式:- 完全横过:当针完全横过一条线时,记为事件C。
- 仅部分横过:当针只横过部分线时,记为事件D。
3. 针与线相交位置:- 针中心距离最近线段较远端点小于L/2:记为事件E。
- 针中心距离最近线段较远端点大于等于L/2:记为事件F。
通过对样本空间的划分,我们可以得到以下事件的关系:- 事件A = 事件C + 事件D- 事件D = 事件E + 事件F在蒲丰投针实验中,我们通常关注的是针与线相交的次数。
通过统计相交次数和总投掷次数之比,可以得到圆周率π的估计值。
这个估计值可以用以下公式表示:π ≈ (2L)/(d * P(A))其中,P(A)是事件A发生的概率,即针与线相交的概率。
P(A)可以通过实验中统计相交次数和总投掷次数之比来估计。
在进行蒲丰投针实验时,我们需要选择合适的样本空间度量来确保结果的准确性。
常见的度量方式包括:1. 针长L:针长是一个重要的度量因素,它决定了针能否完全横过一条线。
选择合适的针长对于结果准确性至关重要。
2. 线间距d:线间距也是一个重要因素,它决定了针与线相交的概率。
选择合适的线间距可以使实验结果更加稳定和准确。
3. 投掷次数:进行足够多的投掷次数可以增加统计结果的可靠性。
通常,我们会进行大量的投掷以获得更准确的圆周率估计值。
蒲丰投针问题与无理数π的模拟
5、在C4输入=3*SIN(C4)/2。下托到C1003;在D4输入=IF(D4<=1,"1","0")下托到D1003,在E4输入=COUNTIF(E4:E10003,"1")在下托到E1003,在F4输入=2*10000*3/(F4*4)。
教师评语与成绩:
实验结果总结:计算机上模拟蒲丰投针试验,可以求出π的近似的值.我的到的值为3.225133和3.123367.他与.31415926存在了差别.可能是由于计算机取的1000个随机数的差别.虽然它们存在差别,但是它们已经很接近啦,这比人工或其它方法计远的快和准确于人的计算.
本实验旨在让实验者在计算机上模拟蒲丰投针试验,掌握无理数 的近似计算方法,理解随机模拟法的基本原理,从中体会到新思想、新方法产生的过程。
实验内容:
蒲丰投针问题:平面上画有间隔为 的等距平行线,向平面任意投一枚长为 的针,求针与任一平行线相交的概率,进而求 的近似值。若做了 次投针试验,有 次针与线相交,那么由教材例1.2.9结论知所求概率为 ,而 ,故有 。
2、单击数据/数据分析/随机数发生器,选择变量个数2,随机数1000,均匀分布,介于-1到1,输出区域$A$2,确定;
3、在C2输入=A2^2+B2^2;
4、在D2输入=IF(C6<=1,"1","0"),在E2输入=COUNTIF(D2:D10002,"1");
5、在F2输入=4*E2/10000。
实验二、蒲丰投针问题与无理数π的模拟
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
投针实验计算圆周率的数学分析
投针实验计算圆周率的数学证明方法,初中一般是采取假设针弯成直径等于平行线距离的方法巧妙证明。
这个方法是基于不管针弯成什么形状,针上的每一个部位与平行线相交的概率相同,但这是感观上的认识,要把其中原因解释清楚不是很容易。
笔者从纯数学的角度来推导这个公式。
一、投针问题的由来
1777年法国科学家布丰提出的一种计算圆周率的方法——随机投针法,即著名的蒲丰投针问题。
这一方法的步骤是:
1) 取一张白纸,在上面画上许多条间距为d的平行线。
2) 取一根长度为的针,随机地向画有平行直线的纸上掷n次,观察针与直线相交的次数,记为m
3)计算针与直线相交的概率.
18世纪,法国数学家布丰和勒可莱尔提出的“投针问题”,记载于布丰1777年
出版的著作中:“在平面上画有一组间距为d的平行线,将一根长度为的针任意掷在这个平面上,求此针与平行线中任一条相交的概率。
”布丰本人证明了,这个概率是:
,π为圆周率。
二、投针实验的数学证明
投针这个动作是由两个事件构成的。
事件1:针投下后与平行线构成一定的夹角。
我们来分析一下针投下后与平行线之间的成某一特定夹角时的概率。
设针投下后与平行线之间的夹角为,则在0与之间。
针与平行线之间的夹
角在到+之间的概率为,当时,可看作针投下后与平行线之
间成某一特定夹角为的概率。
事件2:针投下后会在平行线垂直的方向形成一个投影,针与平行线相交等于它
的垂直投影与平行线相交。
这个投影的长度在0到之间。
此时针在水平方向的投影为。
再分析与平行线相交的概率。
等于我们将
问题转化成长度为的针,并且只允许它处在与平行线垂直的方向上,这时它与平行线相交的概率显然为:
因为每一次投掷都是由上述两个事件组成的,因而对于针与平行线之间的夹角在到
+之间时,针与平行线相交的概率为这两个事件概率的乘积,即:
因为针与平行线之间构成的夹角在0-π之间每个角度的机会都是均等的,因此
针与平行线相交的概率相当于针落在每个附近范围内,当时与平行线相交的所有概率之和。
这个概率可用下列定积分表示,并可求出这个定积分的值为:
这是一个有趣的结论,当实验用针的长度时,针于平行线相交的概率就是。
笔者还用计算机模拟了这个实验,证实经过4万次投掷,算出的π值误差小于万分之二。
参考文献:
[1] 蒲丰投针问题/view/1037888.htm
[2] 投针实验/view/4154b0eb81c758f5f61f6786.html。