九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

wsn定位蒙特卡洛盒mcb算法matlab源碼

  • 資源ID:53508472       資源大?。?span id="24d9guoke414" class="font-tahoma">264KB        全文頁數(shù):21頁
  • 資源格式: DOC        下載積分:0積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要0積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付說明:
本站最低充值0.01積分,下載本資源后余額將會存入您的賬戶,您可在我的個人中心查看。
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

wsn定位蒙特卡洛盒mcb算法matlab源碼

clear;clc;%初始化工作Ns = 40;Nn = 400;Vmax = 50;Xrange = 500;Yrange = 500;tr = 100;Rg = 0.5*0;step = 6;N = 50;ns_range = 200; %每個采樣盒子的最大采樣次數(shù)Nf = 1.5; %采樣盒子確定時,估計位置要擴大圓面積for i = 1:Ns Xseed(1,i) = unifrnd(Rg,(Xrange-Rg),1,1); Yseed(1,i) = unifrnd(Rg,(Yrange-Rg),1,1);endfor i = 1:Nn Xnode(1,i)=rand(1,1)*Xrange; Ynode(1,i)=rand(1,1)*Yrange; Xnode_g(1,i)=Xnode(1,i); %MCL估計位置,初始值設置為真實位置 Ynode_g(1,i)=Ynode(1,i);end%初始時刻的粒子群,for every nodefor i = 1:Nn for j = 1:N lx(i,j,1) = 0; ly(i,j,1) = 0; endendfor i = 1:Nn error(1,i) = 0;end%figure(1);%plot(Xseed,Yseed,'bo',Xnode,Ynode,'k*');%節(jié)點們開始運動,每次定位完成才開始下一次運動,這里假設這個定位過程耗時非常短%仿真步數(shù)for k=2:step %新的時刻,節(jié)點們先運動一下,RWP模型 if Ynode(k,i) > Yrange | Ynode(k,i) < 0 Xnode(k,i) = Xnode(k-1,i) + r*cos(thita); Ynode(k,i) = Ynode(k-1,i) - r*sin(thita); end end %對每一個node逐個進行定位 for i = 1:Nn %測試每個seed是否可以用來定位 A1 = ; %存儲1跳錨節(jié)點序號 A2 = ; %存儲2跳錨節(jié)點序號 for j = 1:Ns d1 = sqrt(Xnode(k,i)-Xseed(k,j)2+(Ynode(k,i)-Yseed(k,j)2); if d1<=tr A1 = A1 j; end end if temp1=0 && temp2=0 a1_x_min = ; a1_x_max = ; a1_y_min = ; a1_y_max = ; for m = 1:temp1 a1_x_min = a1_x_min Xseed(k,A1(m)-tr; a1_x_max = a1_x_max Xseed(k,A1(m)+tr; a1_y_min = a1_y_min Yseed(k,A1(m)-tr; a1_y_max = a1_y_max Yseed(k,A1(m)+tr; end Xanbox_min(k,i) = max(a1_x_min); Xanbox_max(k,i) = min(a1_x_max); Yanbox_min(k,i) = max(a1_y_min); Yanbox_max(k,i) = min(a1_y_max); end if temp1=0 && temp2=0 a2_x_min = ; a2_x_max = ; a2_y_min = ; a2_y_max = ; for m = 1:temp2 a2_x_min = a2_x_min Xseed(k,A2(m)-2*tr; a2_x_max = a2_x_max Xseed(k,A2(m)+2*tr; a2_y_min = a2_y_min Yseed(k,A2(m)-2*tr; a2_y_max = a2_y_max Yseed(k,A2(m)+2*tr; end Xanbox_min(k,i) = max(a2_x_min); Xanbox_max(k,i) = min(a2_x_max); Yanbox_min(k,i) = max(a2_y_min); Yanbox_max(k,i) = min(a2_y_max); end if temp1=0 && temp2=0 a1_x_min = ; a1_x_max = ; a1_y_min = ; a1_y_max = ; for m = 1:temp1 a1_x_min = a1_x_min Xseed(k,A1(m)-tr; a1_x_max = a1_x_max Xseed(k,A1(m)+tr; a1_y_min = a1_y_min Yseed(k,A1(m)-tr; a1_y_max = a1_y_max Yseed(k,A1(m)+tr; end a2_x_min = ; a2_x_max = ; a2_y_min = ; a2_y_max = ; for m = 1:temp2 a2_x_min = a2_x_min Xseed(k,A2(m)-2*tr; a2_x_max = a2_x_max Xseed(k,A2(m)+2*tr; a2_y_min = a2_y_min Yseed(k,A2(m)-2*tr; a2_y_max = a2_y_max Yseed(k,A2(m)+2*tr; end a12_x_min = max(a1_x_min) max(a2_x_min); a12_x_max = min(a1_x_max) min(a2_x_max); a12_y_min = max(a1_y_min) max(a2_y_min); a12_y_max = min(a1_y_max) min(a2_y_max); Xanbox_min(k,i) = max(a12_x_min); Xanbox_max(k,i) = min(a12_x_max); Yanbox_min(k,i) = max(a12_y_min); Yanbox_max(k,i) = min(a12_y_max); end % 以上是錨盒子的獲取過程 %接下來要獲取采樣盒子,每個粒子都要有一個采樣盒子,然后還要進行采樣,每個采樣盒子的采樣都要有一個次數(shù)限制,這里還是要分四種情況 %第一種情況 if temp1=0 && temp2=0 Xnode_g(k,i)=Xnode_g(k-1,i); Ynode_g(k,i)=Ynode_g(k-1,i); for j = 1:N lx(i,j,k) = 0; %周圍沒有錨節(jié)點,沒法進行定位,則粒子群全部置零 ly(i,j,k) = 0; end end %第二種情況 的 上一時間有錨節(jié)點,也就是有采樣粒子的更新 if temp1=0 && temp2=0 && sum(lx(i,:,k-1)=0 for j = 1:N sambox1 = Xanbox_min(k,i) Xnode_g(k-1,i)-Nf*Vmax; sambox2 = Xanbox_max(k,i) Xnode_g(k-1,i)+Nf*Vmax; sambox3 = Yanbox_min(k,i) Ynode_g(k-1,i)-Nf*Vmax; sambox4 = Yanbox_max(k,i) Ynode_g(k-1,i)+Nf*Vmax; Xsambox_min(i,j,k) = max(sambox1); Xsambox_max(i,j,k) = min(sambox2); Ysambox_min(i,j,k) = max(sambox3); Ysambox_max(i,j,k) = min(sambox4); %增加一步判斷項,若是錨盒子和運動圓能夠有交集,就使用交集,如果沒有交集,則使用錨盒子 if Xsambox_min(i,j,k)>=Xsambox_max(i,j,k) | Ysambox_min(i,j,k)>=Ysambox_max(i,j,k) Xsambox_min(i,j,k) = Xanbox_min(k,i); Xsambox_max(i,j,k) = Xanbox_max(k,i); Ysambox_min(i,j,k) = Yanbox_min(k,i); Ysambox_max(i,j,k) = Yanbox_max(k,i); end %從采樣盒子里采樣 lx(i,j,k) = unifrnd(Xsambox_min(i,j,k),Xsambox_max(i,j,k),1,1); ly(i,j,k) = unifrnd(Ysambox_min(i,j,k),Ysambox_max(i,j,k),1,1); ns = 1; %濾波 and = ; for m = 1:temp1 d1(m) = sqrt(lx(i,j,k)-Xseed(k,A1(m)2+(ly(i,j,k)-Yseed(k,A1(m)2); if d1(m)<=tr and = and 0; end %進行最終的判斷 and = ; for m = 1:temp1 d1(m) = sqrt(lx(i,j,k)-Xseed(k,A1(m)2+(ly(i,j,k)-Yseed(k,A1(m)2); if d1(m)<=tr and = and 0; end if d1(m)>tr and = and 1; end end if sum(and)=0 lx(i,j,k) = 0; ly(i,j,k) = 0; end end %至此 節(jié)點 i 的粒子群已經(jīng)得到 %下面是進行定位,粒子群的優(yōu)化 num_zero = 0; for j = 1:N if lx(i,j,k) = 0 num_zero = num_zero+1; end end %k時刻的定位位置 end %第二種情況 的 上一時間沒有錨節(jié)點,沒有采樣粒子的更新,那么這種情況下 采樣盒子就是錨盒子 if temp1=0 && temp2=0 && sum(lx(i,:,k-1)=0 for j = 1:N sambox1 = Xanbox_min(k,i) ; sambox2 = Xanbox_max(k,i) ; sambox3 = Yanbox_min(k,i) ; sambox4 = Yanbox_max(k,i) ; Xsambox_min(i,j,k) = max(sambox1); Xsambox_max(i,j,k) = min(sambox2); Ysambox_min(i,j,k) = max(sambox3); Ysambox_max(i,j,k) = min(sambox4); %從采樣盒子里采樣 lx(i,j,k) = unifrnd(Xsambox_min(i,j,k),Xsambox_max(i,j,k),1,1); ly(i,j,k) = unifrnd(Ysambox_min(i,j,k),Ysambox_max(i,j,k),1,1); ns = 1; %濾波 and = ; for m = 1:temp1 d1(m) = sqrt(lx(i,j,k)-Xseed(k,A1(m)2+(ly(i,j,k)-Yseed(k,A1(m)2); if d1(m)<=tr and = and 0; end if d1(m)>tr and = and 1; end end while(sum(and)=0 && ns = ns_range) %從采樣盒子里采樣 lx(i,j,k) = unifrnd(Xsambox_min(i,j,k),Xsambox_max(i,j,k),1,1); ly(i,j,k) = unifrnd(Ysambox_min(i,j,k),Ysambox_max(i,j,k),1,1); %濾波 and = ; for m = 1:temp1 d1(m) = sqrt(lx(i,j,k)-Xseed(k,A1(m)2+(ly(i,j,k)-Yseed(k,A1(m)2); if d1(m)<=tr and = and 0; end if d1(m)>tr and = and 1; end end ns = ns+1; end %進行最終的判斷 and = ; for m = 1:temp1 d1(m) = sqrt(lx(i,j,k)-Xseed(k,A1(m)2+(ly(i,j,k)-Yseed(k,A1(m)2); if d1(m)<=tr and = and 0; end if d1(m)>tr and = and 1; end end if sum(and)=0 lx(i,j,k) = 0; ly(i,j,k) = 0; end end %至此 節(jié)點 i 的粒子群已經(jīng)得到 %下面是進行定位,粒子群的優(yōu)化 num_zero = 0; for j = 1:N if lx(i,j,k) = 0 num_zero = num_zero+1; end end %k時刻的定位位置 if num_zero = N Xnode_g(k,i) = Xnode_g(k-1,i); Ynode_g(k,i) = Ynode_g(k-1,i); end if num_zero = N Xnode_g(k,i) = sum(lx(i,:,k)/(N-num_zero); Ynode_g(k,i) = sum(ly(i,:,k)/(N-num_zero); end %粒子群補全N個 if num_zero = N for j = 1:N lx(i,j,k) = 0; ly(i,j,k) = 0; end end if num_zero = N for j = 1:N if lx(i,j,k) = 0 lx(i,j,k) = Xnode_g(k,i); ly(i,j,k) = Ynode_g(k,i); end end end end %第三種情況 的 上一時間有錨節(jié)點,也就是有采樣粒子的更新 if temp1=0 && temp2=0 && sum(lx(i,:,k-1)=0 for j = 1:N sambox1 = Xanbox_min(k,i) Xnode_g(k-1,i)-Nf*Vmax; sambox2 = Xanbox_max(k,i) Xnode_g(k-1,i)+Nf*Vmax; sambox3 = Yanbox_min(k,i) Ynode_g(k-1,i)-Nf*Vmax; sambox4 = Yanbox_max(k,i) Ynode_g(k-1,i)+Nf*Vmax; Xsambox_min(i,j,k) = max(sambox1); Xsambox_max(i,j,k) = min(sambox2); Ysambox_min(i,j,k) = max(sambox3); Ysambox_max(i,j,k) = min(sambox4); %增加一步判斷項,若是錨盒子和運動圓能夠有交集,就使用交集,如果沒有交集,則使用錨盒子 if Xsambox_min(i,j,k)>=Xsambox_max(i,j,k) | Ysambox_min(i,j,k)>=Ysambox_max(i,j,k) Xsambox_min(i,j,k) = Xanbox_min(k,i); Xsambox_max(i,j,k) = Xanbox_max(k,i); Ysambox_min(i,j,k) = Yanbox_min(k,i); Ysambox_max(i,j,k) = Yanbox_max(k,i); end %從采樣盒子里采樣 lx(i,j,k) = unifrnd(Xsambox_min(i,j,k),Xsambox_max(i,j,k),1,1); ly(i,j,k) = unifrnd(Ysambox_min(i,j,k),Ysambox_max(i,j,k),1,1); ns = 1; %濾波 and = ; for m = 1:temp2 d1(m) = sqrt(lx(i,j,k)-Xseed(k,A2(m)2+(ly(i,j,k)-Yseed(k,A2(m)2); if d1(m)>tr && d1(m)<=2*tr and = and 0; else and = and 1; end end while(sum(and)=0 && ns = ns_range) %從采樣盒子里采樣 lx(i,j,k) = unifrnd(Xsambox_min(i,j,k),Xsambox_max(i,j,k),1,1); ly(i,j,k) = unifrnd(Ysambox_min(i,j,k),Ysambox_max(i,j,k),1,1); %濾波 and = ; for m = 1:temp2 d1(m) = sqrt(lx(i,j,k)-Xseed(k,A2(m)2+(ly(i,j,k)-Yseed(k,A2(m)2); if d1(m)>tr && d1(m)<=2*tr and = and 0; else and = and 1; end end ns = ns+1; end %進行最終的判斷 and = ; for m = 1:temp2 d1(m) = sqrt(lx(i,j,k)-Xseed(k,A2(m)2+(ly(i,j,k)-Yseed(k,A2(m)2); if d1(m)>tr && d1(m)<=2*tr and = and 0; else and = and 1; end end if sum(and)=0 lx(i,j,k) = 0; ly(i,j,k) = 0; end end %至此 節(jié)點 i 的粒子群已經(jīng)得到 %下面是進行定位,粒子群的優(yōu)化 num_zero = 0; for j = 1:N if lx(i,j,k) = 0 num_zero = num_zero+1; end end %k時刻的定位位置 if num_zero = N Xnode_g(k,i) = Xnode_g(k-1,i); Ynode_g(k,i) = Ynode_g(k-1,i); end if num_zero = N Xnode_g(k,i) = sum(lx(i,:,k)/(N-num_zero); Ynode_g(k,i) = sum(ly(i,:,k)/(N-num_zero); end %粒子群補全N個 if num_zero = N for j = 1:N lx(i,j,k) = 0; ly(i,j,k) = 0; end end if num_zero = N for j = 1:N if lx(i,j,k) = 0 lx(i,j,k) = Xnode_g(k,i); ly(i,j,k) = Ynode_g(k,i); end end end end %第三種情況 的 上一時間沒有錨節(jié)點,也就是沒有采樣粒子的更新,這種情況下采樣盒子就是錨盒子 end while(sum(and)=0 && ns = ns_range) %從采樣盒子里采樣 lx(i,j,k) = unifrnd(Xsambox_min(i,j,k),Xsambox_max(i,j,k),1,1); ly(i,j,k) = unifrnd(Ysambox_min(i,j,k),Ysambox_max(i,j,k),1,1); %濾波 and = ; for m = 1:temp2 d1(m) = sqrt(lx(i,j,k)-Xseed(k,A2(m)2+(ly(i,j,k)-Yseed(k,A2(m)2); if d1(m)>tr && d1(m)<=2*tr and = and 0; else and = and 1; end end ns = ns+1; end %進行最終的判斷 and = ; for m = 1:temp2 d1(m) = sqrt(lx(i,j,k)-Xseed(k,A2(m)2+(ly(i,j,k)-Yseed(k,A2(m)2); if d1(m)>tr && d1(m)<=2*tr and = and 0; else and = and 1; end end if sum(and)=0 lx(i,j,k) = 0; ly(i,j,k) = 0; end end %至此 節(jié)點 i 的粒子群已經(jīng)得到 %下面是進行定位,粒子群的優(yōu)化 num_zero = 0; for j = 1:N if lx(i,j,k) = 0 num_zero = num_zero+1; end end %k時刻的定位位置 if num_zero = N Xnode_g(k,i) = Xnode_g(k-1,i); Ynode_g(k,i) = Ynode_g(k-1,i); end if num_zero = N Xnode_g(k,i) = sum(lx(i,:,k)/(N-num_zero); Ynode_g(k,i) = sum(ly(i,:,k)/(N-num_zero); end %粒子群補全N個 if num_zero = N for j = 1:N lx(i,j,k) = 0; ly(i,j,k) = 0; end end if num_zero = N for j = 1:N if lx(i,j,k) = 0 lx(i,j,k) = Xnode_g(k,i); ly(i,j,k) = Ynode_g(k,i); end end end end %第四種情況 的 上一時間有錨節(jié)點,也就是有采樣粒子的更新 if temp1=0 && temp2=0 && sum(lx(i,:,k-1)=0 for j = 1:N sambox1 = Xanbox_min(k,i) Xnode_g(k-1,i)-Nf*Vmax; sambox2 = Xanbox_max(k,i) Xnode_g(k-1,i)+Nf*Vmax; sambox3 = Yanbox_min(k,i) Ynode_g(k-1,i)-Nf*Vmax; sambox4 = Yanbox_max(k,i) Ynode_g(k-1,i)+Nf*Vmax; Xsambox_min(i,j,k) = max(sambox1); Xsambox_max(i,j,k) = min(sambox2); Ysambox_min(i,j,k) = max(sambox3); Ysambox_max(i,j,k) = min(sambox4); %增加一步判斷項,若是錨盒子和運動圓能夠有交集,就使用交集,如果沒有交集,則使用錨盒子 if Xsambox_min(i,j,k)>=Xsambox_max(i,j,k) | Ysambox_min(i,j,k)>=Ysambox_max(i,j,k) Xsambox_min(i,j,k) = Xanbox_min(k,i); Xsambox_max(i,j,k) = Xanbox_max(k,i); Ysambox_min(i,j,k) = Yanbox_min(k,i); Ysambox_max(i,j,k) = Yanbox_max(k,i); end %從采樣盒子里采樣 %從采樣盒子里采樣 lx(i,j,k) = unifrnd(Xsambox_min(i,j,k),Xsambox_max(i,j,k),1,1); ly(i,j,k) = unifrnd(Ysambox_min(i,j,k),Ysambox_max(i,j,k),1,1); %濾波 and = ; for m = 1:temp1 d1(m) = sqrt(lx(i,j,k)-Xseed(k,A1(m)2+(ly(i,j,k)-Yseed(k,A1(m)2); if d1(m)<=tr and = and 0; end if d1(m)>tr and = and 1; end end for m = 1:temp2 d1(m) = sqrt(lx(i,j,k)-Xseed(k,A2(m)2+(ly(i,j,k)-Yseed(k,A2(m)2); if d1(m)>tr && d1(m)<=2*tr and = and 0; else and = and 1; end end ns = ns+1; end %進行最終的判斷 and = ; for m = 1:temp1 d1(m) = sqrt(lx(i,j,k)-Xseed(k,A1(m)2+(ly(i,j,k)-Yseed(k,A1(m)2); if d1(m)<=tr and = and 0; end if d1(m)>tr and = and 1; end end for m = 1:temp2 d1(m) = sqrt(lx(i,j,k)-Xseed(k,A2(m)2+(ly(i,j,k)-Yseed(k,A2(m)2); if d1(m)>tr && d1(m)<=2*tr and = and 0; else and = and 1; end end if sum(and)=0 lx(i,j,k) = 0; ly(i,j,k) = 0; end end %至此 節(jié)點 i 的粒子群已經(jīng)得到 %下面是進行定位,粒子群的優(yōu)化 num_zero = 0; for j = 1:N if lx(i,j,k) = 0 num_zero = num_zero+1; end end %k時刻的定位位置 if num_zero = N Xnode_g(k,i) = Xnode_g(k-1,i); Ynode_g(k,i) = Ynode_g(k-1,i);

注意事項

本文(wsn定位蒙特卡洛盒mcb算法matlab源碼)為本站會員(搶***)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!