生日悖论matlab模拟

2022-06-14 09:24:56 浏览数 (1)

概率论课堂小作业 要求用matab模拟生日悖论 条件:30人||100次 本来想白嫖网上的解答 结果竟然找不到用matlab模拟仿真的 所幸不难 自己动手,也为后人铺路。 话不多说,直接上代码

代码语言:javascript复制
clc
clear
m=100; %仿真次数
N=30;%学生人数
for j = 1:m
    B = zeros(365);
    for i=1:N
        A(i)=unidrnd(365);%生日的365天
        B(A(i))= B(A(i)) 1;
        if (B(i)>=1)
            plot(j,A(i),'*','color',[1 0 0]);
            hold on;
        else 
            plot(j,A(i),'*','color',[0.6 0.6 0.6]);
            hold on;
        end
end
end
xlabel("times");
ylabel("date");
title("Birthday paradox scatter diagram(30 students)");
axis([0,101,0,368]);

对于axis范围的解释: 取101,368是让画面更美观 否则点在边框上 ,比较难看 下面是效果图

0 人点赞