remove duplicate rows from a matrix
    조회 수: 10 (최근 30일)
  
       이전 댓글 표시
    
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
채택된 답변
  Thorsten
      
      
 2016년 8월 16일
        unique(sort(A,2), 'rows')
댓글 수: 2
  John Allen
 2020년 8월 14일
				warning, if position in the row is important then you dont want this. ie if (1,2) is different to (2,1)
추가 답변 (1개)
  Walter Roberson
      
      
 2016년 8월 16일
        uA = unique(A, 'rows', 'stable');
댓글 수: 7
  John Allen
 2020년 8월 14일
				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
      
      
 2020년 8월 14일
				[~, iA] = uniquetol(A, 'byrows', true);
A(sort(iA), :)      %the unique rows, in the original order
참고 항목
카테고리
				Help Center 및 File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기
			
	제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



