How to add new elements in a big array

1 view (last 30 days)
I want to repeat this procedure for NT = 1e4 trials, storing the N-value for each trial in a 1e4 element array, and report the median number. how to make every iteration's length of the group gets added to the N array that I created the zeros syntax? I want just one array of NT elements at the end.
N = zeros(1,NT);
for j = 1:NT
% while loop for recycling the match of birthdays in the same week.
matchFound = 0;
k = 0; group = ceil(365*rand);
while matchFound == 0 && k <= NT
k = k + 1;
newBD = ceil(365*rand);
% if conditioning a group with birthdays in the same week.
if abs(newBD - group(k)) < 7 ...
|| abs(newBD - group(k) - 365) < 7 ...
|| abs(newBD - group(k) + 365) < 7
matchFound = 1;
fprintf('The required number of people is %i\n', length(group))
N = length(group);
end
% New Birthday groups upon each new addition of a person.
newG = [group; newBD];
group = newG;
end
end
fprintf('Median Number of People %i ', median(N))
end

Accepted Answer

James Tursa
James Tursa on 31 Jul 2019
Maybe assign into elements of N with indexing:
N(j) = length(group);
  3 Comments
James Tursa
James Tursa on 31 Jul 2019
I would assume the same place you are assigning it now. Just change the left hand side from N to N(j).

Sign in to comment.

More Answers (0)

Categories

Find more on Birthdays in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!