作业帮 > 综合 > 作业

matlab求最短路,运行dijkstra函数时出错

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 14:02:47
matlab求最短路,运行dijkstra函数时出错
function [d,DD]=dijkstra(D,s)
%Dijkstra最短路算法Matlab程序用于求从起始点s到其它各点的最短路
%D为赋权邻接矩阵
%d为s到其它各点最短路径的长度;
%DD记载了最短路径生成树
[m,n]=size(D);
d=inf.*ones(1,m);
d(1,s)=0;
dd=zeros(1,m);
dd(1,s)=1;
y=s;
DD=zeros(m,m);
DD(y,y)=1;
counter=1;
while length(find(dd==1))
这个是m文件的内容,你可以这样先弄.
在matlab下输入:
edit
然后将下面两行百分号间的内容复制进去,保存.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [d,DD]=dijkstra(D,s)
%Dijkstra最短路算法Matlab程序用于求从起始点s到其它各点的最短路
%D为赋权邻接矩阵
%d为s到其它各点最短路径的长度;
%DD记载了最短路径生成树
[m,n]=size(D);
d=inf.*ones(1,m);
d(1,s)=0;
dd=zeros(1,m);
dd(1,s)=1;
y=s;
DD=zeros(m,m);
DD(y,y)=1;
counter=1;
while length(find(dd==1))
再问: 谢谢 知道哪的毛病了 能帮忙解决这个问题吗 %用floyd算法实现求任意两点之间的最短路程。可以有负权 %参数D为连通图的权矩阵