资源简介

基于蚁群算法和Dijkstra算法的二维路径规划,程序是MATLAB的m文件,下载运行main文件即可

资源截图

代码片段和文件信息

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

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-07-30 18:07  蚁群算法+Dijkstra算法=二维路径规划\
     文件         190  2018-07-30 17:41  蚁群算法+Dijkstra算法=二维路径规划\barrier.txt
     文件        1158  2018-07-30 17:41  蚁群算法+Dijkstra算法=二维路径规划\DijkstraPlan.m
     文件         122  2018-07-30 17:41  蚁群算法+Dijkstra算法=二维路径规划\lines.txt
     文件        5670  2018-07-30 18:04  蚁群算法+Dijkstra算法=二维路径规划\main.m
     文件         989  2018-07-30 17:41  蚁群算法+Dijkstra算法=二维路径规划\matrix.txt

评论

共有 条评论