首页 > 编程知识 正文

matlab画圆函数,蒲丰投针实验matlab

时间:2023-05-03 18:48:17 阅读:160387 作者:4372

文章目录1 .前言2 .实验目的3 .实验原理(1)记述问题)2)解决问题4 )实验过程5 )实验结果6 )实验结论7.Matlab代码

1 .前言

学习概率论,为了实现蒲丰投针实验,决定自行编程计算(pi的值)。 其中,本文的代码部分参考了这篇文章。

2 .通过实验目的仿真实现蒲丰投针实验,计算值。

3 .实验原理)1)在问题描述平面上划出多条a(a )间隔的平行线,随机向该平面投出长度为l(l ) l ) la ) la )的针nn次,观察针与直线相交的次数为nnnn,计算该针与任意直线相交的概率。

)2)为了解决问题,将从针的中心点到最近的平行线的距离设为xx,(phi表示针和平行线所成的角。 0xa2,0,0xfrac{a}{2},0phipi,0x2a,0,s

p = G 的 面 积 S 的 面 积 = 1 2 ∫ 0 π l sin ⁡ ϕ d ϕ 1 2 a π = 2 l π a p=frac{G的面积}{S的面积}=frac{frac{1}{2}int_0^pi lsin phi dphi}{frac{1}{2}a pi}=frac{2l}{pi a} p=S的面积G的面积​=21​aπ21​∫0π​lsinϕdϕ​=πa2l​.用频率 n N frac{n}{N} Nn​代替概率 p p p即可得 π = 2 l N a n pi=frac{2lN}{an} π=an2lN​,并以此来计算 π pi π值.


(图来源网络,侵删)

4.实验过程

根据实验原理用Matlab编写程序,通过蒙特卡洛法生成规定量的随机数模拟蒲丰投针实验的结果,通过不断增加试验次数来得到更加精确结果.

5.实验结果 a a a n n n P i Pi Pi第一次1100003.148779847809第二次1100003.147128245476第三次11000003.149440974227第四次11000003.140539125883第五次110000003.144044393907第六次110000003.145742237881第七次1100000003.139098147566第八次1100000003.142210146825第九次1200000003.140213681074第十次1300000003.1411943292026.实验结论

由实验结果可以看出,可以看出当 n n n足够大时,频率接近概率,蒲丰投针模拟实验可以得到较为精确的 π π π值。

7.Matlab代码 l = 0.6; %针长度a = 1; %平行线宽度,l和a均可修改,只要满足l<a即可n = 100000; %做n次投针试验y = unifrnd(0, a/2, 1, n); %在[0, a/2]内服从均匀分布随机产生n个数theta = unifrnd(0, pi, 1, n); %在[0, pi]内服从均匀分布随机产生n个数k=sum(y<(l/2)*sin(theta));%记录针与平行线相交的次数pival = (2*l*n)/(a*k);z=sprintf('%.12f',pival);disp(z)

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