Delete repeated row in matrix
222 次查看(过去 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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!