
投针实验详解.docx
5页问题的提出在人类数学文化史中,对圆周率兀精确值的追求吸引了许多学者的研究兴 趣在众多的圆周率计算方法中,最为奇妙的是法国物理学家布丰(Boffon)在 1777 年提出的“投针实验”与传统的“割圆术”等几何计算方法不同的是,“投 针实验”是利用概率统计的方法计算圆周率的值,进而为圆周率计算开辟了新的 研究途径,也使其成为概率论中很有影响力的一个实验本节我们将借助于MATLAB仿真软件,对“投针实验”进行系统仿真,以此 来研究类比的系统建模方法和离散事件系统仿真二、 系统建模 “投针实验”的具体做法是:在一个水平面上画上一些平行线,使它们相邻 两条直线之间的距离都为a;然后把一枚长为I (0 所谓的系统仿真是指以计算机为工具,对具有不确定性因 素的、可模型化的系统的一种研究方法建立能够反映实验情况的数学模型是系 统仿真的基础系统建模中需解决两个问题,一个是如何模拟钢针的投掷结果, 另一个是如何判断钢针与平行线的位置关系这里,设0为钢针中点,y为0点 与最近平行线之间的距离,0为钢针与平行线之间的夹角(0 <0 < 180首先,由于人的投掷动作是随机的,钢针落下后的具体位置也是随机的,因 此可用按照均匀分布的两个随机变量y和0来模拟钢针投掷结果其次,人工实验时可以用眼睛直接判断出钢针是否与平行线相交,而计算机 仿真实验则需要用数学的方法来判别如下图所示,如果 y、l 和0满足关系式 y <-1sin0,那么钢针就与平行线相交,否则反之,进而可以判断钢针与平行线2的位置关系三、 基于MATLAB/SIMULNIK的仿真实验在系统模型基础上,我们可以绘制出程序的流程图如下所示根据流程图,在MATLAB环境下可编写程序完成计算机系统仿真实验,在这里我们设定平行线之间的距离为 a二40cm,钢针长为L二30cm,计算精度 8=|pi_叫=0.00001,这些参数可以根据实际情况做以修改,下面是仿真程序:%投针实验:计算机模拟投针实验,计算圆周率%clearformat long a=40,L=30;n=0;k=0;pii=0; while(abs(pii-pi)>n=n+1; y=1/2*a*rand(1);q=pi*rand(1); if(y<1/2*L*sin(q)) k=k+1;pii=2*L*n/(a*k);enddisp('此次实验情况:’) disp('投掷次数:') disp(n)disp('相交次数:')disp(k)%主要参数值%设置计算精度%生成[0,a)区间的随机数%生成[0,180)区间的随机数%判断钢针与平行线是否相交%计算圆周率%显示投掷次数%显示钢针与平行线相交次数%显示计算出的圆周率值disp('实验结果:pi = ') disp(pii)end通过程序中的注释可以很好的理解程序内容。 程序运行时,将显示出每次的 “投针实验”情况,即显示当前总投掷次数、钢针与平行线相交次数以及由此计 算出来的圆周率值当满足所设置的精度要求后,程序停止运行,此时显示出当 钢针投掷 276427次后,所计算出来的圆周率值满足精度要求,此时钢针与平行 线相交131984 次,圆周率计算结果为当然,由于“投掷动作”具有随机性, 因此每次“投针实验”的仿真结果不一定相同为使计算结果更趋近于",可以 减小误差£的取值来提高计算精度,当然仿真时间也会随之变长这里对投针实验的基本原理做一简单解释首先,将一根钢丝弯成一个圆圈, 使其直径恰好等于平行线间的距离a可以想象得出,对于这样的圆圈来说,投 掷结果不外乎有两种:一种是与一条平行线相交,一种是与相邻两根平行线相切, 这两种情况都将导致圆圈和平行线有两个交点因此,如果圆圈扔下的次数为 n, 那么相交的交点数必为 2n然后,将圆圈拉直变成一条长为兀a的钢针显然,这样的钢针扔下时与平 行线相交的情形要比圆圈复杂得多,可能没有交点,有 1 个交点,2个交点,3 个交点,4 个交点由于圆圈和拉直后的钢针的长度相同,根据机会均等的原理, 当它们投掷次数足够多时,两者与平行线组交点的总数将是一样的。 换句话说, 当长度为兀a的钢针扔下无穷多次后,与平行线相交的交点总数也为2n最后,讨论钢针长为I的情形由于钢针与平行线相交的交点总数k与钢针 2ln 长度I成正比,则存在下列比例关系式k:心2n:沢a,进而可求得沢=竺ak四、结论从本质上看,上述投针实验具有朴素的离散事件系统仿真思想如果按照布 丰的做法,进行成千上万次的投针实验和手工计算,势必要消耗大量的人力、物 力和财力而通过类比的方法,对实验进行系统建模,在此基础上使用计算机进 行系统仿真,以此来解决“投针问题”将变得非常简单从中我们可得出以下结 论:首先,有意识地运用类比方法将有助于掌握复杂事物的内在规律,显著提升 数学建模能力数学建模的过程蕴含着许多重要的数学思想和方法,其中类比方 法是最重要也是最有效的一种类比建模的过程可表述为,根据已掌握的对客观 事物的经验与认识,通过抽象分析运用数学语言、数学符号、数学公式等数学概 念来表达这些量,从多种复杂因素中抽取主要因素,忽略次要因素,抓住事物的 本质特征,运用一系列等式或不等式来表达各个量之间的关系,建立起研究对象 的数学模型其次,在建好的数学模型基础上,通过计算机进行系统仿真可对研究对象进 行快速有效的模拟。 20 世纪 40年代以后,随着电子计算机的出现和发展,人们 可以选择适当的软件和编程方法,使用计算机来模拟仿真一些实验和计算计算 机具有计算速度快和存储容量大的优点,采用系统仿真技术可以代替许多实际上 非常庞大而复杂的实验,并将实验结果快速的进行运算处理和结果分析,上述“投 针实验”已经证明了这一点。












