亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bp2.m

?? 無線傳感器網絡 路由算法 本科設計時的論文算法
?? M
字號:
clear
m=1;
for a=0:0.5:5
%1.初始參數設定模塊
%.傳感器節點區域界限(單位 M)
xm=100;
ym=100;
%(1)匯聚節坐標給定
sink.x=0.5*xm;
sink.y=0.5*ym;
%區域內傳器節數
n=100
%簇頭優化比例(當選簇頭的概率)
p=0.1;
P=0.1;
%能量模型(單位 焦)
%初始化能量模型
Eo=0.5;
%Eelec=Etx=Erx
ETX=50*0.000000001;
ERX=50*0.000000001;
%Transmit Amplifier types
Efs=10*0.000000000001;
Emp=0.0013*0.000000000001;
%Data Aggregation Energy
EDA=5*0.000000001;
%最大循環次數
rmax=5000
%算出參數 do
do=sqrt(Efs/Emp);
Et=0;
%2.無線傳感器網絡模型產生模塊
%構建無線傳感器網絡,在區域內均勻投放100個節點,并畫出圖形
for i=1:1:n
    S1(i).xd=rand(1,1)*xm;
    S2(i).xd=S1(i).xd;
    S3(i).xd=S1(i).xd;
    S4(i).xd=S3(i).xd;
    XR4(i)=S4(i).xd;
    XR3(i)=S3(i).xd;
    XR2(i)=S2(i).xd;
    XR1(i)=S1(i).xd;
    S1(i).yd=rand(1,1)*ym;
    S2(i).yd=S1(i).yd;
    S3(i).yd=S1(i).yd;
    S4(i).yd=S3(i).yd;
    YR4(i)=S4(i).yd;
    S4(i).G=0;
    YR3(i)=S3(i).yd;
    S3(i).G=0;
    YR2(i)=S2(i).yd;
    YR1(i)=S1(i).yd;
    S1(i).G=0;
    S2(i).G=0;
    S1(i).E=Eo*(1+rand*a);
    S2(i).E=S1(i).E;
    S3(i).E=S1(i).E;
    S4(i).E=S3(i).E;
    E3(i)= S3(i).E;
    E4(i)= S4(i).E;
    Et=Et+E3(i);
    %initially there are no cluster heads only nodes
    S1(i).type='N';
    S2(i).type='N';
    S3(i).type='N';
    S4(i).type='N';
end
S2(n+1).xd=sink.x;
S2(n+1).yd=sink.y;
%3.網絡運行模塊
%簇頭節點數
countCHs2=0;
cluster=1;%此定義的目的僅僅是給定一個1開始的下標參數,真正的簇頭數應該還減去1
flag_first_dead2=0;
flag_teenth_dead2=0;
%死亡節點數
dead2=0;
first_dead2(m)=0;
teenth_dead2(m)=0;
%活動節點數
allive2=n;
%(1)循環模式設定
for r=0:1:rmax     %該 for 循環將下面的所有程序包括在內,直到最后一 end 才結束循環
    r;
  %每過一個輪轉周期(本程序為10次)使各節點的S(i).G參數(該參數用于后面的簇選舉,在該輪轉周期內已當選過簇頭的節點不能再當選)恢復為零
  if(mod(r, round(1/p) )==0)
    for i=1:1:n
        S2(i).G=0;
        S2(i).cl=0;
    end
  end
%(2)死亡節點檢查模塊
dead2=0;
for i=1:1:n
    %檢查有無死亡節點
    if (S2(i).E<=0)
        dead2=dead2+1; 
        %(3)第一個死亡節點的產生時間(用輪次表示)
        %第一個節點死亡時間
        if (dead2==1)
           if(flag_first_dead2==0)
              first_dead2(m)=r;
              flag_first_dead2(m)=1;
           end
        end
        %10%的節點死亡時間
        if(dead2==0.1*n)
           if(flag_teenth_dead2==0)
              teenth_dead2(m)=r;
              flag_teenth_dead2=1;
           end
        end
    end
    if S2(i).E>0
        S2(i).type='N';
    end
