36 lines
1.1 KiB
Matlab
36 lines
1.1 KiB
Matlab
number_of_senders = 4;
|
||
number_of_timeslots = 1000;
|
||
access_probability = 0:0.01:1;
|
||
|
||
access_probability_length = length(access_probability);
|
||
|
||
sender_access = zeros(number_of_senders);
|
||
|
||
% | slot1 | slot2 | ...
|
||
% prob1 | | | ...
|
||
% prob2 | | | ...
|
||
% ... | ... | ... | ...
|
||
result = zeros(access_probability_length, number_of_timeslots);
|
||
|
||
% simulate all time slots on each probability
|
||
for probability_idx = 1 : access_probability_length
|
||
|
||
current_result = zeros(1, number_of_timeslots);
|
||
probability = access_probability(probability_idx);
|
||
|
||
for time_slot = 1 : number_of_timeslots
|
||
% generate random sender accesses by probability
|
||
sender_access = zeros(1, number_of_senders);
|
||
for sender = 1 : number_of_senders
|
||
if rand() < access_probability(probability_idx)
|
||
sender_access(1, sender) = 1;
|
||
end
|
||
end
|
||
|
||
current_result(1, time_slot) = sum(sender_access(1, :)) == 1;
|
||
end
|
||
|
||
result(probability_idx, :) = current_result;
|
||
end
|
||
|
||
disp(result(floor(access_probability_length / 2), 1:100)) |