资源简介

资源包括了史峰等人编著的【MATLAB智能算法30个案例分析】课本以及对应的源代码,对学习和运用智能算法的人有很大参考价值。

资源截图

代码片段和文件信息

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

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

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

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

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

                 4022                    2


评论

共有 条评论