首页 > 编程知识 正文

蒲丰投针实验投针20次,蒲丰实验的数学原理

时间:2023-05-05 07:42:16 阅读:160390 作者:923

为了做ppt,我会在这里先暂时放置自己的代码,有很多不合适的地方请多加指正!

实验过程:1)取一张白纸,在上面画很多间隔为a的平行线。 2 )取一根长为L(LA )的针,在平行线纸上随机投n次,观察针与直线相交的次数,记为m。 3 )计算针与直线相交的概率。 投掷位置是随机的,采用随机变量模拟投掷在纸上的位置和角度。 设针y轴最低点的坐标为y,与x轴所成的角度为((0,90度) ); 如果样本量足够大,可以使用估算圆周率。 这里固定平行线的间隔,设定为1000个单位。 实验中对1000000次的组,共计进行了1000次的模拟。 由于从最初的组实验开始每1组针长加1在y轴上具有周期性,所以在此只考虑针最低点的y坐标y[ 0,1000 ]的情况。

因此,如果是y l*sin1000,则指针与平行线交叉。

投针模拟图:

代码如下所示。

# include stdio.h # include math.h # include stdlib.h # define pi 3.14159265 doublep [ 1000 ]; //为了记录实验数据,p即概率pi//int main () {double x,y,place,count,all=0; int i,l; srand () unsigned (time ) ) null ); //随机数初始化//for(L=0; l1000; //1000次针长实验//{count=0; for(I=0; i1000000; I(/)各组实验百万次(/(y=(L1 ) ) 1.0 ) sin ) rand ) ) 1.0/) rand_max1) *PI/2.0 ); //y用于记录针在y轴方向上的投影长度//place=1000*rand(*1.0 ) () rand_max1) (1.0 ) )。 //place最低点坐标//if(yplace-1000.0 )=0) ) /相交后用于记录一次(//count ) }p[l]=2000*(L1 ) (1.0/) //蒲丰投针概率公式=2 * l/a * 到//}for(I=0; i1000; I ) all=p[i]; printf('%lf(n ),all/1000 ); //取平均//return 0; }

因为是粗略的实验,所以误差可能很大。

接下来是鸡下蛋的问题。 求,但在计算的时候已经知道了。 (大雾) )。

展示了结果。

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