clear all
clc
x=10*rand(1,25)
y=10*rand(1,25)
plot(x,y,'+')%网络中总共25个点
hold on
x0=0
y0=0%sink结点位置
plot(x0,y0,'v')
hold on
xx=0
yy=0
d1=sqrt((x-xx).^2+(y-yy).^2)
i=1
while(length(d1)>25-10)%形成链路的节点个数(10可更改为所需的的结点数 )
d1=sqrt((x-xx).^2+(y-yy).^2)
mi=min(min(d1))
[xin,yin]=find(d1==min(min(d1)))
xx=x(yin)
yy=y(yin)
xs(i)=xx
ys(i)=yy
x(yin)=[]
y(yin)=[]
d1(yin)=[]
length(d1)
plot(xx,yy,'o')
holdon
i=i+1
end
plot(xs,ys,'o-')
hold on
title('形成路径')
legend('未被选用的结点','sink结点','选中的结点')