Delete repeated row in matrix
    조회 수: 79 (최근 30일)
  
       이전 댓글 표시
    
I have a matrix A that has n x 3 dimension.
Assume
A = [1 1 1; 2 2 2 ; 3 3 3; 1 1 1; 4 4 4]
as you see that the first row and the 4th row are repeated. I want to delete one of them without leaving a blank on that row.
And what if row 1 and row 4 are similar
 A = [1 1 1; 2 2 2 ; 3 3 3; 1.1 1.1 1.1; 4 4 4]
I also want to delete one of them or average row 1 and row 4 then remove row 1 and row 4. Then replace the average in any row so that I would have 4 x 3 matrix.
Anybody knows how to do it? Thanks
댓글 수: 0
채택된 답변
  Rednar
      
 2013년 7월 11일
        I think what you are looking for is the function "unique". Try using:
B = unique(A,'rows')
That will delete repeated rows in matrix A, hence the parameter 'rows'. Regarding your second question, I don't think there's a function for that exactly but you can simply average both rows and store them in a new vector X. Then create a new matrix C using the new vector X and the rows you want from your original matrix A. If I wanted to delete for example the fourth row in your last matrix A I would do:
A = [A(1:3,:);A(5,:)]
Hope that helps.
댓글 수: 4
  Adnan Habib
 2020년 4월 13일
				Hi, I have a similar issue. But I do not want to change the order of rows. When I use unique the order of rows changes. 
  Cristina Erbeia
 2021년 12월 27일
				to not change the order try use command 'stable' when applying unique command
추가 답변 (1개)
  amia djamila
 2019년 6월 26일
        Hi,
Excuse me for my comment ,i have  question if you can help me please, i have a tible of (1332*21) and i have some lines witch repeat ,i want to delte it i do'nt knew how i can do i it's so large that i can't check wher or how it repeat ,please help me 
thank's 
댓글 수: 0
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




