aloha算法的matlab仿真
close all;clc;
for m=2:1:500
n=1000;
A=rand(m,n);
A1=0.5*A;
B=cumsum(A1,2);
T=B(1,n);
C=1:1:(m*n);
for i=1:m
for j=1:n
C(1,(i-1)*n+j)=B(i,j);
end
end
D=sort(C);
E=diff(D);
T0=0.001;
N=0;
M=0;
for i=1:(m*n-1)
if D(1,i)<=T
M=M+1;
if i==1&E(1,1)>=T0
N=N+1;
elseif i==(m*n-1)&E(1,(m*n-1))>=T0
N=N+1;
elseif i~=1&i~=(m*n-1)&E(1,i)>=T0&E(1,i-1)>=T0
N=N+1;
end
else continue
end
end
G=T0/T*M;
S=T0/T*N;
Q=S/G;
F=m/500;
plot(G,S,'r.',G,Q,'ko',G,F,'g*');
hold on;
end
xlabel('平均交换的数据包量G');
title('aloha算法仿真');
legend('吞吐量S','发送成功率Q','归一化标签数F');
grid on;
页:
[1]