Birthday paradox

Illustration
s3942336 - 2022-05-05T16:15:07+00:00
Question: Birthday paradox

hey this is my code for my birthday paradox, why wouldnt it run when i chnage the values, the graph deosnt work mat= zeros(1, 365); N = app.RealisationsEditField.Value; dmax = app.GroupSizeEditField.Value; for k = 2:dmax for d = 1:N birthday = numrandays(k); for i = 1:length(birthday) b = birthday(i); match = find(birthday == b); if length(match) > 1 mat(k) = mat(k) + 1; break end end end end probability = mat/N; L = min(length(x), length(y)); x = 2:dmax; y = probability; plot(app.UIAxes, x(1:L), y(1:L), "Colour", "blue", "Linestyle", "-"); hold on y2 = 1 - exp(-(x.*x)/730); plot(app.UIAxes,(1:L), y2, "Color", "r", "Linestyle", "--"); xlim(app.UIAxes([0 dmax])); ylim(app.UIAxes([0 1]));

Expert Answer

Profile picture of John Williams John Williams answered . 2025-11-20

In this project we are going to create the Graphical User Interface using the MATLAB App Designer to simulate the birthday scenario or birthday paradox and combining to simulate the scenario of people in a group sharing a birthday, the GUI call two user define function that was create in the last module which is ‘datagen’ function which takes the input as the group size and based on that it will gives the day of the group from 1 to 365 days, 2nd is ‘bmatch’ function which is used to record the match discovery in the dataset generated using the 1st function.

 

MATLAB Code

 

classdef GUI_exported < matlab.apps.AppBase

    % Properties that correspond to app components
    properties (Access = public)
        UIFigure                    matlab.ui.Figure
        ResetButton                 matlab.ui.control.Button
        BirthdayParadoxLabel        matlab.ui.control.Label
        SimulateButton              matlab.ui.control.Button
        GroupSizeSpinner            matlab.ui.control.Spinner
        GroupSizeSpinnerLabel       matlab.ui.control.Label
        NoofSimulationSpinner       matlab.ui.control.Spinner
        NoofSimulationSpinnerLabel  matlab.ui.control.Label
        UIAxes                      matlab.ui.control.UIAxes
    end

    % Callbacks that handle component events
    methods (Access = private)

        % Code that executes after component creation
        function startupFcn(app, event)
            % Turn ON grids at Start
            grid(app.UIAxes,'on')
            % Set Simulation value to 10
            app.NoofSimulationSpinner.Value=10;
            % Set group size to 2
            app.GroupSizeSpinner.Value=2;
        end

 birthday-paradox

 


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!