0
我有點根據某個點過程分佈在一個正方形上,可能是泊松點過程。我想將廣場分成更小的廣場,並計算每個廣場的點數。是否有一種簡單的方法可以通過內置函數在Matlab中完成?計算幾個子區域中每個點的點數
我有點根據某個點過程分佈在一個正方形上,可能是泊松點過程。我想將廣場分成更小的廣場,並計算每個廣場的點數。是否有一種簡單的方法可以通過內置函數在Matlab中完成?計算幾個子區域中每個點的點數
正如Nras所說,內置命令hist3完全符合你的要求。爲了證明它的使用,我生成了極點半徑和極角均勻分佈的點:
n = 100000;
r = rand(n,1);
theta = 2*pi*rand(n,1);
points = [r.*cos(theta), r.*sin(theta)];
hist3(points,[15,15]); % [15,15] is the number of bins in each direction
圖形輸出如下。如果你想實際計數,而不是一幅畫,用
counts = hist3(points,[15,15]);
它可以在幾行來替換最後一個命令。你如何定義邊緣?請編輯您的答案,以小數字示例定義您的數據變量。 – 2014-09-22 15:30:50
查看類似:See [this](http://stackoverflow.com/questions/18639518/generate-and-plot-the-empirical-joint-pdf-and-cdf)answer – 2014-09-22 15:31:39
這聽起來像是一個二維直方圖,這可以通過''accumarray()''非常有效地完成。編輯:看到Amro的這個答案:http://stackoverflow.com/questions/6777609/fast-2dimensional-histograming-in-matlab編輯:另見''hist3()'' – Nras 2014-09-22 15:33:34