我的dijkstra算法怎么有问题部分数据不能运行 用matlab做的B第一列是编号 第二列是横坐标 第三列是纵坐标 A是连接矩阵 C是由AB算出的连接矩阵 问问为什么一部分数据可以算例如distram(C,14,25)
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 17:01:44
我的dijkstra算法怎么有问题部分数据不能运行 用matlab做的B第一列是编号 第二列是横坐标 第三列是纵坐标 A是连接矩阵 C是由AB算出的连接矩阵 问问为什么一部分数据可以算例如distram(C,14,25)
我的dijkstra算法怎么有问题部分数据不能运行 用matlab做的
B第一列是编号 第二列是横坐标 第三列是纵坐标 A是连接矩阵 C是由AB算出的连接矩阵 问问为什么一部分数据可以算例如distram(C,14,25)而另外的如distram(C,1,2)会陷入死循环A=xlsread('liao1.xls');B=xlsread('liao.xls');C=ones(92,92);C=inf*C;D=[];for K=1:143if A(K,1)
我的dijkstra算法怎么有问题部分数据不能运行 用matlab做的B第一列是编号 第二列是横坐标 第三列是纵坐标 A是连接矩阵 C是由AB算出的连接矩阵 问问为什么一部分数据可以算例如distram(C,14,25)
这是我存的算法,matlab能运行,你用这个试试
w=[(数据)];
n=size(w,1);
w1=w(1,:);
%赋初值
for i=1:n
l(i)=w1(i);
z(i)=1;
end
s=[];
s(1)=1;
u=s(1);
k=1;
while kl(u)+w(u,i)
l(i)=l(u)+w(u,i);
z(i)=u;
end
end
%求v*
ll=l;
for i=1:n
for j=1:k
if i~=s(j)
ll(i)=ll(i);
else
ll(i)=inf;
end
end
end
lv=inf;
for i=1:n
if ll(i)