收藏 分享(赏)

数学建模生日问题.doc

上传人:11xg27ws 文档编号:7778787 上传时间:2019-05-25 格式:DOC 页数:4 大小:61KB
下载 相关 举报
数学建模生日问题.doc_第1页
第1页 / 共4页
数学建模生日问题.doc_第2页
第2页 / 共4页
数学建模生日问题.doc_第3页
第3页 / 共4页
数学建模生日问题.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、数学建模实验报告试验名称:生日问题问题背景描述:在 100 个人的团体中,如果不考虑年龄的差异,研究是否有两个以上的人生日相同。假设每人的生日在一年 365 天中的任意一天是等可能的,那么随机找 n个人(不超过 365 人)。求这 n 个人生日各不相同的概率是多少?从而求这 n个人中至少有两个人生日相同这一随机事件发生的概率是多少?实验目的:用计算机求解概率计算问题;当幂方次数较大时用多项式拟合方法确定求概率的近似计算公式;了解随机现象的计算机模拟技术。实验原理与数学模型:这是一个古典概率问题,n 个人中每一人的生日都可能在 365 天中任何一天,样本空间中样本点总数为 365 ,考虑 n 个

2、人的生日两两不同,第一个人的生日n可能在 365 天中任一天,第二个人的生日不能与第一个人生日相同,第二个人生日可能在 364 天中任何一天,类推可得,n 个人生日两两不同的这一事件的总共有 365*364*(365-n+1). 故这 n 个人的生日各不相同的概率(可能性)以下面公式计算:P (1)n365)1(*.4因而,n 个人中至少有两人生日相同这一随机事件发生的概率为:P(n)= (2)n)365(.但是在利用公式进行计算时,所用的乘法次数和除法次数较多,可以考虑用多项式做近似计算。这需要解决多项式拟合问题。主要内容(要点):1、求出 n 个人中至少有两个人生日相同的概率 P(n)的近

3、似公式;2、根据 P(n)的近似公式,用计算机分别计算出当团体人数取n=1,2,100 时的概率值:P(1),P(2),P(100)。在Matlab 环境下用指令 plot(p)绘制图形,描述概率值随团体人数变化的规律;3、特殊概率值的计算。在有 40 个学生的班上,至少有 2 个同学生日相同的概率是多少?60 个人的团体中,至少有两个人生日在同一天的概率又是多少?在 80 个人的团体中,情况又如何?4、用 5 次多项式拟合方法寻找一个近似计算概率的公式;5、考虑团体总人数对概率值的影响;计算机仿真(数值模拟)。实验过程记录(含:基本步骤、主要程序清单及异常情况记录等):1、利用(2),用计算

4、机分别计算出当团体人数取 n=1,2,100 时的概率值:P(1),P(2),P(100),并绘制图形。Matlab 程序具体如下:for k=1:100p(k)=1-prod(365-k+1:365)/365k;endplot(p)并以 shengriyi.m 为文件名保存,然后在 Matlab 工作环境下输入如下指令: shengriyi结果所得图形如下:2、特殊概率值的计算。由于前面已经计算了概率值 P(k)(k=1,2,100),所以只需键入 P(40),P(60),P(80)即可。如输入如下指令: p(40)ans =0.8912一个 40 个同学的学生班上,至少有两个同学生日相同的

5、概率是 P(40)=0.8912;同理可求出 60 个人的团体中,至少有两个人生日相同的概率是 P(60)= 0.9941;在 80 个人的团体中,至少有两人生日相同的概率是 P(80)=0. 0.9999。3、参考上图,用五次多项式拟合方法寻找近似计算概率的公式。在 Matlab 环境下键入下列指令(该指令为求五次多项式拟合的多项式系数): n=1:100; c5=polyfit(n,p,5)c5 =-0.0000 0.0000 -0.0001 0.0023 -0.0046 -0.0020该多项式即为: 02.46.023.1.0345652434251 xxxcxcxc在 Matlab 环

6、境下继续键入下列指令: p5=polyval(c5,n); /用多项式近似计算 100 个概率值 plot(n,p,n,p5,.) /画出拟合多项式的图象与概率曲线作比较结果所得的图象如下所示:用五次多项式作近似计算 P(30)、P(50)和 P(70),指令和结果如下: p5(40)ans =0.8895 p5(60)ans =0.9985 p5(80)ans =0.99434、在某团体中,要保证“至少有两人生日相同”的概率大于 99%,可以利用第一个步骤以算出的 100 个概率值,键入如下指令: find(p0.99),可得结果为:ans =Columns 1 through 27 57

7、58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83Columns 28 through 44 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100从结果可看出,该团体总人数若超过 57 人,则这个团体中至少有两人生日相同的概率将大于 99%。5、算机仿真(数值模拟)。随机产生 30 个正整数,介于 1 到 365 之间(用这30 个数代表一个学生班的 30 个同学的生日),然后统计数据,观察是否有两人以上的人生日相同。当 30 人中有两人生日

8、相同时,计算机输出为“1”,否则输出为“0”。如此重复观察 100 次,可得频率 。下面是做计算机10f模拟的 Matlab 源程序:n=0;for m=1:100y=0;x=1+fix(365*rand(1,30);for i=1:29for j=i+1:30if (x(i)=x(j),y=1; break,endendendn=n+y;endf=n/mshengrier.m 为文件名保存在 Matlab 工作空间中,并在 Matlab 环境下键入 j,回车,可输出结果: =0.650010f实验结果报告与实验总结:通过本试验的学习,对一般较简单的 Matlab 语句有了更深得了解,对一些循环语句也有了一定的认识,但对于语句与语句之间在循环判断条件下如何进行连接,以及如何写出正确的语句还存在着一定的困难。然而从这个实验中也有了不少的收获,在 Matlab 环境下计算概率值,但当幂方很大的时候,就较难用乘幂直接求出,其已超出计算机的最大数,最终只能作近似计算,而用拟合多项式作近似误差很小,是一种很好的方法;用计算机模拟 100 次,可以计算出 30 人中至少有两人生日相同的频率值。注意到频率的波动性,再次运行程序所得频率值的结果可能会有所差异,当模拟结果的频率值接近与前面的概率值时,给所求的概率作了直观的说明。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报