matlab 以坐标画圆

随机生成一组坐标,然后以此坐标为圆心,再一另一组随机数做为半径画圆,查看圆之间有没有相互覆盖,并显示出来,最好能生成用户邻接图然后在用户邻接图中找完全子图,使得完全子图的... 随机生成一组坐标,然后以此坐标为圆心,再一另一组随机数做为半径画圆,查看圆之间有没有相互覆盖,并显示出来,最好能生成用户邻接图然后在用户邻接图中找完全子图,使得完全子图的数目尽量少。将属于不同子图的用户标注,用颜色加以区分。 展开
 我来答
dukinkin
2014-02-27 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2444
采纳率:90%
帮助的人:882万
展开全部

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;


这是其中一次随机的结果,找子图等操作留给你自己完成

更多追问追答
追问
完全子图是不是就是最大独立集啊或者极大团????
追答
先去看完全图的定义
完全图是所有节点都亮亮相连的图n个节点的完全图有n(n-1)/2条无向边

完全子图,应该就是从图中找出的子图要满足完全图
WM_THU
2014-02-27 · TA获得超过7163个赞
知道大有可为答主
回答量:4285
采纳率:80%
帮助的人:3858万
展开全部
画圆不是关键,只需要两两判断用户之间的距离即可。
用邻接矩阵表示上述图的结构就可以。
追问
额,能不能具体实现一下
追答
没人帮你写整个问题的代码的。至少也得自己把问题分解一下才有可能。
另外,自己分解完了以后,多搜一搜,这些问题都是比较常规的问题,会有现成代码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式