end
%(4)簇頭選舉模塊
countCHs2=0;
cluster2=1;
for i=1:1:n
   if(S2(i).E>0)
   temp_rand=rand;     
   if ( (S2(i).G)<=0)  
       %簇頭的選舉,當選的簇頭會把各種相關信存入下面程序所給定的變量中
        if(temp_rand<= (p/(1-p*mod(r,round(1/p)))))
            countCHs2=countCHs2+1;
            S2(i).type='C';
            S2(i).G=round(1/p)-1;
            C2(cluster2).xd=S2(i).xd;
            C2(cluster2).yd=S2(i).yd;
           distance=sqrt( (S2(i).xd-(S2(n+1).xd) )^2 + (S2(i).yd-(S2(n+1).yd) )^2 );
            C2(cluster2).distance=distance;
            C2(cluster2).id=i;
            X2(cluster2)=S2(i).xd;
            Y2(cluster2)=S2(i).yd;
            cluster2=cluster2+1;
           %計算簇頭發送4000bit數據到基站的能量消耗(這里應是所有節點包括簇頭每一輪發送4000bit數據)
           distance;
            if (distance>do)
                S2(i).E=S2(i).E- ( (ETX+EDA)*(4000) + Emp*4000*( distance*distance*distance*distance )); 
            end
            if (distance<=do)
                S2(i).E=S2(i).E- ( (ETX+EDA)*(4000)  + Efs*4000*( distance * distance )); 
            end
        end     
    
    end
    % S2(i).G=S2(i).G-1;  
end 
end
%(5)簇內成員選擇簇頭模塊(即簇的形成模塊)
%簇內成員對簇頭的選擇(即簇的形成)算法
for i=1:1:n
   if ( S2(i).type=='N' && S2(i).E>0 )
     if(cluster2-1>=1)
       min_dis=sqrt( (S2(i).xd-S2(n+1).xd)^2 + (S2(i).yd-S2(n+1).yd)^2 );
       min_dis_cluster=0;
       for c=1:1:cluster2-1
           temp=min(min_dis,sqrt( (S2(i).xd-C2(c).xd)^2 + (S2(i).yd-C2(c).yd)^2 ) );
           if ( temp<min_dis )
               min_dis=temp;
               min_dis_cluster=c;
           end
       end
       %簇內節點(發送4000bit數據)能量消耗
       if(min_dis_cluster~=0)    
            min_dis;
            if (min_dis>do)
                S2(i).E=S2(i).E- ( ETX*(4000) + Emp*4000*( min_dis * min_dis * min_dis * min_dis)); 
            end
            if (min_dis<=do)
                S2(i).E=S2(i).E- ( ETX*(4000) + Efs*4000*( min_dis * min_dis)); 
            end
        %簇頭(接受和融合這一簇內節點4000bit數據)的能量消耗
            S2(C2(min_dis_cluster).id).E = S2(C2(min_dis_cluster).id).E- ( (ERX + EDA)*4000 ); 
        else 
            min_dis;
            if (min_dis>do)
                S2(i).E=S2(i).E- ( ETX*(4000) + Emp*4000*( min_dis * min_dis * min_dis * min_dis)); 
            end
            if (min_dis<=do)
                S2(i).E=S2(i).E- ( ETX*(4000) + Efs*4000*( min_dis * min_dis)); 
            end
        end
        S2(i).min_dis=min_dis;
        S2(i).min_dis_cluster=min_dis_cluster;
    else
        min_dis=sqrt( (S2(i).xd-S2(n+1).xd)^2 + (S2(i).yd-S2(n+1).yd)^2 );
            if (min_dis>do)
                S2(i).E=S2(i).E- ( ETX*(4000) + Emp*4000*( min_dis * min_dis * min_dis * min_dis)); 
            end
            if (min_dis<=do)
                S2(i).E=S2(i).E- ( ETX*(4000) + Efs*4000*( min_dis * min_dis)); 
            end
        end
  end
