Unique entries in a vector
November 13, 2011 at 03:20 AM | categories: miscellaneous | View Comments
Contents
Unique entries in a vector
John Kitchin
It is surprising how often you need to know only the unique entries in a vector of entries. Matlab provides the unique` to solve these problems. The :command:`unique command returns the sorted unique entries in a vector.
a = [1 1 2 3 4 5 3 5] unique(a)
a = 1 1 2 3 4 5 3 5 ans = 1 2 3 4 5
The unique command also works with cell arrays of strings.
a = {'a' 'b' 'abracadabra' 'b' 'c' 'd' 'b'} unique(a)
a = 'a' 'b' 'abracadabra' 'b' 'c' 'd' 'b' ans = 'a' 'abracadabra' 'b' 'c' 'd'
There is more!
The unique command has some other features too. check them out:
help unique
UNIQUE Set unique. B = UNIQUE(A) for the array A returns the same values as in A but with no repetitions. B will also be sorted. A can be a cell array of strings. UNIQUE(A,'rows') for the matrix A returns the unique rows of A. [B,I,J] = UNIQUE(...) also returns index vectors I and J such that B = A(I) and A = B(J) (or B = A(I,:) and A = B(J,:)). [B,I,J] = UNIQUE(...,'first') returns the vector I to index the first occurrence of each unique value in A. UNIQUE(...,'last'), the default, returns the vector I to index the last occurrence. See also UNION, INTERSECT, SETDIFF, SETXOR, ISMEMBER, SORT, ISSORTED. Overloaded methods: cell/unique dataset/unique RTW.unique categorical/unique Reference page in Help browser doc unique
'done' % categories: Miscellaneous
ans = done