91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-16
  • 語言: Matlab
  • 標(biāo)簽: DVHOP??路由算法??

資源簡介

DVHOP的MATLAB仿真代碼,用于DVHOP路由算法的仿真,用于無線網(wǎng)絡(luò)實(shí)驗(yàn)。

資源截圖

代碼片段和文件信息

%~~~~~~~~~~??DV-Hop算法?~~~~~~~~~~?~~~~~~~~~~?~~~~~~~~~~?
%?BorderLength-----正方形區(qū)域的邊長,單位:m
%?NodeAmount-------網(wǎng)絡(luò)節(jié)點(diǎn)的個數(shù)
%?BeaconAmount---信標(biāo)節(jié)點(diǎn)數(shù)
%?Sxy--------------用于存儲節(jié)點(diǎn)的序號,橫坐標(biāo),縱坐標(biāo)的矩陣
%Beacon----------信標(biāo)節(jié)點(diǎn)坐標(biāo)矩陣;BeaconAmount*BeaconAmount
%UN-------------未知節(jié)點(diǎn)坐標(biāo)矩陣;2*UNAmount
%?Distance------未知節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)距離矩陣;2*BeaconAmount
%h---------------節(jié)點(diǎn)間初始跳數(shù)矩陣
%X---------------節(jié)點(diǎn)估計(jì)坐標(biāo)初始矩陣X=[xy]‘
%?R------------------節(jié)點(diǎn)的通信距離,一般為10-100m
clearclose?all;
BorderLength=100;
NodeAmount=100;
BeaconAmount=8;
UNAmount=NodeAmount-BeaconAmount;
R=50;
%?D=zeros(NodeAmountNodeAmount);%未知節(jié)電到信標(biāo)節(jié)點(diǎn)距離初始矩陣;BeaconAmount行NodeAmount列
h=zeros(NodeAmountNodeAmount);%初始跳數(shù)為0;BeaconAmount行NodeAmount列
X=zeros(2UNAmount);%節(jié)點(diǎn)估計(jì)坐標(biāo)初始矩陣
%~~~~~~~~~在正方形區(qū)域內(nèi)產(chǎn)生均勻分布的隨機(jī)拓?fù)鋨~~~~~~~~~~~~~~~~~~~
C=BorderLength.*rand(2NodeAmount);
%帶邏輯號的節(jié)點(diǎn)坐標(biāo)
Sxy=[[1:NodeAmount];C];
Beacon=[Sxy(21:BeaconAmount);Sxy(31:BeaconAmount)];%信標(biāo)節(jié)點(diǎn)坐標(biāo)
UN=[Sxy(2(BeaconAmount+1):NodeAmount);Sxy(3(BeaconAmount+1):NodeAmount)];%未知節(jié)點(diǎn)坐標(biāo)
%畫出節(jié)點(diǎn)分布圖
plot(Sxy(21:BeaconAmount)Sxy(31:BeaconAmount)‘r*‘Sxy(2(BeaconAmount+1):NodeAmount)Sxy(3(BeaconAmount+1):NodeAmount)‘k.‘)
%plot(Sxy(21:BeaconAmount)Sxy(31:BeaconAmount)‘r*‘)
%pause
%hold?on
%plot(Sxy(2(BeaconAmount+1):NodeAmount)Sxy(3(BeaconAmount+1):NodeAmount)‘k.‘)

xlim([0BorderLength]);
ylim([0BorderLength]);
title(‘*?紅色信標(biāo)節(jié)點(diǎn)?.?黑色未知節(jié)點(diǎn)‘)
pause
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~初始化節(jié)點(diǎn)間距離、跳數(shù)矩陣~~~~~~~~~~~~~~~~~~~~~~
for?i=1:NodeAmount
????for?j=1:NodeAmount
????????Dall(ij)=((Sxy(2i)-Sxy(2j))^2+(Sxy(3i)-Sxy(3j))^2)^0.5;%所有節(jié)點(diǎn)間相互距離
????????if?(Dall(ij)<=R)&(Dall(ij)>0)
????????????h(ij)=1;%初始跳數(shù)矩陣
????????elseif?i==j
????????????h(ij)=0;
????????else?h(ij)=inf;
????????end
????end
end
%~~~~~~~~~~~最短路經(jīng)算法計(jì)算節(jié)點(diǎn)間跳數(shù)~~~~~~~~~~~~~~~~~~~~
for?k=1:NodeAmount
????for?i=1:NodeAmount
????????for?j=1:NodeAmount
????????????if?h(ik)+h(kj)????????????????h(ij)=h(ik)+h(kj);
????????????end
????????end
????end
end
h
%~~~~~~~~~~~~~求每個信標(biāo)節(jié)點(diǎn)的校正值~~~~~~~~~~~~~~~~~~~~~~~~~~
h1=h(1:BeaconAmount1:BeaconAmount);
D1=Dall(1:BeaconAmount1:BeaconAmount);
for?i=1:BeaconAmount
????dhop(i1)=sum(D1(i:))/sum(h1(i:));%每個信標(biāo)節(jié)點(diǎn)的平均每跳距離
end
D2=Dall(1:BeaconAmount(BeaconAmount+1):NodeAmount);%BeaconAmount行UNAmount列
for?i=1:BeaconAmount
????for?j=1:UNAmount
????????if?min(D2(:j))==D2(ij)
????????????Dhop(1j)=dhop(i1);%未知節(jié)點(diǎn)從最近的信標(biāo)獲得校正值
????????end
????????%if?min(D2(:j))==D2(ij)
???????????%?Dhop(1j)=D2(ij);%未知節(jié)點(diǎn)從最近的信標(biāo)獲得校正值
???????%?end
????end
end
Dhop
%~~~~~~~~~~~~~~~~用跳數(shù)估計(jì)距離~~~~~~~~~~~~~~~~~~~
hop1=h(1:BeaconAmount(BeaconAmount+1):NodeAmount)%未知節(jié)點(diǎn)到信標(biāo)跳數(shù),BeaconAmount行UNAmount列
for?i=1:UNAmount
????hop=Dhop(1i);%hop為從最近信標(biāo)獲得的校正值
????Distance(:i)=hop*hop1(:i);%%Beacon行UN列;
end
%?%~~~~~~~~~~~~~~~~~最小二乘法求未知點(diǎn)坐標(biāo)~~~~~~~~~~~~~~~~~~~~~~~~
d=Distance;
for?i=1:2
????for?j=1:(BeaconAmount-1)
??????a(ij)=Beacon(ij)-Beacon(iBeaconAmount);
????end
end
A=-2*(a‘);
%?d=d1‘;
?for?m=1:UNAmount
?

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件???????3800??2018-05-08?18:33??DVHop.m

-----------?---------??----------?-----??----

?????????????????3800????????????????????1


評論

共有 條評論