1701008612
我和数学有约:趣味数学及算法解析 6.15 生日雷同
1701008613
1701008614
美国数学家柏格米尼曾经做过一个别开生面的试验:在一个盛况空前的人山人海的世界杯足球赛赛场上,它随机地在某看台上请23个球迷分别写下了自己的生日,结果竟发现其中的两个人生日相同。
1701008615
1701008616
【问题】怎么会这么凑巧呢?
1701008617
1701008618
【分析】
1701008619
1701008620
1701008621
设随机选取s(≤365)个人,记A={至少有两个人的生日相同},则={所有人生日全不相同},则:
1701008622
1701008623
1701008624
1701008625
1701008626
因此,随着选取人数s(≤365)的增加,概率P(A)接近于1;当s>365时,就成为一个必然事件。
1701008627
1701008628
下面通过计算机程序模拟生日问题,即从1,2,…,365个整数中随机产生s(用户自己输入)个可重复的整数来模拟实验结果。
1701008629
1701008630
步骤如下所示。
1701008631
1701008632
Step1:产生s个随机数,统计结果;
1701008633
1701008634
Step2:重复Step1多次,统计试验结果,并计算出现相同值的频率;
1701008635
1701008636
Step3:改变s,重复Step1和Step2,每一种情况下的频率;
1701008637
1701008638
Step4:绘制频率图和频率累计图并与理论结果比较。
1701008639
1701008640
MATLAB程序如下:
1701008641
1701008642
clc,clear,close all %清屏和清除变量 warning off %消除警告 %利用均匀分布产生随机数模拟 s = 1
:365; n=100; pv=[]; for k=1
:365 success=0; for i=1
:n %对每一个s,实验n次 y = floor(unifrnd(1,365,1,k)); %产生1到365之间的均匀分布随机数k个 %检查是否有相同的 minl = min(y); maxl = max(y); %最小、最大值求解 for j=minl
:maxl ii = find(y==j); if(length(ii)>1) success = success +1; %相同加1 break; end end end %计算概率 pv(k)=success/n; %理论概率 gv =[]; end for i=1
:365 gv(i)=1; for j=1
:i gv(i)=gv(i)*(365-j+1)/365; end gv(i)=1-gv(i); end %绘制图像 hold on %图像句柄保持 box on %盒子显示 grid on %网格化 plot(s,pv,’.’) %绘制频率图 plot(s,gv,‘r-‘,‘Linewidth’,1.5) %绘制概率图 legend(‘频率’,‘概率’) xlabel(‘生日问题模拟’) hold off %放弃图像句柄保留功能
1701008643
1701008644
运行程序输出图形如图6-27所示。
1701008645
1701008646
1701008647
1701008648
1701008649
图6-27 生日问题模拟结果
1701008650
1701008651
当n=20时,出项两个人的生日相同的概率已经升至0.41,因此柏格米尼的发现也就不足为怪了。从图6-27中可以看到,无论是理论结果还是模拟结果,当观察的人数超过50人之后,几乎一定会出现生日相同的人。
1701008652
1701008653
1701008654
1701008655
1701008657
我和数学有约:趣味数学及算法解析 6.16 足球门的危险区域
1701008658
1701008659
足球,世界第一运动,是全球体育界最具影响力的单项体育运动。标准的足球比赛由两队各派11名队员参与,包括10名球员及1名守门员,互相在长方形的草地1球1分,当比赛完毕后,得分最多的一队则代表胜出。如果在比赛规定时间内得分相同,则须看比赛章则而定,可以抽签、加时再赛或互射点球(十二码)等形式比赛分高下。足球比赛中除了守门员可以在己方禁区内利用手部接触足球外,球场上每名球员只可以利用手以外的身体其他部分控制足球(开界外球例外)。
1701008660
[
上一页 ]
[ :1.701008611e+09 ]
[
下一页 ]