未识别的函数或变量“setupgraph”

10视图(30天)
哈哈
哈哈 2021年11月14日
评论道: 1月 2021年11月15日
我做的迪杰斯特拉算法。
我有2个脚本:
这一个是我运行:
——这个我下面的代码(也都是上传):
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%的迪杰斯特拉算法
%作者:迪马斯Aryo
%的邮件:mr.dimasaryo@gmail.com
%
%的使用
% (rute成本)= dijkstra算法(图表、来源、目的地)
%
%的例子
% G = [0 3 9 0 0 0 0;
% 0 0 0 7 1 0 0;
% 0 2 0 7 0 0 0;
% 0 0 0 0 0 2 8;
% 0 0 4 5 0 9 0;
% 0 0 0 0 0 0 4;
% 0 0 0 0 0 0 0;
%);
% [e L] = dijkstra算法(G, 1, 7)
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
函数[e L] = dijkstra算法(s d)
如果s = = d
e = 0;
L = [s];
其他的
A = setupgraph (inf, 1);
如果d = = 1
d = s;
结束
= exchangenode (1);
lengthA =大小(1);
W = 0 (lengthA);
我= 2:lengthA
W(我)=我;
W (2,) = (1,);
结束
我= 1:lengthA
D(我,1)= (1,);
D(我,2)=我;
结束
D2 = D(2:长度(D):);
L = 2;
L < =(大小(W, 1) 1)
L = L + 1;
D2 = sortrows (D2, 1);
k = D2 (1、2);
W (L, 1) = k;
D2 (: 1) = [];
i = 1:尺寸(D2, 1)
如果D (D2(我,2),1)> (D (k, 1) + (k, D2(我,2)))
D (D2(我,2),1)= D (k, 1) + (k, D2(我,2));
D2(我,1)= D (D2(我,2),1);
结束
结束
我= 2:长度(A)
W (L i) = D(我,1);
结束
结束
如果d = = s
L = [1];
其他的
L = [d];
结束
e = W(大小(W, 1), d);
L = listdijkstra (L, W s d);
结束
函数G = exchangenode (G, a, b)
%交换元素与元素在列列b;
缓冲= G (:,);
G (:,) = G (:, b);
G (:, b) =缓冲区;
%交换元素与元素在行b;
缓冲= G (a:);
:G (a) = G (b:);
G (b:) =缓冲区;
函数L = listdijkstra (L, W s d)
指数=大小(W, 1);
指数> 0
如果W (2 d) = = W(大小(W, 1), d)
L L = [s];
指数= 0;
其他的
index2 =大小(W, 1);
index2 > 0
如果W (index2 d) < W (index2-1 d)
L = [L W (index2, 1)];
L = listdijkstra (L, W s W (index2, 1));
index2 = 0;
其他的
index2 = index2-1;
结束
指数= 0;
结束
结束
结束
哪一个——迪杰斯特拉
它运行的文件,也上传,包含:
但它有以下错误:
我不知道为什么,你能帮助我吗?
2的评论

登录置评。

接受的答案

1月
1月 2021年11月14日
你有甲乙dijkstra算法的源函数在其他线程: //www.tianjin-qmedu.com/matlabcentral/fileexchange/36140-dijkstra-algorithm
按下载按钮获得这个提交的所有文件包括setupgraph。m和将其复制到相同的文件夹中。
2的评论
1月
1月 2021年11月15日
你做什么工作?你如何开始这段代码?

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!