蒲丰(Buffon)投针试验
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、利用Matlab计算机语言验证蒲丰(Buffon)投针试验问题
给定a=10,b=5时,模拟100万次投针实验的Matlab程序如下:
a=10;
b=5;
n=1000000;
p=10; % a为平行线间距,b为针的长度,n为投掷次数,p为有效数字位数
x=unifrnd(0,a/2,[n,1]);
phi=unifrnd(0,pi,[n,1]); % 产生均匀分布的随机数,分别模拟针的中点与最近平行线的距离和针的倾斜角
y=x<0.5*b*sin(phi); m=sum(y); % 计数针与平行线相交的次数
PI=vpa(2*b*n/(a*m),p)
运行结果
PI =
3.138919145
二、利用C++计算机语言编程通过大量重复实验验证以下结论:三个阄,其
中一个阄内写着“有”字,两个阄内不写字,三人依次抓取,各人抓到“有”字阄的概率均为1/3。
程序如下:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
int n=500000;
int i,a[3]={0};
srand(time(NULL));
for(i=0;i<n;i++)
a[rand()%3]++;
printf(
"共测试%d次,其中有字事件有%d次, 占%.2f%%\n"
"抓到无字事件1有%d次,占%.2f%%\n"
"抓到无字事件2有%d次,占%.2f%%\n"
"抓到无字事件共%d次,占%.2f%%",
n,a[0],a[0]*100.0/n,
a[1],a[1]*100.0/n,
a[2],a[2]*100.0/n,
a[1]+a[2],(a[1]+a[2])*100.0/n
);
return 0;
}。