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]));
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
