资源简介

MATLAB 用基本蚁群算法进行二维路径规划,后面还有画图显示。

资源截图

代码片段和文件信息

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
                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(w) = dist(u)+cost(uw);
                path(w) = u;
            end
        end
    end
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        190  2009-09-04 09:54  chapter23\barrier.txt

     文件       1158  2010-11-17 08:41  chapter23\DijkstraPlan.m

     文件          0  2010-11-17 08:29  chapter23\DijstraPlan.m

     文件        122  2009-07-19 18:08  chapter23\lines.txt

     文件       5601  2010-12-29 10:43  chapter23\main.m

     文件        989  2009-08-05 18:33  chapter23\matrix.txt

     目录          0  2011-08-28 11:14  chapter23

----------- ---------  ---------- -----  ----

                 8060                    7


评论

共有 条评论