?? pmac_.m
字號(hào):
%初始化
N_frame=10
N_slot=6
%節(jié)點(diǎn)的模式
last_patt_node1=0;
last_patt_node2=0;
cur_patt_num_node1=1 %模式的數(shù)目
cur_patt_num_node2=1
cur_patt_node1=1; %初始模式
cur_patt_node2=1;
cur_patternbit_node1=1;
cur_patternbit_node2=1;
%節(jié)點(diǎn)的發(fā)送情況
flag_send_node1=0;
flag_receive_node2=0;
%保存結(jié)果的變量
suc_node1=0;
unsuc_node1=0;
energy_node1=0;
Buf_node1=0
%還需要根據(jù)需要定義變量
%energy_node2=0;
%delay_
%---------進(jìn)入仿真過程-----------------
for i=1:1:N_frame
for j=1:1:N_slot
j
if flag_send_node1==1
last_patt_node1=1;
elseif (cur_patt_node1==1)&&(flag_send_node1==0)
cur_patt_num_node1=cur_patt_num_node1+1;
last_patt_node1=[0 cur_patt_node1];
elseif cur_patt_node1==[01] & flag_send_node1==0
cur_patt_num_node1=cur_patt_num_node1+1;
last_patt_node1=[0 cur_patt_node1];
elseif cur_patt_node1==[001] & flag_send_node1==0
cur_patt_num_node1=cur_patt_num_node1+2;
last_patt_node1=[00 cur_patt_node1];
elseif cur_patt_node1==[00001] & flag_send_node1==0
cur_patt_num_node1=cur_patt_num_node1+1;
last_patt_node1=[0 cur_patt_node1];
elseif cur_patt_node1==[000001] & flag_send_node1==0
cur_patt_num_node1=cur_patt_num_node1;
last_patt_node1=cur_patt_node1;
%更新節(jié)點(diǎn)模式,patt_node1變了
last_patt_node1=cur_patt_node1;
cur_patt_node1
last_patt_node1
end
if flag_receive_node2==1
last_patt_node2=1;
elseif cur_patt_node2==1 & flag_receive_node2==0
last_patt_node2=[0 cur_patt_node2];
elseif cur_patt_node2==[01] & flag_receive_node2==0
last_patt_node2=[0 cur_patt_node2];
elseif cur_patt_node2==[001] & flag_receive_node2==0
last_patt_node2=[00 cur_patt_node2];
elseif cur_patt_node2==[00001] & flag_receive_node2==0
last_patt_node2=[0 cur_patt_node2];
elseif cur_patt_node2==[000001] & flag_receive_node2==0
last_patt_node2=cur_patt_node2;
end
%更新節(jié)點(diǎn)模式,patt_node2變了
last_patt_node2=cur_patt_node2;
cur_patt_node2
last_patt_node2
if (flag_send_node1==1)&&(cur_patternbit_node1==0)
Buf_node1=Buf_node1+1;
Buf_node1
end
%得到當(dāng)前slot下收發(fā)節(jié)點(diǎn)的模式bit
k=mod(j,cur_patt_num_node1);
if j<=cur_patt_num_node1
cur_patternbit_node1=cur_patt_node1(j);
elseif 0==k & j>cur_patt_num_node1
cur_patternbit_node1=cur_patt_node1(cur_patt_num_node1);
else
cur_patternbit_node1=cur_patt_node1(k);
end
k=mod(j,cur_patt_num_node2);
if j<=cur_patt_num_node2
cur_patternbit_node2=cur_patt_node2(j);
elseif 0==k & j>cur_patt_num_node2
cur_patternbit_node2=cur_patt_node2(cur_patt_num_node2);
else
cur_patternbit_node2=cur_patt_node2(k);
end
%統(tǒng)計(jì)結(jié)果
if (1==Buf_node1)&&(1==cur_patternbit_node2)
%統(tǒng)計(jì)成功發(fā)送的結(jié)果
suc_node1=suc_node1+1;
energy_node1=energy_node1+1;
suc_node1
energy_node1
else
%統(tǒng)計(jì)未成功發(fā)送的結(jié)果
unsuc_node1=unsuc_node1+1;
unsuc_node1
end
end
%隨機(jī)產(chǎn)生packet,放在node1內(nèi)。
if (rand(1) > 0.8)
Buf_node1=1;
flag_send_node1=1;
else
Buf_node1=0;
end
i
end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -