remove duplicate rows from a matrix
    10 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Ananya Malik
 il 16 Ago 2016
  
    
    
    
    
    Commentato: Walter Roberson
      
      
 il 14 Ago 2020
            I have a matrix of the form
A=[317.0000  282.0000  310.0000  259.0000  257.0000  305.0000  294.6667  282.0000
   317.0000  282.0000  309.0000  372.0000  257.0000  305.0000  294.3333  319.6667
   317.0000  282.0000  257.0000  305.0000  310.0000  259.0000  294.6667  282.0000
   317.0000  282.0000  257.0000  305.0000  309.0000  372.0000  294.3333  319.6667
   92.0000  166.0000   55.0000  235.0000   71.0000  173.0000   72.6667  191.3333
   92.0000  166.0000   71.0000  173.0000   55.0000  235.0000   72.6667  191.3333];
I want to remove the redundant rows from A. Can anyone help. TIA.
0 Commenti
Risposta accettata
  Thorsten
      
      
 il 16 Ago 2016
        unique(sort(A,2), 'rows')
2 Commenti
  John Allen
 il 14 Ago 2020
				warning, if position in the row is important then you dont want this. ie if (1,2) is different to (2,1)
Più risposte (1)
  Walter Roberson
      
      
 il 16 Ago 2016
        uA = unique(A, 'rows', 'stable');
7 Commenti
  John Allen
 il 14 Ago 2020
				the post title is misleading - you don't want to remove duplicate rows, you want to remove rows with the same contents, irrespective of order
  Walter Roberson
      
      
 il 14 Ago 2020
				[~, iA] = uniquetol(A, 'byrows', true);
A(sort(iA), :)      %the unique rows, in the original order
Vedere anche
Categorie
				Scopri di più su Startup and Shutdown 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!



