Solution to birthday probability problem: If there are n people in a classroom, what is the probability that at least two of them have the same birthday?
P = 1-365!/(365-n)!/365^n
If you try to solve this with large n (e.g. 30, for which the solution is 29%) with the factorial function like so:
P = 1-factorial(365)/factorial(365-30)/365^30
Matlab will output NaN because Matlab tries to compute very large values here.
The approach in this script is to start from n=1 and at each step use the previous step's result to avoid dealing with large numbers.
samil (2020). Birthday probability solution (https://www.mathworks.com/matlabcentral/fileexchange/34860-birthday-probability-solution), MATLAB Central File Exchange. Retrieved .
Here is a Monte Carlo solution. Increase the number of samples to improve the accuracy.
if numel(birthd(:,j))-numel(unique(birthd(:,j))) >0