remove duplicate rows from a matrix
    10 views (last 30 days)
  
       Show older comments
    
    Ananya Malik
 on 16 Aug 2016
  
    
    
    
    
    Commented: Walter Roberson
      
      
 on 14 Aug 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 Comments
Accepted Answer
  Thorsten
      
      
 on 16 Aug 2016
        unique(sort(A,2), 'rows')
2 Comments
  John Allen
 on 14 Aug 2020
				warning, if position in the row is important then you dont want this. ie if (1,2) is different to (2,1)
More Answers (1)
  Walter Roberson
      
      
 on 16 Aug 2016
        uA = unique(A, 'rows', 'stable');
7 Comments
  John Allen
 on 14 Aug 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
      
      
 on 14 Aug 2020
				[~, iA] = uniquetol(A, 'byrows', true);
A(sort(iA), :)      %the unique rows, in the original order
See Also
Categories
				Find more on Startup and Shutdown in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


