《最短路径问题matlab求解详尽版.doc》由会员分享,可在线阅读,更多相关《最短路径问题matlab求解详尽版.doc(2页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流最短路径问题matlab求解详尽版.精品文档.MATLAB 求最短路径利用graphshortestpath 可以求最短路径,具体用法参考MATLAB帮助Examples: S=1 1 2 2 3 3 4 4 4 4 5 6 6 7 8; %起始节点向量 E=2 3 5 4 4 6 5 7 8 6 7 8 9 9 9; %终止节点向量W=1 2 12 6 3 4 4 15 7 2 7 7 15 3 10; %边权值向量,有向图,G(9,9)=0; 9个节点G=sparse(S,E,W); %关联矩阵的稀疏矩阵表示G(9,9)=0;P=biog
2、raph(G,ShowWeights,on);%建立有向图对象PH=view(P);%显示各个路径权值Dist,Path=graphshortestpath(G,1,9,Method,Dijkstra) %求节点1到节点9的最短路径set(H.Nodes(Path),Color,1 0.4 0.4);%以下三条语句用红色修饰最短路径edges=getedgesbynodeid(H,get(H.Nodes(Path),ID);set(edges,LineColor,1 0 0);set(edges,LineWidth,2.0);%以下是运行结果,节点1到节点9的最短路径为19Dist = 19P
3、ath = 1 3 4 5 7 9利用graphallshortestpaths可以求出所有最短路径Dists=graphallshortestpaths(G) %求所有最短路径Dists = 0 1 2 5 9 6 16 12 19 Inf 0 Inf 6 10 8 17 13 20 Inf Inf 0 3 7 4 14 10 17 Inf Inf Inf 0 4 2 11 7 14 Inf Inf Inf Inf 0 Inf 7 Inf 10 Inf Inf Inf Inf Inf 0 Inf 7 15 Inf Inf Inf Inf Inf Inf 0 Inf 3 Inf Inf Inf Inf Inf Inf Inf 0 10 Inf Inf Inf Inf Inf Inf Inf Inf 0