matlab算百人同生日概率

本博文源于matlab基础,主要探讨在matlab环境下计算概率的话题

例题:在100个人的团体中,如果不考虑年龄的差异,研究是否有两个以上的人生日相同。假设每个人的生日一年365天中的任意一天是等可能的,那么随便找n个人(不超过365人),求生日相同的概率

分析:
学过概率论的同学知道,这个直接用排列组合出答案,也就是

365/365 * 364/365 * 363/365....以此类推

因此转化为matlab代码时主要了解阶乘计算就行了,求阶乘的函数

prod(A) %其中A可以是数组或矩阵

效果

在这里插入图片描述
人数越多的情况下,越接近1,与老师上课的情形非常相似。

转化为matlab代码

>> for n =1:100
p0(n) = prod(365:-1:365-n+1)/(365^n);
p1(n) = 1- p0(n);
end
>> n=1:100;
>> plot(n,p0,n,p1,'-')
>> xlabel('人数')
>> ylabel('概率')
>> legend('生日各不相同的概率','至少两人相同的概率')
>> axis([0 100 -0.1 1.1])
>> grid on
>> 
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页