%以下构造一个图并求最短路径,注意图中节点的编号从1开始,不能为0 clear %起点集 s = [9 9 9 9 9 9 9 9 1 1 1 2 2 2 3 4 5 5 6 7]; %终点集 e = [1 2 3 4 5 6 7 8 2 4 8 3 4 8 8 8 6 8 8 8]; %顶点到顶点的边上的权值 w = [2140 4612 3923 4312 1840 3561 5386 6011 1354 1752 1811 3222 2500 1819 1110 2267 120 2613 1804 2943];%权重 %构建s、e、w构成的图 G = graph(s,e,w); plot(G,'EdgeLabel',G.Edges.Weight,'LineWidth',2); %求从指定的点到点的最短路径,P为最短路径,D为最短路径的大小 [P,D] = shortestpath(G,9,8); %%高亮显示路径 myplot = plot(G,'EdgeLabel',G.Edges.Weight,'LineWidth',2); %将最短路径设置为高亮显示 highlight(myplot,P,'EdgeColor','r'); P D
?
% 构造图也可使用 % 构造一个稀疏矩阵 % G=sparse(s,e,w,9,9); % h = view(biograph(DG,[],'ShowWeights','on'));
?
|