用matlab仿真时隙ALOHA 10
form=2:1:500%m表示标签数n=1000;%aloha算法,m表示m个标签,n表示重发次数A=rand(m,n);%生成一个0-1分布的矩阵A1=0.5*A;B...
for m=2:1:500 %m表示标签数
n=1000; %aloha算法,m表示m个标签,n表示重发次数
A=rand(m,n); %生成一个0-1分布的矩阵
A1=0.5*A;
B=cumsum(slotted(A1,2),0.001); ??????????????????
T=B(1,n); %T为标签均发送时间,即为观察时间
C=1:1:(m*n); %生成一个向量
for i=1:m %将矩阵B转化为向量,赋值到向量C
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; %初始化N(发送成功的数据包)
M=0; %初始化M,总共的数据包
for i=1:(m*n-1) %此循环用于计算M与N
if D(1,i)<=T %只要小于观察时间T就加1
M=M+1;
end
if D(1,i)>=0.001
N=N+1;
end
G=T0/T*M; %仿真得到的平均交换的数据包量,由于这里假设所有数据包的宽度相同且都为T0, T为观察时间
S=T0/T*N; %仿真得到的吞吐量
plot(G,S,'r.'); %绘出G与S的图像
hold on; %保留在同一张图上
end
xlabel('lamida'); %添加X轴的标题
title('s-aloha'); %添加标题
legend('S'); %添加注释
grid on; %添加网格
end
---------------------------------------------------------------------------------
第5行???????该怎么改 展开
n=1000; %aloha算法,m表示m个标签,n表示重发次数
A=rand(m,n); %生成一个0-1分布的矩阵
A1=0.5*A;
B=cumsum(slotted(A1,2),0.001); ??????????????????
T=B(1,n); %T为标签均发送时间,即为观察时间
C=1:1:(m*n); %生成一个向量
for i=1:m %将矩阵B转化为向量,赋值到向量C
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; %初始化N(发送成功的数据包)
M=0; %初始化M,总共的数据包
for i=1:(m*n-1) %此循环用于计算M与N
if D(1,i)<=T %只要小于观察时间T就加1
M=M+1;
end
if D(1,i)>=0.001
N=N+1;
end
G=T0/T*M; %仿真得到的平均交换的数据包量,由于这里假设所有数据包的宽度相同且都为T0, T为观察时间
S=T0/T*N; %仿真得到的吞吐量
plot(G,S,'r.'); %绘出G与S的图像
hold on; %保留在同一张图上
end
xlabel('lamida'); %添加X轴的标题
title('s-aloha'); %添加标题
legend('S'); %添加注释
grid on; %添加网格
end
---------------------------------------------------------------------------------
第5行???????该怎么改 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询