end
end
d1=0.765*xm/2;
K=sqrt(0.5*n*do/pi)*xm/d1^2;
d2=xm/sqrt(2*pi*K);
Er=4000*(2*n*ETX+n*EDA+K*Emp*d1^4+n*Efs*d2^2);
S4(n+1).xd=sink.x;
S4(n+1).yd=sink.y;
countCHs4=0;
cluster=1;%此定義的目的僅僅是給定一個1開始的下標參數,真正的簇頭數應該還減去1
flag_first_dead4=0;
flag_teenth_dead4=0;
%死亡節點數
dead4=0;
first_dead4(m)=0;
teenth_dead4(m)=0;
%活動節點數
allive4=n;
%(1)循環模式設定
for r=0:1:rmax     %該 for 循環將下面的所有程序包括在內,直到最后一 end 才結束循環
    r;
  %每過一個輪轉周期(本程序為10次)使各節點的S(i).G參數(該參數用于后面的簇選舉,在該輪轉周期內已當選過簇頭的節點不能再當選)恢復為零
  if(mod(r, round(1/P) )==0)
    for i=1:1:n
        S4(i).G=0;
        S4(i).cl=0;
    end
  end
Ea=Et*(1-r/rmax)/n;
%(2)死亡節點檢查模塊
dead4=0;
for i=1:1:n
    %檢查有無死亡節點
    if (S4(i).E<=0)
        dead4=dead4+1; 
        %(3)第一個死亡節點的產生時間(用輪次表示)
        %第一個節點死亡時間
        if (dead4==1)
           if(flag_first_dead4==0)
              first_dead4(m)=r;
              flag_first_dead4=1;
           end
        end
        %10%的節點死亡時間
        if(dead4==0.1*n)
           if(flag_teenth_dead4==0)
              teenth_dead4(m)=r;
              flag_teenth_dead4=1;
           end
        end

    end
    if S4(i).E>0
        S4(i).type='N';
    end
end
%(4)簇頭選舉模塊
countCHs4=0;
cluster4=1;
for i=1:1:n
 if Ea>0
 p(i)=P*n*S4(i).E*E4(i)/(Et*Ea);
 if(S4(i).E>0)
   temp_rand=rand;     
   if ( (S4(i).G)<=0)  
       %簇頭的選舉,當選的簇頭會把各種相關信存入下面程序所給定的變量中
        if(temp_rand<= (p(i)/(1-p(i)*mod(r,round(1/p(i))))))
            countCHs4=countCHs4+1;
             S4(i).type='C';
            S4(i).G=round(1/p(i))-1;
            C4(cluster4).xd=S4(i).xd;
            C4(cluster4).yd=S4(i).yd;
           distance=sqrt( (S4(i).xd-(S4(n+1).xd) )^2 + (S4(i).yd-(S4(n+1).yd) )^2 );
            C4(cluster4).distance=distance;
            C4(cluster4).id=i;
            X4(cluster4)=S4(i).xd;
            Y4(cluster4)=S4(i).yd;
            cluster4=cluster4+1;
           %計算簇頭發送4000bit數據到基站的能量消耗(這里應是所有節點包括簇頭每一輪發送4000bit數據)
           distance;
            if (distance>do)
                S4(i).E=S4(i).E- ( (ETX+EDA)*(4000) + Emp*4000*( distance*distance*distance*distance )); 
            end
            if (distance<=do)
                S4(i).E=S4(i).E- ( (ETX+EDA)*(4000)  + Efs*4000*( distance * distance )); 
            end
        end     
    end
    % S4(i).G=S4(i).G-1;  
end 
 end
