matlab中的unique函数(向量中的那些唯一的元素)
语法
b = unique(A)
b = unique(A,’rows’)
[b,m,n] = unique(…)
描述
1、b = unique(A) 返回的是和A中一样的值,但是没有重复元素。产生的结果向量按升序排序。A可以是一个字符串的单元阵列。
2、b = unique(A,’rows’) 返回的是A中的唯一的行数。
3、[b,m,n] = unique(…) 也返回索引向量m和n,使得B = A(M)和A= B(N)。m的每一个元素是最大的下标,使得B = A(M)。对于行的组合,B = A(M,:)和A= B(N,:)。
示例
A = [1 1 5 6 2 3 3 9 8 6 2 4]
A =
1 1 5 6 2 3 3 9 8 6 2 4
[b,m,n] = unique(A)
b =
1 2 3 4 5 6 8 9
m =
2 11 7 12 3 10 9 8
n =
1 1 5 6 2 3 3 8 7 6 2 4
A(m)
ans =
1 2 3 4 5 6 8 9
b(n)
ans =
1 1 5 6 2 3 3 9 8 6 2 4
因为NaN是互不相等的,把他们作为独特的元素对待
unique([1 1 NaN NaN])
ans =
1 NaN NaN