最短路径问题的程序,上一秒MATLAB程序还好使,下一秒就变成这个烂样子是为什么?分步调也不好使,为什么?


clc;clear;
%功能在给定的输入输出以及矩阵m的情况下,求解出最短路径,并输出路径曲线以及最短路径
disp('请输入矩阵m')
m=input('m=');
[~,Array]=size(m);
dmin=zeros(Array,1);
P=zeros(Array,1);
path=zeros(Array,1);
%%起点初始化
start=1;
P(start)=1;
dmin(start)=0;
while sum(P)<Array
tb=find(P==0);%找到还未找到最短路径的点
fb=find(P);%找出已找到最短路径的点
min=inf;
    for i=1:length(fb)
        for j=1:length(tb)
            longh=dmin(fb(i))+m(fb(i),tb(j));
            if longh<min
                min=longh;
                dmin(tb(j))=min;
            end            
        end       
    end  
    pb=find(dmin==min);
    P(pb)=1;   
end





img

img

同学,把你调试用的初始矩阵贴一下啊,不然怎么也没法子给你调代码,找错误;其次,你的错误的红色字也贴一贴

谢谢我调好了,好像是软件问题,确实挺奇怪的,昨天不好使今天就好使了,是MATLAB盗版的原因?