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

  • 大小: 1.45MB
    文件類型: .zip
    金幣: 2
    下載: 1 次
    發布日期: 2023-08-29
  • 語言: Matlab
  • 標簽: 智能算法??

資源簡介

MATLAB智能算法的源代碼%% 清空環境 clc;clear %% 障礙物數據 position = load('barrier.txt'); plot([0,200],[0,200],'.'); hold on B = load('barrier.txt'); xlabel('km','fontsize',12) ylabel('km','fontsize',12) title('二維規劃空間','fontsize',12) %% 描述起點和終點 S = [20,180]; T = [160,90]; plot([S(1),T(1)],[S(2),T(2)],'.'); % 圖形標注 text(S(1)+2,S(2),'S'); text(T(1)+2,T(2),'T'); %% 描繪障礙物圖形 fill(position(1:4,1),position(1:4,2),[0,0,0]); fill(position(5:8,1),position(5:8,2),[0,0,0]); fill(position(9:12,1),position(9:12,2),[0,0,0]); fill(position(13:15,1),position(13:15,2),[0,0,0]); % 下載鏈路端點數據 L = load('lines.txt'); %% 描繪線及中點 v = zeros(size(L)); for i=1:20 plot([position(L(i,1),1),position(L(i,2),1)],[position(L(i,1),2)... ,position(L(i,2),2)],'color','black','LineStyle','--'); v(i,:) = (position(L(i,1),:)+position(L(i,2),:))/2; plot(v(i,1),v(i,2),'*'); text(v(i,1)+2,v(i,2),strcat('v',num2str(i))); end %% 描繪可行路徑 sign = load('matrix.txt'); [n,m]=size(sign); for i=1:n if i == 1 for k=1:m-1 if sign(i,k) == 1 plot([S(1),v(k-1,1)],[S(2),v(k-1,2)],'color',... 'black','Linewidth',2,'LineStyle','-'); end end continue; end for j=2:i if i == m if sign(i,j) == 1 plot([T(1),v(j-1,1)],[T(2),v(j-1,2)],'color',... 'black','Linewidth',2,'LineStyle','-'); end else if sign(i,j) == 1 plot([v(i-1,1),v(j-1,1)],[v(i-1,2),v(j-1,2)],... 'color','black','Linewidth',2,'LineStyle','-'); end end end end path = DijkstraPlan(position,sign); j = path(22); plot([T(1),v(j-1,1)],[T(2),v(j-1,2)],'color','yellow','LineWidth',3,'LineStyle','-.'); i = path(22); j = path(i); count = 0; while true plot([v(i-1,1),v(j-1,1)],[v(i-1,2),v(j-1,2)],'color','yellow','LineWidth',3,'LineStyle','-.'); count = count + 1; i = j; j = path(i); if i == 1 ||

資源截圖

代碼片段和文件信息

function?path?=?DijkstraPlan(positionsign)
%%?基于Dijkstra算法的路徑規劃算法
%position????input?????%節點位置
%sign????????input?????%節點間是否可達
?
%path????????output????%規劃路徑
?
%%?計算路徑距離
cost?=?ones(size(sign))*10000;
[nm]?=?size(sign);
for?i?=?1:n
????for?j?=?1:m
????????if?sign(ij)?==?1
????????????cost(ij)?=?sqrt(sum((position(i:)-position(j:)).^2));
????????end
????end
end
?
%%?路徑開始點
dist?=?cost(1:);?????????????%節點間路徑長度???????????
s?=?zeros(size(dist));????????%節點經過標志
s(1)?=?1;dist(1)?=?0;
path?=?zeros(size(dist));?????%依次經過的節點
path(1:)?=?1;
?
%%?循環尋找路徑點
for?num?=?2:n???
????
????%?選擇路徑長度最小點
????mindist?=?10000;
????for?i?=?1:length(dist)
????????if?s(i)?==?0
????????????if?dist(i)????????????????mindist?=?dist(i);
????????????????u?=?i;
????????????end
????????end
????end
????
????%?更新點點間路徑
????s(u)?=?1;
????for?w?=?1:length(dist)
????????if?s(i)?==?0
????????????if?dist(u)+cost(uw)?????????????????dist(w)?=?dist(u)+cost(uw);
????????????????path(w)?=?u;
????????????end
????????end
????end
end

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????2113??2010-10-31?21:25??example2.m

?????文件???????1909??2010-10-31?21:26??example1.m

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

?????????????????4022????????????????????2


評論

共有 條評論