Remove duplicate cells from cell array of different dimensions
    4 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
Hi,
I have a cell array C of nx1, where each cell contains a vector of different values. Each vector has a different length, ranging from 3 to 8 or so. I would like to output another cell array, where all the duplicate cells in C have been removed. I also don't care about the order of the values within each vector. I suppose I could run a giant for loop (in this case n = 900) where I sort each vector with the cells of C and somehow use that.
I've looked up other similar questions online, but the only answers I've found so far only work if the dimensions of C are constant. My only other guess is that maybe I will have to convert it into an array, where there are Nans for the cells whose vectors are not long enough.
Does someone else spot a solution?
Thanks!
0 Commenti
Risposte (1)
  Azzi Abdelmalek
      
      
 il 13 Lug 2016
        A=arrayfun(@(x) randi(10,1,randi([3 8])),1:900,'un',0); % Example
b=cellfun(@(x) sort([x nan(1,8-numel(x))]),A,'un',0)
c=cell2mat(b'')
[~,jj]=unique(c,'rows');
B=A(jj)
2 Commenti
Vedere anche
Categorie
				Scopri di più su Logical in Help Center e File Exchange
			
	Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

