- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
投针实验详解
问题的提出
在人类数学文化史中,对圆周率精确值的追求吸引了许多学者的研究兴趣。在众多的圆周率计算方法中,最为奇妙的是法国物理学家布丰(Boffon)在1777年提出的“投针实验”。与传统的“割圆术”等几何计算方法不同的是,“投针实验”是利用概率统计的方法计算圆周率的值,进而为圆周率计算开辟了新的研究途径,也使其成为概率论中很有影响力的一个实验。
本节我们将借助于MATLAB仿真软件,对“投针实验”进行系统仿真,以此来研究类比的系统建模方法和离散事件系统仿真。
系统建模
“投针实验”的具体做法是:在一个水平面上画上一些平行线,使它们相邻两条直线之间的距离都为a;然后把一枚长为l(0la)的均匀钢针随意抛到这一平面上。投针的结果将会有两种,一种是针与这组平行线中的一条直线相交,一种是不相交。设n为投针总次数,k为相交次数,如果投针次数足够多,就会发现公式计算出来的值就是圆周率。当然计算精度与投针次数有关,一般情况下投针次数要到成千上万次,才能有较好的计算精度。有兴趣的读者可以耐心地做一下这个实验。
为了能够快速的得到实验结果,我们可以通过编写计算机程序来模拟这个实验,即进行系统仿真。所谓的系统仿真是指以计算机为工具,对具有不确定性因素的、可模型化的系统的一种研究方法。建立能够反映实验情况的数学模型是系统仿真的基础。系统建模中需解决两个问题,一个是如何模拟钢针的投掷结果,另一个是如何判断钢针与平行线的位置关系。这里,设O为钢针中点,y为O点与最近平行线之间的距离,为钢针与平行线之间的夹角()。
首先,由于人的投掷动作是随机的,钢针落下后的具体位置也是随机的,因此可用按照均匀分布的两个随机变量y和来模拟钢针投掷结果。
其次,人工实验时可以用眼睛直接判断出钢针是否与平行线相交,而计算机仿真实验则需要用数学的方法来判别。如下图所示,如果y、l和满足关系式,那么钢针就与平行线相交,否则反之,进而可以判断钢针与平行线的位置关系。
基于MATLAB/SIMULNIK的仿真实验
在系统模型基础上,我们可以绘制出程序的流程图如下所示。
根据流程图,在MATLAB环境下可编写程序完成计算机系统仿真实验,在这里我们设定平行线之间的距离为,钢针长为,计算精度,这些参数可以根据实际情况做以修改,下面是仿真程序:
%投针实验:计算机模拟投针实验,计算圆周率%
clear
format long
a=40,L=30;n=0;k=0;pii=0; %主要参数值
while(abs(pii-pi)0.00001) %设置计算精度
n=n+1;
y=1/2*a*rand(1); %生成[0,a)区间的随机数
q=pi*rand(1); %生成[0,180)区间的随机数
if(y1/2*L*sin(q)) %判断钢针与平行线是否相交
k=k+1;
pii=2*L*n/(a*k); %计算圆周率
end
disp(此次实验情况:)
disp(投掷次数:)
disp(n) %显示投掷次数
disp(相交次数:)
disp(k) %显示钢针与平行线相交次数
disp(实验结果:pi=)
disp(pii) %显示计算出的圆周率值
end
通过程序中的注释可以很好的理解程序内容。程序运行时,将显示出每次的“投针实验”情况,即显示当前总投掷次数、钢针与平行线相交次数以及由此计算出来的圆周率值。当满足所设置的精度要求后,程序停止运行,此时显示出当钢针投掷 276427次后,所计算出来的圆周率值满足精度要求,此时钢针与平行线相交131984次,圆周率计算结果为3.14159670869196。当然,由于“投掷动作”具有随机性,因此每次“投针实验”的仿真结果不一定相同。为使计算结果更趋近于,可以减小误差的取值来提高计算精度,当然仿真时间也会随之变长。
这里对投针实验的基本原理做一简单解释。首先,将一根钢丝弯成一个圆圈,使其直径恰好等于平行线间的距离a。可以想象得出,对于这样的圆圈来说,投掷结果不外乎有两种:一种是与一条平行线相交,一种是与相邻两根平行线相切,这两种情况都将导致圆圈和平行线有两个交点。因此,如果圆圈扔下的次数为n,那么相交的交点数必为2n。
然后,将圆圈拉直变成一条长为的钢针。显然,这样的钢针
您可能关注的文档
最近下载
- JUKI重机LBH-1790AB中文说明书.pdf VIP
- 2025中考语文名著阅读专题02 《西游记》真题练习(单一题)(学生版+解析版).docx
- 2017海南省市政工程综合定额 第十册 拆除工程.pdf VIP
- 中国石油大学《马克思主义基本原理》2024年期末试卷(A卷).docx VIP
- 浙江强基联盟2025年8月高三联考地理试卷(含答案详解).pdf
- 体育竞赛组织与裁判课程教学大纲.pdf VIP
- 电力系统暂态分析第三版课后答案完.docx VIP
- 新时代思想学生读本(高中)4.3《依靠人民创造历史伟业》课件.pptx VIP
- 2017海南省市政工程综合定额 第十一册 措施项目.pdf VIP
- 《核心素养讲座》课件.docx VIP
原创力文档


文档评论(0)