MATLAB:如何计算矩阵中元素的分布

时间:2012-03-11 22:08:04

标签: matlab

我有一个矩阵A,其整数元素从0到N-1。

我需要得到的是长度为N的向量V,对于每个位置“i”,它将包含矩阵A中等于“i”的元素数。

例如:

N = 6

A:

0  0  1
1  2  3
3  5  0

V:

3 2 1 2 0 1 0 

这样做的有效方法是什么?

我的真实矩阵大约是10K x 10K元素,N大约是100.

2 个答案:

答案 0 :(得分:2)

您想使用histc(在reshape之后转换为向量)

  

n = histc(x,edges)计算向量x中下降的值的数量   在边矢量中的元素之间(必须包含   单调非减少的价值)。 n是长度(边缘)矢量   包含这些计数。

V = histc(reshape(A,1,[]), 0:(N-1) );

答案 1 :(得分:2)

使用v = histc(A(:), 0:(N-1))。要准确获得结果,请执行v = v'