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

  • 大小: 16KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-09
  • 語言: Matlab
  • 標簽: matlab??

資源簡介

基于虛擬力的一種無線傳感網(wǎng)絡的MATLAB程序代碼

資源截圖

代碼片段和文件信息

clear?all
clc
N=40;%傳感器節(jié)點個數(shù)
XMAX=900;%區(qū)域總長度
XMIN=100;
YMAX=800;%區(qū)域總寬度
YMIN=100;%區(qū)域總寬度
x=zeros(N2);
x(:1)=(XMAX-XMIN)*rand(N1)+XMIN;%使節(jié)點坐標隨機分布
x(:2)=(YMAX-YMIN)*rand(N1)+YMIN;
figure
xm=[XMIN?YMIN;XMIN?YMAX;XMAX?YMAX;XMAX?YMIN];%區(qū)域的四個頂點
fill(xm(:1)xm(:2)[0.80.80.8]);
hold?on
plot(x(:1)x(:2)‘r.‘‘linewidth‘5);
r=90;?%傳感器節(jié)點的感知半徑
w=0:pi/50:2*pi;
for?i=1:N
????x1=x(i1)+r*cos(w);
????y1=x(i2)+r*sin(w);%表示圓每一個角度對應一個點,然后把這些點連接起來構成圓
????hold?on
????plot(x1y1‘b‘);???%畫出各個傳感器節(jié)點的感知范圍
????text(x(i1)+3x(i2)[‘\fontsize{8}\rm‘num2str(i)]);
????hold?on
????fill(x1y1‘b‘)
end
axis([0?1000?0?900]);%設定坐標范圍
xlabel(‘X/m‘);ylabel(‘Y/m‘);
%legend(‘要監(jiān)測的區(qū)域‘[‘傳感器節(jié)點(‘‘\fontsize{12}\bf‘num2str(N)‘\fontsize{10}\rm個)的位置‘]‘?傳感器節(jié)點的感知范圍‘);
hold?on
plot([XMIN?XMAX][YMIN?YMIN]‘k‘‘linewidth‘1.5);
hold?on
plot([XMIN?XMIN][YMIN?YMAX]‘k‘‘linewidth‘1.5);
hold?on
plot([XMAX?XMAX][YMIN?YMAX]‘k‘‘linewidth‘1.5);
hold?on
plot([XMIN?XMAX][YMAX?YMAX]‘k‘‘linewidth‘1.5);%把四個頂點連接起來組成一個監(jiān)測區(qū)域
%--------------------------------虛擬力算法---------------------------------
%------------先對區(qū)域進行離散化---------
deta=2;%網(wǎng)絡大小
x1=XMIN:deta:XMAX;
y1=YMIN:deta:YMAX;
[xxyy]=meshgrid(x1y1);
[mn]=size(xx);
K=m*n;?%總的網(wǎng)格點數(shù)目
xx1=reshape(xxK1);%網(wǎng)格點的橫坐標
yy1=reshape(yyK1);%網(wǎng)格點的縱坐標
%hold?on
%plot(xx1yy1‘g*‘)
%----------------計算起初的網(wǎng)絡覆蓋率-----------------------------------------------------
[no_coversummk1]=compute_cover(xx1yy1xr);?
%no_cover存儲沒有被覆蓋的格點位置,k1為求被覆蓋的格點,summ為被覆蓋的格點數(shù);
q(11)=summ/K;
%-------------------------------------------------------
figure
fill(xm(:1)xm(:2)[0.80.80.8]);?%填充監(jiān)測區(qū)域
hold?on
plot(x(:1)x(:2)‘ro‘‘markerfacecolor‘‘r‘‘linewidth‘3);?%傳感器節(jié)點位置
for?i=1:N
????text(x(i1)+3x(i2)[‘\fontsize{8}\rm‘num2str(i)]);?%標出傳感器節(jié)點位置
end
axis([0?1000?0?900]);
xlabel(‘X/m‘);ylabel(‘Y/m‘);
%----------------------
R=2*r;????%傳感器節(jié)點的通信半徑
maxiter=100;?%最大迭代次數(shù)
max_step=2.5;?%傳感器節(jié)點移動的最大步長(在格點作用下的最大步長)
max_sensor=3.5;?%傳感器節(jié)點移動的最大步長(在傳感器節(jié)點作用下的最大步長)
%----------------------
kp=1;
xp{kp1}=x;
for?t=1:maxiter
????%k3=1;
????F=0;
????tx_old=x;?%前一次迭代的傳感器節(jié)點位置
????for?i=1:N
????????k2=1;
????????flag1=0;
????????for?k=1:(k1-1)
????????????dik=sqrt((x(i1)-no_cover(k1))^2+(x(i2)-no_cover(k2))^2);?%x為傳感器節(jié)點的位置,no_cover是未被網(wǎng)絡覆蓋的網(wǎng)格點的位置
????????????if?((dik>r)&(dik<=R))???%R為通信半徑,r為感知半徑
?????????????????F(k21)=no_cover(k1)-x(i1);
?????????????????F(k22)=no_cover(k2)-x(i2);
????????????????k2=k2+1;
????????????????%flag1=flag1+1;
????????????end
????????end
????????Fx=0;
????????Fy=0;
????????for?j=1:(k2-1)
???????????Fx=Fx+F(j1);?%水平力
???????????Fy=Fy+F(j2);?%垂直力
????????end
????????Fxy=sqrt(Fx^2+Fy^2);
????????if?Fxy==0
????????????x(i1)=x(i1)+0;
????????????x(i2)=x(i2)+0;
????????else
????????????x(i1)=x(i1)+Fx/Fxy*max_step*exp(-1/Fxy);%節(jié)點位置更新
????????????x(i2)=x(i2)+Fy/Fxy*max_step*exp(-1/Fxy);
????????end
????????%if?flag1~=0
????????%???k3=k3+1;
???

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-10-30?10:09??無線傳感網(wǎng)絡仿真代碼\
?????文件????????2916??2012-10-30?10:06??無線傳感網(wǎng)絡仿真代碼\Untitled2.m
?????文件????????2942??2012-10-30?10:09??無線傳感網(wǎng)絡仿真代碼\Untitled3.m
?????文件????????5045??2012-10-16?09:53??無線傳感網(wǎng)絡仿真代碼\amd.m
?????文件?????????938??2011-06-30?10:50??無線傳感網(wǎng)絡仿真代碼\compute_cover.m
?????文件?????????938??2011-07-05?10:12??無線傳感網(wǎng)絡仿真代碼\q.mat
?????文件????????1428??2011-06-30?10:53??無線傳感網(wǎng)絡仿真代碼\six_figures_arrange.asv
?????文件????????1423??2011-05-16?20:18??無線傳感網(wǎng)絡仿真代碼\six_figures_arrange.m
?????文件????????5032??2011-09-29?22:30??無線傳感網(wǎng)絡仿真代碼\xp.asv
?????文件????????5045??2011-10-01?22:08??無線傳感網(wǎng)絡仿真代碼\xp.m
?????文件????????3180??2011-05-16?20:18??無線傳感網(wǎng)絡仿真代碼\xp.mat

評論

共有 條評論