MATLAB Examples

Contents

グラフのエッジを指定

s = [1 1 1 4 4 5 5 6 3 3];
t = [2 4 5 2 6 4 6 2 2 6];
% それぞれにかかる時間の定義
minutes = [12 8 6 5 3 5 7 13 10 8];

グラフの作成

G = graph(s, t, minutes);
h = plot(G, 'EdgeLabel', G.Edges.Weight);

% 図の調節
h.XData = [1.6  2.3  0.3  1.6  0.1  0.2];
h.YData = [1.7  0.2  -1    0.7  1.4  0];

最短時間のパスを計算

start = 1;
goal = 3;
[s_path, d] = shortestpath(G, start, goal);

% 図のハイライト
highlight(h, s_path,'EdgeColor','r','LineWidth',2);
h.EdgeLabel = {};

% 最短時間の表示
title(['Shortest path takes ', num2str(d), 'min.'])