end
%(5)簇內成員選擇簇頭模塊(即簇的形成模塊)
%簇內成員對簇頭的選擇(即簇的形成)算法
for i=1:1:n
   if ( S4(i).type=='N' && S4(i).E>0 )
     if(cluster4-1>=1)
       min_dis=sqrt( (S4(i).xd-S4(n+1).xd)^2 + (S4(i).yd-S4(n+1).yd)^2 );
       min_dis_cluster=0;
       for c=1:1:cluster4-1
           temp=min(min_dis,sqrt( (S4(i).xd-C4(c).xd)^2 + (S4(i).yd-C4(c).yd)^2 ) );
           if ( temp<min_dis )
               min_dis=temp;
               min_dis_cluster=c;
           end
       end
       %簇內節點(發送4000bit數據)能量消耗
       if(min_dis_cluster~=0)    
            min_dis;
            if (min_dis>do)
                S4(i).E=S4(i).E- ( ETX*(4000) + Emp*4000*( min_dis * min_dis * min_dis * min_dis)); 
            end
            if (min_dis<=do)
                S4(i).E=S4(i).E- ( ETX*(4000) + Efs*4000*( min_dis * min_dis)); 
            end
        %簇頭(接受和融合這一簇內節點4000bit數據)的能量消耗
            S4(C4(min_dis_cluster).id).E = S4(C4(min_dis_cluster).id).E- ( (ERX + EDA)*4000 ); 
        else 
            min_dis;
            if (min_dis>do)
                S4(i).E=S4(i).E- ( ETX*(4000) + Emp*4000*( min_dis * min_dis * min_dis * min_dis)); 
            end
            if (min_dis<=do)
                S4(i).E=S4(i).E- ( ETX*(4000) + Efs*4000*( min_dis * min_dis)); 
            end
        end
        S4(i).min_dis=min_dis;
       S4(i).min_dis_cluster=min_dis_cluster;
   else
            min_dis=sqrt( (S4(i).xd-S4(n+1).xd)^2 + (S4(i).yd-S4(n+1).yd)^2 );
            if (min_dis>do)
                S4(i).E=S4(i).E- ( ETX*(4000) + Emp*4000*( min_dis * min_dis * min_dis * min_dis)); 
            end
            if (min_dis<=do)
                S4(i).E=S4(i).E- ( ETX*(4000) + Efs*4000*( min_dis * min_dis)); 
            end
        end
  end
