发布网友 发布时间:2022-04-30 10:24
共2个回答
热心网友 时间:2022-06-21 03:21
n=5;%节点个数
x=rand(n,1);%随机x坐标
y=rand(n,1);%随机y坐标
r=rand(n,1)/4;%随机半径
t=0:360;
figure(1);
clf;
hold on;
for ii=1:n
plot(x(ii),y(ii),'r.');%画出随机5点
plot(x(ii)+r(ii)*cosd(t),y(ii)+r(ii)*sind(t));%画圆
text(x(ii),y(ii),num2str(ii));%标节点号
end
a=false(n);
for ii=1:n
a(ii,:)=sqrt((x-x(ii)).^2+(y-y(ii)).^2)<=r+r(ii);%利用距离判断生成邻接矩阵
end
a=a-eye(n); %令对角元素为0
gplot(a,[x,y],'k');%画邻接关系图,这里使用了原来的随机x,y坐标
axis equal;
hold off;
这是其中一次随机的结果,找子图等操作留给你自己完成
热心网友 时间:2022-06-21 03:21
画圆不是关键,只需要两两判断用户之间的距离即可。追答没人帮你写整个问题的代码的。至少也得自己把问题分解一下才有可能。
另外,自己分解完了以后,多搜一搜,这些问题都是比较常规的问题,会有现成代码。