根据我之前的问题,我有几个mx2矩阵,其行包括(0,1),( - 1,0),(0,1),(0,-1),(1,1),( - 1,1),(1,-1),( - 1,-1)我想找到每个上面坐标的频率,我用unique和hisc来给我每行的频率。现在,由于我想比较不同的矩阵,我希望每个矩阵都有8行的相应输出,其中每行表示上述每个坐标出现的次数。特别是,如果例如(0,1)不在我的矩阵行中,我希望看到零频率。
例如,如果A = [1 1; 0 1; 1 0; -1 1; -1 1; 0 1; 0 1]
我希望看到类似的内容:
-1 -1 0
-1 0 0
-1 1 2
0 -1 0
0 1 3
1 -1 0
1 0 1
1 1 1
有办法吗?感谢。
答案 0 :(得分:0)
A = [ 1 1
0 1
1 0
-1 1
-1 1
0 1
0 1 ];
rows = [ -1 -1
-1 0
-1 1
0 -1
0 1
1 -1
1 0
1 1 ];
count = sum(squeeze(all(bsxfun(@eq, A.', permute(rows, [2 3 1])))));
当然,如果您需要问题中显示的表单中的结果,只需构建矩阵result = [rows count.']
。