end
end
m=m+1;
end
r=0:0.5:5;
subplot(2,1,1);
plot(r,first_dead2,'-r',r,first_dead4,'-.m');
legend('leachm2','DEEC2');
xlabel('x(time)');
ylabel('y(dead)');
title('\bf leachm2和DEEC2)的生命周期對比');
subplot(2,1,2);
plot(r,teenth_dead2,'-r',r,teenth_dead4,'-.m');
legend('leachm2','DEEC2');
xlabel('x(time)');
ylabel('y(data)');
title('\bf leachm2和DEEC2的穩定周期對比');

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产黄色成人av| 日韩中文字幕一区二区三区| 国产一区二区在线视频| 精品国免费一区二区三区| 久久国产精品免费| 国产视频一区在线播放| 国产成人精品一区二区三区四区| 国产精品美女久久久久久久久| 成人av电影免费在线播放| 亚洲精品亚洲人成人网| 欧美美女黄视频| 国产精品综合av一区二区国产馆| 日本一区二区三区免费乱视频| 成人黄色在线网站| 亚洲综合成人网| 日韩欧美国产小视频| 波多野结衣在线aⅴ中文字幕不卡| 国产精品久久一卡二卡| 欧美午夜精品久久久| 蓝色福利精品导航| 国产精品久久久久永久免费观看| 欧美日本一区二区| 国产在线麻豆精品观看| 最新高清无码专区| 欧美一级黄色片| 岛国精品在线观看| 亚洲18女电影在线观看| 久久久亚洲午夜电影| 欧美最猛性xxxxx直播| 久久黄色级2电影| 亚洲免费观看在线视频| 精品国产91亚洲一区二区三区婷婷| 成人一二三区视频| 日本不卡视频一二三区| 国产精品久久99| 欧美一区二区成人| 色妞www精品视频| 激情综合色综合久久| 亚洲一区二三区| 日本一区二区免费在线观看视频 | 欧美成人a∨高清免费观看| 国产福利视频一区二区三区| 亚洲成av人片在线观看| 国产精品情趣视频| 91精品国产91综合久久蜜臀| 99久久精品国产一区二区三区 | 日韩午夜在线影院| 色噜噜狠狠色综合中国| 国产成人亚洲综合色影视| 日韩中文字幕91| 亚洲色图一区二区| 国产精品婷婷午夜在线观看| 日韩欧美亚洲一区二区| 欧美性xxxxxxxx| 99精品久久只有精品| 国产剧情一区二区三区| 久久国产乱子精品免费女| 香港成人在线视频| 亚洲亚洲人成综合网络| 亚洲三级视频在线观看| 国产精品久久看| 亚洲国产精品高清| 国产欧美日韩中文久久| 精品国产91洋老外米糕| 欧美刺激午夜性久久久久久久| 欧美三级在线看| 欧洲精品中文字幕| 91精品1区2区| 91免费在线播放| av动漫一区二区| 波多野结衣中文字幕一区| 成人免费视频免费观看| 成人黄页毛片网站| 成人福利在线看| 成人av在线网站| 波多野结衣中文字幕一区二区三区 | 欧美一区二区三区四区久久| 欧美日韩国产首页在线观看| 欧美影视一区二区三区| 欧美视频在线播放| 欧美午夜影院一区| 91精品国产综合久久精品图片| 欧美日韩免费视频| 91麻豆精品91久久久久同性| 日韩区在线观看| 精品国产91亚洲一区二区三区婷婷| 欧美mv日韩mv| 国产亚洲婷婷免费| 亚洲欧洲精品成人久久奇米网| 国产精品久久久久aaaa樱花| 亚洲美腿欧美偷拍| 亚洲自拍欧美精品| 欧美a级理论片| 国产中文字幕一区| 99精品视频免费在线观看| 91国产免费看| 日韩区在线观看| 国产精品视频免费看| 亚洲免费观看在线观看| 日韩在线一区二区| 国产传媒欧美日韩成人| www.久久久久久久久| 欧美日韩三级在线| 精品国产一二三| 国产精品色哟哟网站| 亚洲综合在线观看视频| 日韩av电影免费观看高清完整版在线观看 | 欧美日韩你懂的| 久久日韩精品一区二区五区| 日韩毛片一二三区| 日韩精品免费专区| 成人黄色在线网站| 欧美肥大bbwbbw高潮| 国产欧美日韩在线| 亚洲综合丁香婷婷六月香| 精品亚洲aⅴ乱码一区二区三区| 成人黄色电影在线| 欧美一区二区三区白人 | 日韩美女视频一区二区| 日韩av在线发布| caoporn国产精品| 91精品在线观看入口| 中文字幕第一区综合| 石原莉奈一区二区三区在线观看| 国产成人免费在线观看| 777欧美精品| 中文字幕字幕中文在线中不卡视频| 免费高清成人在线| 欧洲一区在线观看| 亚洲国产成人私人影院tom| 秋霞午夜鲁丝一区二区老狼| 91免费观看视频在线| 亚洲精品在线网站| 午夜精品爽啪视频| 91网站最新地址| 国产午夜精品福利| 免费成人美女在线观看.| 91国偷自产一区二区使用方法| 国产午夜精品在线观看| 日本免费在线视频不卡一不卡二| 欧美成人三级在线| 亚洲国产日韩在线一区模特 | 老鸭窝一区二区久久精品| 色哟哟一区二区在线观看| 国产三级久久久| 蜜桃视频免费观看一区| 欧美四级电影网| 一区二区三区在线免费播放| 本田岬高潮一区二区三区| 精品国产乱码久久久久久久| 日韩在线观看一区二区| 欧美亚洲精品一区| 亚洲精品视频一区| 91性感美女视频| 中文字幕亚洲区| 成人av在线一区二区三区| 国产农村妇女精品| 国产a精品视频| 国产日韩欧美激情| 国产精品一区二区在线观看不卡 | 成人黄色综合网站| 欧美极品美女视频| 成人国产一区二区三区精品| 欧美国产精品一区二区| 国产精品一卡二卡在线观看| ww久久中文字幕| 国产一区二区不卡在线| 久久综合狠狠综合久久激情| 韩国欧美国产1区| 欧美精品一区二区三区蜜臀| 韩国一区二区三区| 久久精品一区二区三区不卡| 国产精品一区二区在线观看不卡| 久久这里只精品最新地址| 粉嫩av一区二区三区| 国产精品久久影院| 色综合久久综合网欧美综合网| 国产精品久久国产精麻豆99网站| 91小视频免费看| 国产91丝袜在线观看| 国产精品美女久久久久久2018| 91免费精品国自产拍在线不卡| 一区二区国产盗摄色噜噜| 欧美日韩电影一区| 免费观看一级欧美片| 久久精品人人做人人爽人人| 成人动漫在线一区| 亚洲综合久久av| 欧美一二三区精品| 国产成人综合精品三级| 亚洲男人都懂的| 在线综合+亚洲+欧美中文字幕| 国产一区二区三区免费在线观看| 国产嫩草影院久久久久| 91久久精品一区二区| 蜜桃av噜噜一区二区三区小说| 国产婷婷一区二区| 欧美中文字幕一二三区视频| 美腿丝袜亚洲色图| 国产精品视频九色porn|