绘制区域内的分布

时间:2013-08-02 12:20:15

标签: matlab

我在圆圈内有一个点分布。 所以,我在那个圆圈内画了一个圆形网格。我想找到圆形网格的每个单元格内的点数。 有没有办法轻松实现这一点。或者可能不需要绘制网格? 我的目标是策划分发。

非常感谢任何帮助。 提前谢谢。

2 个答案:

答案 0 :(得分:2)

如果X,Y是您圈子中各点的坐标,则可以使用

获取距中心的距离

(编辑:T / H @horchler)

d = sqrt(sum([X(:)-X0 Y(:)-Y0].^2,2)); 

其中X0, Y0是圆心的坐标。

然后,您可以使用hist计算径向分布:

figure, hist(d)

或者如果您只想要分发和分档

[distr bins] = hist(d); 

答案 1 :(得分:1)

通过“圆形网格”我理解方位角和模数的网格。我建议你转换为极坐标:

z = x + j*y; % x, y are vectors woth x, y coordinates of the points
az = angle(z); % note that this gives azimuth in radians
mod = abs(z);

然后将某种2D直方图应用于azmod,例如使用this函数。 (请注意,这是一个用户提供的文件。我自己没有测试过。)