【发布时间】:2015-03-19 05:50:06
【问题描述】:
我有 100 个数据点分散在一个区域内。现在我用 6x6 大小的网格划分区域,如下图所示:
figure http://s2.postimg.org/c6zk68myf/IGN2.png
现在我需要在网格的一个框内画一个圆圈,这样如果有超过 1 个点,我就可以在一个框中对点进行分组。如果是这种情况,如果一个盒子里没有点或一个点,盒子里就不会有圆圈。
知道我应该怎么做吗?
这是我在上面创建的绘图的 MATLAB 代码:
xm=100;
ym=100;
%x and y Coordinates of the Sink
sink.x=0.5*xm;
sink.y=0.5*ym;
%Number of Nodes in the field
n=100
figure(1);
for i=1:1:n
S(i).xd=rand(1,1)*xm;
XR(i)=S(i).xd;
S(i).yd=rand(1,1)*ym;
YR(i)=S(i).yd;
S(i).G=0;
%initially there are no cluster heads only nodes
S(i).type='N';
plot(S(i).xd,S(i).yd,'o');
hold on;
end
NrGrid = 6;
% Number Of Grids
x = linspace(0, 100, NrGrid+1);
[X,Y] = meshgrid(x);
S(n+1).xd=sink.x;
S(n+1).yd=sink.y;
plot(S(n+1).xd,S(n+1).yd,'x',X,Y,'k');
hold on
plot(Y,X,'k')
set(gca, 'Box','off', 'XTick',[], 'YTick',[])
axis square
%First Iteration
figure(1);
预期结果:
【问题讨论】:
-
很抱歉,我很难理解您想要什么。你到底想做什么?你在一个盒子里画一个圆圈是什么意思?你不是已经这样做了吗?
-
对不起,我的任何误导性解释。实际上我想对彼此相邻的点进行分组。即在一个盒子里,如果有更多的点,即不止一个点,那么我想在一个盒子内覆盖一个圆圈中的所有点..
-
很抱歉,我还是不明白。你如何定义点是否彼此接近?我们如何处理这些分组的点?也许您可以向我们展示您的预期输出的图像?
-
这里是示例图片pho.to/9460P
标签: matlab