Function 是否有通用的uniques计数功能?

Function 是否有通用的uniques计数功能?,function,matlab,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\u uniques函数,但据我所知,它只处理非数组输入。您可以使用unique。如果输入是一个数组,请

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

示例:给定长度为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\u uniques
函数,但据我所知,它只处理非数组输入。

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

如果您想要通用功能,可以执行以下操作:

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