如何在矩阵中找到具有特定坐标的每一行的频率?

时间:2014-03-29 15:20:16

标签: matlab

我有一个mx2矩阵及其行(0,1), (-1,0), (0,1), (0,-1), (1,1), (-1,1), (1,-1),(-1,-1);我想找到上述每个坐标的频率。换句话说,如果我有A=[1 1;0 1;-1 1;1 0;-1 1],我想得到类似的东西,

  • (1,1)出现的次数= 1;
  • (0,1)出现的次数= 1;
  • (-1,1)出现的次数= 2;
  • (1,0)出现的次数= 1;
  • (0,-1)出现的次数= 0;
  • (-1,-1)出现的次数= 0;
  • (-1,0)出现的次数= 0;
  • (1,-1)出现的次数= 0;

当我使用find()命令时,我收到错误。

1 个答案:

答案 0 :(得分:0)

使用unique然后histc

[uA, ~, n] = unique(A, 'rows');
c = histc(n, 1:max(n));

示例:带

A =[ 1 1
     0 1
    -1 1
     1 0
    -1 1]

这给出了

uA =
    -1     1
     0     1
     1     0
     1     1

c =
     2
     1
     1
     1