Matlab 散乱点的距离分析

Matlab 散乱点的距离分析,matlab,matlab-figure,matlab-compiler,Matlab,Matlab Figure,Matlab Compiler,我通过散布算法随机生成了3组点,算法是 M = randi(1000,200); AP = randi(1000,12); BS = randi(1000,7); scatter(M(:,1),M(:,20),21,'b.'); hold on scatter(AP(:,1),AP(:,9),80,'k*');hold on scatter(BS(:,1),BS(:,4),'r');hold off 现在,我必须为AP设置覆盖区域,并分析AP和M之间的距离,该距离在覆盖区域内。有人能帮我吗?首

我通过散布算法随机生成了3组点,算法是

M = randi(1000,200);
AP = randi(1000,12);
BS = randi(1000,7);
scatter(M(:,1),M(:,20),21,'b.'); hold on
scatter(AP(:,1),AP(:,9),80,'k*');hold on
scatter(BS(:,1),BS(:,4),'r');hold off

现在,我必须为AP设置覆盖区域,并分析AP和M之间的距离,该距离在覆盖区域内。有人能帮我吗?

首先提取AP的覆盖区域:

ExtractedM=[M(:,1) M(:,20)];
ExtractedAP=[AP(:,1) AP(:,9)];%Just creating two different matrices for plotted points

%calculating coverage area of AP i.e. bounding box for coordinates of AP
yMax=max(ExtractedAP(:,2));
yMin=min(ExtractedAP(:,2));
xMax=max(ExtractedAP(:,1));
xMin=min(ExtractedAP(:,1));

%Finding the points from M which lie in the coverage area of AP
[positionBoundedPointsMx1,dummy]=find(ExtractedM(:,1)>=xMin & ExtractedM(:,1)<=xMax);
[positionBoundedPointsMx2,dummy]=find(ExtractedM(:,2)>=yMin & ExtractedM(:,2)<=yMax);
positionBoundedPointsMx=intersect(positionBoundedPointsMx1,positionBoundedPointsMx2,'rows');
boundedPointsM=ExtractedM(positionBoundedPointsMx,:);

%Making sure that correct sets of points in M have been extracted
scatter(M(:,1),M(:,20),21,'b.'); hold on
scatter(AP(:,1),AP(:,9),80,'k*');hold on
scatter(BS(:,1),BS(:,4),'r');hold on;
scatter(boundedPointsM(:,1),boundedPointsM(:,2),'ko');

另外,绘制散点图并自行验证。很抱歉,我无法在此发布图像。

我不确定我是否完全理解您的问题,但如果您要查找m中的每个点到AP中的每个点之间的距离,可以使用函数fdist2。@Baratravi:您能否演示您正在尝试做的事情(手绘的也可以)。如果我理解这一点,我想你想计算每一组点的凸包?嗨,在我的m-Mobile用户编码中,AP是接入点。现在我想选择任意一个AP,并且必须为tat AP设置一个覆盖区域(直径),并找到从AP到M(在覆盖区域内)的距离。请帮帮我。。。。。。
ExtractedAP_Vec=ExtractedAP(:);  %24x1 vector 
boundedPointsM_Vec=boundedPointsM(:);  %224x1 vector

%calculate distance between each point of 'ExtractedAP_Vec' and every point in 'boundedPointsM_Vec'.
dist_AP_M=pdist2(ExtractedAP_Vec,boundedPointsM_Vec);