資源簡介
aloha.m
代碼片段和文件信息
?for?m=2:1:500???????????????????%m表示標簽數
????n=1000;??????????????????????%aloha算法m表示m個標簽,n表示重發次數
????A=rand(mn);?????????????????%生成一個0-1分布的矩陣
????A1=0.5*A;????????????????????%生成一個0-0.5分布的矩陣,假設隨機退避時間服從0-0.5分布
????B=cumsum(A12);??????????????%矩陣B是對A1每列相加得到的,表示隨機發送的時間
????T=B(1n);????????????????????%T為標簽均發送時間,即為觀察時間
????C=1:1:(m*n);?????????????????%生成一個向量
????for?i=1:m????????????????????%將矩陣B轉化為向量,賦值到向量C
????????for?j=1:n
??????C(1(i-1)*n+j)=B(ij);
????????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(1i)<=T???????????%只要小于觀察時間T
- 上一篇:Matlab GUI 密碼登陸框
- 下一篇:landweber迭代方法
評論
共有 條評論