matlab Floyd最短路計算

clear;clc;
n=31; a=zeros(n);
a(1,2)=124;a(1,3)=187;a(1,4)=182*1.5;
...
a(29,30)=68*2;a(29,31)=41*2;
a=a+a'; M=max(max(a))*n^2; %M爲充分大的正實數
a=a+((a==0)-eye(n))*M;
path=zeros(n);
b=a;
ccase=xlsread('各地區累計病例.xls');
for i=1:n
        b(:,i)=b(:,i)*ccase(i);
end
%a, path

計算所有點之間的最短距離,存於a,路徑存於path。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章