如何在matlab或ucinet中的有向图中找到两个节点之间的最强路径?

时间:2013-11-03 18:49:42

标签: matlab graph graph-theory

假设下面的矩阵是具有3个节点的有向图邻接矩阵。

A=[.35 .076 .12;.0054 .83 .09; .31 .92 .019]

如何在matlab或ucinet中找到两个特定节点之间最强的路径?

我需要一些方法来告诉matlab找到两个节点之间的每条可能路径,然后总结每条路径中边缘的权重并找到最大加权路径,然后显示该路径。 例如,如果我们考虑marix A并且想要找到从节点1到节点3的最强路径,我们有两条可能的路径:一条从节点1到节点3的直接路径和一条从节点1到节点2的路径,从节点2到节点的路径3.在第一条路径中我们有A(1,3)=。12而对于第二条路径我们有A(1,2)+ A(2,3)= .076 + .09 = .166,所以第二条路径是从节点1到节点3的最强路径,我们将它作为1-2-3。有没有办法在matlab或ucinet中做这样的事情?

提前非常感谢

1 个答案:

答案 0 :(得分:0)

要在MATLAB中的有向图中找到两个节点之间的最强路径,可以在符号数学工具箱中使用Graph::longestPath(请注意,在生物信息学中找到最短路径graphshortestpath的Dijkstra算法工具箱)