% % aloha(n_step, p_0, p_1, p) % % n_step = antal tidssteg % p_0 = sannolikheten att 0 nya meddelande kommer % p_1 = sannolikheten att 1 nytt meddelande kommer % p_2 = 1 - (p_0 + p_1) = sannolikheten att 2 nya meddelande kommer % p = sannolikheten för att ett meddelande i kön försöker sändas % % Försöker man sända två eller fler meddelanden så misslyckar man och de % läggs på kön. function aloha(n_step, p_0, p_1, p) p_2=1-(p_0+p_1); if p_0 + p_1 < 1 else disp('p_0 + p_1 + p_2 > 1') return end queue=[0]; through=0; for i=2:n_step %Hur många meddelande kommer?? r_a=rand; if r_a < p_0 a=0; elseif p_0 < r_a && r_a < p_0 + p_1 a=1; else a=2; end %Vad händer med kön?? if queue(i-1)==0 if a==2 queue(i)=2; elseif a==1 queue(i)=0; through = through + 1; else queue(i)=0; end else if a==0 r_q=rand(1,queue(i-1)); if length(find(r_q