uniqueCells

Version 1.2.1 (2 KB) by Konrad
Implementation of unique for ND cell arrays of mixed type. Avoids num2str and provides switches for unique rows and to treat NaNs as equal.
40 Downloads
Updated Mon, 13 Aug 2018 08:38:06 +0000

View License

[ outcell, iIn, iOut ] = uniqueCells( incell [, 'rows', 'equalnan'] )

Usage is similar to unique().
The 'rows' switch returns unique rows in a matrix of cells. Otherwise, ND cell arrays are supported.
The 'equalnan' switch treats NaNs as equal.

As sorting is not possible for mixed-type cells the output corresponds to
the 'stable' switch in unique(). The occurrence-switch of unique() is NOT
implemented.

The following is true (w/o the 'rows' switch'):
isequal(incell(iIn), outcell)
isequal(outcell(iOut), incell)

Using the 'rows' switch:
isequal(incell(iIn,:), outcell)
isequal(outcell(iOut,:), incell)

The algorithm performs exhaustive pairwise comparisons using isequal
making it exact and type-independent (in contrast to implementations
using num2str); however this may come at the expense of performance.

Cite As

Konrad (2024). uniqueCells (https://www.mathworks.com/matlabcentral/fileexchange/68449-uniquecells), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2017a
Compatible with R2007b and later releases
Platform Compatibility
Windows macOS Linux
Categories
Find more on Data Type Identification in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.2.1

Fixed typo.

1.2.0

Input checking, error handling & compatibility improved.

1.1.0