我有一个单元格数组 ,a
其内容如下:
a{1}=[1 3 4 5;
3 3 4 5;
5 5 4 5;
2 4 2 6;
6 5 2 6;
7 2 3 1;]
如何unique
在 2 列 [第 3 列和第 4 列] 上应用该函数,以便它们返回值“3”和“2”。[因为 4,5 对有 3 个重复项,2,6 对有 2 个重复项。]
非常感谢任何提示。
你可以使用:
[B,I,J] = unique(a{1}(:,[3,4]),'rows');
N = hist(J,numel(unique(J)));
N(N~=1)
这会给你:
ans =
2 3
你可以这样做:
desiredCol=3;
B=unique(a{1}(:,desiredCol));
count=histc(a{1}(:,desiredCol),B);
desiredMat(:,2)= count(count~=1);
multipleOccElm= (count~=1).*B;
desiredMat(:,1)=multipleOccElm(multipleOccElm~=0);
这就是你解释的方式desiredMat
:
以第一行为例。第一列将包含该元素。第二列将包含它在该特定列中出现的次数。请注意,不会显示单个事件。
第 4 列的desiredMat
外观如下:
desiredMat =
5 3
6 2