matlab求最短路径

有大佬知道怎么改吗

如何用matlab求最短路径?

运行并分析了题主给出的代码,a=a+((a==0)-eye(n))*M 这个代码出错,其出错的原因是a和eye(n)的矩阵维度不一致。

因为题主一开始,就出现了误解,对a定义为zeros(n),而实际a是二维矩阵,应该为

a=zeros(n,n)

同理,path=zeros(n) 也是错误的,应该为

path=zeros(n,n)

附带说明,用matlab求最短路径,可以用下列函数就可以完成,即

graph() %对象表示无向图,无向图具有连接相应节点的无向边。

shortestpath() %计算从源节点 s 处开始到目标节点 t 处结束的最短路径。

plot() %绘制一个有向图

下面为运行后的一个图例。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-02-20

相似回答