matlab干货系列:(一)

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

坚持原创技术分享,您的支持将鼓励我继续创作!