首页 > 编程知识 正文

蒲丰投针概率怎么求,python蒙特卡洛仿真

时间:2023-05-06 01:47:56 阅读:160392 作者:1244

点击右上角关注编辑。 除了分享技术文章外,还有很多福利。 私信01可以接收Python实战演习、PDF电子文件、面试集锦、学习资料等。

在Buffon的实验中,法国数学家Buffon介绍了一个问题。 假设我们有平行且等间隔的木纹铺的地板。 (如图所示,自由投掷长度小于木纹间距离的针,求出针与某一木纹相交的概率。

Buffon证明了该概率与圆周率pi相关,因此Buffon提出了一种计算圆周率的方法——随机注射法。 这就是蒲丰投针问题(又译为“布丰投针问题”)。

实验步骤取白纸,在上面画很多间隔为a的平行线。

取一根长度为l(LA )的针,在平行线纸上随机投n次,观察针与直线相交的次数,记为m。

计算针与直线相交的概率。

实验结果表明,法国数学家布丰提出的“投针问题”记载在布丰1777年出版的著作中。 "在平面上画一组间隔为a的平行线,将长度为l(la )的针任意扔在这个平面上,求出此针与其中一条平行线相交的概率。 ”

布丰本人证明了这一概率:

P=2L/a

(这里是圆周率) )。

因为与有关,所以可以考虑利用投针试验推测圆周率的值。

证明过程知道Buffon遇到python神器,可以通过实验求出pi,我们可以用计算机代替人工手扔!

通过numpy生成随机数字,我们可以释放双手,轻松模拟上万次实验

代码//# createdwithpythonaiimportnumpyasnpdefbuffon (a,l,n ) : XL=NP.pi * NP.random.random (n ) n ) yl=0. yinzip(XL,yl ) : if y 0.5*l*np.sin(x ) x ) : m=1result=2* l/a* n/m print (f ' pi的估计值为{result} ' ) bbi

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。