version (2.05 KB) by Jos (10584)
Set unique, treating NaNs as equal (v2.0, mar 2009)


Updated 6 Apr 2009

View License

UNIQUEWITHEQUALNANS - Set unique, treating NaNs as equal
B = UNIQUEWITHEQUALNANS(A) for the array A returns the same values as in A
but with no repetitions. B will also be sorted (NaNs as last).

UNIQUEWITHEQUALNANS(A,'rows') for the matrix A returns the unique rows
of A, treating NaNs as equal.

[B,I,J] = UNIQUEWITHEQUALNANS(...) 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] = UNIQUEWITHEQUALNANS(...,'first') returns the vector I to
index the first occurrence of each unique value in A.
UNIQUEWITHEQUALNANS(...,'last'), the default, returns the vector I to
index the last occurrence.

A = [1 2 NaN ; 1 2 NaN ; 1 2 NaN] ;
% -> [1 2 NaN ; 1 2 NaN ; 1 2 NaN] ;
%-> [1 2 NaN]

For a cell array of strings, this function behaves exactly like UNIQUE.

See also unique, ISEQUALWITHNANS.

v2.0, mar 2009 - update to deal with recent versions of UNIQUE

Cite As

Jos (10584) (2022). UNIQUEWITHEQUALNANS (https://www.mathworks.com/matlabcentral/fileexchange/12292-uniquewithequalnans), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R13
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!