%以最小的x为源节点,以最大的x为目标节点
[y,index]=sort(x_static);
plot(y(1),y_static(index(1)),'ro')
plot(y(ssn),y_static(index(ssn)),'ro')
xs=y(1);
ys=y_static(index(1));
xd=y(ssn);
yd=y_static(index(ssn));
%以源节点目标节点距离为直径作圆
ox=(x_source+x_destine)/2;%求圆心坐标
oy=(y_source+y_destine)/2;
% plot(ox,oy,'r^');%标注圆心
D=sqrt((x_source-x_destine)^2+(y_source-y_destine)^2);%求直径
R=D/2;%求半径
for i=1:361 %1度2度3度......360度;
theta=(pi/180)*(i-1); %换算成弧度;
yuan_xj(i)=ox+R*cos(theta);yuan_yj(i)=oy+R*sin(theta);
end %1度2度3度......360度;
plot(yuan_xj,yuan_yj,'r-');
ssn=length(y_static);
p=0;q=0;%以源节点目标节点距离为直径的圆内的点的坐标存储矩阵下标;
for j=1:ssn %遍历所有节点;
if (ox-x_static(j))^2+(oy-y_static(j))^2<R^2%<R表示节能,=R表示不节能,>R表示耗能。
p=p+1;
q=q+1;
xblank(p)=x_static(j);
yblank(q)=y_static(j);%把以源节点目标节点距离为直径的圆内的点的坐标存入存储矩阵;
end %找出以源节点目标节点距离为直径的圆内的节点;
end %遍历所有节点;
1点坐标(x1,y1),2点坐标(x2,y2)
圆心坐标((x1+x2)/2;
,(y1+y2)/2)