Azzera filtri
Azzera filtri

How to quickly extract a unique list of rows from a cell array?

4 visualizzazioni (ultimi 30 giorni)
So, I have an unacceptably large cell array, with far too many rows to reasonably display, and only 5 columns.
Each column contains a different format (some string, some numeric).
I know that many of the rows of the array are duplicated, so what I would like to do is to quickly and simply remove these duplicates.
Has anyone got a quick way of achieving this?
  1 Commento
Iain
Iain il 7 Giu 2013
Modificato: Iain il 7 Giu 2013
Array = {45 654 9841 'ra' 'rb';
45 684 9841 'ra' 'rb';
...
45 654 9841 'ra' 'rb';
45 684 9842 'ra' 'rb';
1 651 91 'ra' 'ra';

Accedi per commentare.

Risposte (1)

Azzi Abdelmalek
Azzi Abdelmalek il 7 Giu 2013
[idx,idx]=unique(cell2mat([cellfun(@num2str,A(:,1:3),'un',0) A(:,4:5)]),'rows')
out=A(idx,:)

Categorie

Scopri di più su Multidimensional Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by