是否有一般的统一计数功能?

时间:2012-03-01 10:54:34

标签: function matlab

一般来说,我的意思是它可以计算输入中的不同元素,因为它是一个数字列表(或其他原子),一个向量列表或一个矩阵列表。

示例:给出长度为3的行向量列表:

x = [1 1 1; 1 0 1; 0 1 1; 1 0 1; 1 1 1; 1 0 1];

预期结果应为:

[1 1 1] --> 2
[1 0 1] --> 3
[0 1 1] --> 1

返回例如两个清单。我知道count_uniques函数,但据我所知它只处理非数组输入。

1 个答案:

答案 0 :(得分:2)

您可以使用unique。如果输入是数组,请使用unique(X,'rows')

如果你想要一个通用功能,你可以这样做:

function varargout=universal_unique(X);
   if(size(X,2)==1)
      [varargout{:}]=unique(X);
    else
      [varargout{:}]=unique(X,'rows');
   end
end