dijkstra怎么用matlab实现希望能直接给出代码,ps 要是给出注释就在完美不过了,邻接矩阵如下,求第4个点到各个点的最短距离[0 1 1 inf inf inf inf inf 1 0 1 inf inf inf inf inf 1 1 0 1 inf inf inf 1 inf inf 1 0 1 in
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/05 23:16:29
![dijkstra怎么用matlab实现希望能直接给出代码,ps 要是给出注释就在完美不过了,邻接矩阵如下,求第4个点到各个点的最短距离[0 1 1 inf inf inf inf inf 1 0 1 inf inf inf inf inf 1 1 0 1 inf inf inf 1 inf inf 1 0 1 in](/uploads/image/z/11458808-8-8.jpg?t=dijkstra%E6%80%8E%E4%B9%88%E7%94%A8matlab%E5%AE%9E%E7%8E%B0%E5%B8%8C%E6%9C%9B%E8%83%BD%E7%9B%B4%E6%8E%A5%E7%BB%99%E5%87%BA%E4%BB%A3%E7%A0%81%2Cps+%E8%A6%81%E6%98%AF%E7%BB%99%E5%87%BA%E6%B3%A8%E9%87%8A%E5%B0%B1%E5%9C%A8%E5%AE%8C%E7%BE%8E%E4%B8%8D%E8%BF%87%E4%BA%86%2C%E9%82%BB%E6%8E%A5%E7%9F%A9%E9%98%B5%E5%A6%82%E4%B8%8B%2C%E6%B1%82%E7%AC%AC4%E4%B8%AA%E7%82%B9%E5%88%B0%E5%90%84%E4%B8%AA%E7%82%B9%E7%9A%84%E6%9C%80%E7%9F%AD%E8%B7%9D%E7%A6%BB%5B0+1+1+inf+inf+inf+inf+inf+1+0+1+inf+inf+inf+inf+inf+1+1+0+1+inf+inf+inf+1+inf+inf+1+0+1+in)
dijkstra怎么用matlab实现希望能直接给出代码,ps 要是给出注释就在完美不过了,邻接矩阵如下,求第4个点到各个点的最短距离[0 1 1 inf inf inf inf inf 1 0 1 inf inf inf inf inf 1 1 0 1 inf inf inf 1 inf inf 1 0 1 in
dijkstra怎么用matlab实现
希望能直接给出代码,
ps 要是给出注释就在完美不过了,
邻接矩阵如下,求第4个点到各个点的最短距离
[0
1
1
inf
inf
inf
inf
inf
1
0
1
inf
inf
inf
inf
inf
1
1
0
1
inf
inf
inf
1
inf
inf
1
0
1
inf
1
inf
inf
inf
inf
1
0
1
inf
inf
inf
inf
inf
inf
1
0
1
inf
inf
inf
inf
1
inf
1
0
1
inf
inf
1
inf
inf
inf
1
0 ]
那个一列就是一行
度娘搞成这样了
dijkstra怎么用matlab实现希望能直接给出代码,ps 要是给出注释就在完美不过了,邻接矩阵如下,求第4个点到各个点的最短距离[0 1 1 inf inf inf inf inf 1 0 1 inf inf inf inf inf 1 1 0 1 inf inf inf 1 inf inf 1 0 1 in
a=[0 1 1 Inf Inf Inf Inf Inf;
1 0 1 Inf Inf Inf Inf Inf;
1 1 0 1 Inf Inf Inf 1;
Inf Inf 1 0 1 Inf 1 Inf;
Inf Inf Inf 1 0 1 Inf Inf;
Inf Inf Inf Inf 1 0 1 Inf;
Inf Inf Inf 1 Inf 1 0 1;
Inf Inf 1 Inf Inf Inf 1 0];
n=length(a); %节点个数
d=inf(1,n); %d存放到每点最短路径的向量
S=4;d(S)=0; %原点是第4点,同时也是目前的出发点
%原点到目前出发点距离是0
T=1:n;
T(T==S)=[]; %除了起始点,其他点都是未扩展的点
while ~isempty(T) %如果没有未扩展的点,那么完成全部点
tempd=a(S,T)+d(S);%计算:从目前出发点到所有未扩展点的距离+目前出发点到原点距离
mask=tempd