sa_dist.m

来自「是一个用MATLAB编的一个系统」· M 代码 · 共 36 行

M
36
字号

function [x,y,dist,cities]=sa_Dist(mapmatrix)

[m,n]=size(mapmatrix);
count=1;
for i=1:n
   for j=1:m
      if mapmatrix(i,j)==1
         locate(count,count,1)=i;
         locate(count,count,2)=j;
         count=count+1;
      end
   end
end
for i=1:count-2
   for j=i+1:count-1
      x1=locate(i,i,1);x2=locate(j,j,1);x=(x1-x2)^2;
      y1=locate(i,i,2);y2=locate(j,j,2);y=(y1-y2)^2;
      distance(i,j)=sqrt(x+y);
      distance(j,i)=sqrt(x+y);
   end
   distance(i,i)=0;
end

dist=distance;
x=zeros(count-1,1);
y=zeros(count-1,1);
axis([0 100 0 100]);
for i=1:count-1
    x(i)=locate(i,i,1);
    y(i)=locate(i,i,2);
    
end
    
cities=count-1;
     

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?