- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
综合实验三蒲丰投针问题实验
综合实验三 蒲丰投针问题实验
一、实验目的
1. 掌握几何概型、熟悉Monte Carlo方法的基本思想;
3.会用MATLAB实现简单的计算机模拟
二、实验内容
在用传统方法难以解决的问题中,有很大一部分可以用概率模型进行描述.由于这类模型含有不确定的随机因素,分析起来通常比确定性的模型困难.有的模型难以作定量分析,得不到解析的结果,或者是虽有解析结果,但计算代价太大以至不能使用.在这种情况下,可以考虑采用Monte Carlo方法。下面通过例子简单介绍Monte Carlo方法的基本思想.
Monte Carlo方法是计算机模拟的基础,它的名字来源于世界著名的赌城——摩纳哥的蒙特卡洛,其历史起源于1777年法国科学家蒲丰提出的一种计算圆周的方法——随机投针法,即著名的蒲丰投针问题。这一方法的步骤是:
取一张白纸,在上面画上许多条间距为d的平行线,见图8.1(1)
取一根长度为的针,随机地向画有平行直线的纸上掷n次,观察针与直线相交的次数,记为m
3)计算针与直线相交的概率.
由分析知针与平行线相交的充要条件是
其中
建立直角坐标系,上述条件在坐标系下将是曲线所围成的曲边梯形区域,见图 8.l(2).
由几何概率知
4)经统计实验估计出概率由(*)式即
Monte Carlo方法的基本思想是首先建立一个概率模型,使所求问题的解正好是该模型的参数或其他有关的特征量.然后通过模拟一统计试验,即多次随机抽样试验(确定m和n),统计出某事件发生的百分比.只要试验次数很大,该百分比便近似于事件发生的概率.这实际上就是概率的统计定义.利用建立的概率模型,求出要估计的参数.蒙特卡洛方法属于试验数学的一个分支.
问题:
(1) 经过n次试验后圆周率估计与的圆周之间的差的绝对值的规律是?
其中n分别取100,1000,2000,5000,10000,20000,50000
(2) 参数l,d的不同选择,会对圆周率的估计有什么影响?
可以选择d为l.5倍,2倍,3倍,4倍,5倍,8倍,10倍,20倍,50倍
三、实验要求
写出实验步骤、结果显示及分析
四、实验分析
以x 表示针的中点与最近一条平行线的距离,以 j表示针与此线间的交角.显然
0≤x≤a/2
0≤j≤p
针与平行线相交的充要条件是
x≤lsin(j)/2
因(x,j)在图(4)中下面的矩形中等可能地取点,可见针与平行线相交的概率p为图(4)正弦曲线线段与横轴围成的面积同图(4)中矩形面积的比.经计算得
p= 另一方面得到
如大量得投针实验,利用大数定理知:随着实验次数的增加,针与平行线相交的频率依概率收敛到概率p.那么在上式中以频率代替相应的概率p,则可以获得圆周率p的近似值.下面的程序是用matlab语言编写的计算机模拟投针以计算p的近似值的程序.
五、实验步骤
1.编写MATLAB程序
clear
d=2
l=0.5
counter=0
n=100
x=unifrnd(0,d/2,1,n)
fi=unifrnd(0,pi,1,n)
for i=1:n
if x(i)1*sin(fi(i))/2
counter=counter+1
end
end
fren=counter/n
pihat=2*1/(d*fren)
sqrt((pihat-pi)^2)
结果显示:
fren = 0.3300
pihat =3.0303
ans =0.1113
以此类推:将n=1000,2000,5000,10000,20000,50000分别代入,可得:
当n=1000时,
fren =0.3240
pihat =3.0864
ans =0.0552
当n=2000时,
fren =0.3230
pihat =3.0960
ans =0.0456
当n=5000时,
fren =0.3204
pihat =3.1211
ans =0.0205
当n=10000时,
fren =0.3190
pihat =3.1348
ans =0.0068
当n=20000时,
fren =0.3172
pihat =3.1521
ans =0.0105
当n=50000时,
fren =0.3177
pihat =3.1478
ans =0.0062
2.改变d的取值,分别为1.5, 2 ,3 ,4,5,8,10,20,50倍
仍用1中的程序:
clear
d=3
l=0.5
counter=0
n=100
x=unifrnd(0,d/2,1,n)
fi=unifrnd(0,p
文档评论(0)