unique rows of matrix
163 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have to create new matrix A from a given matrix B in the following manner
B=[1 4 2;1 5 2;1 5 2;3 3 4;3 1 4;2 1 3;2 6 3]
A=[1 2;3 4;2 3]
i-e in forming A we ignore the values which 2nd column takes in and considers only column 1 and 3 create A.
unique(A,'rows') will not do the job . Do I have to create an intermediate matrix from column 1 and 3 and the apply this unique function to get the desired matrix or is there any other option available which avoids formulation of intermediate matrix
0 comentarios
Respuesta aceptada
Matt Kindig
el 25 de Mzo. de 2013
You can easily perform the task using:
A = unique( B(:,[1 3]), 'rows');
But of course, this forms the intermediate matrix to run the unique() function. Is there a particular reason you need to avoid this intermediate matrix running (memory issues, perhaps)?
Más respuestas (1)
Matt J
el 25 de Mzo. de 2013
Editada: Matt J
el 25 de Mzo. de 2013
You have to create an intermediate matrix, but you don't have to assign it to a variable.
A = unique(B(:,[1 3]),'rows')
What issue do you have with the above? Your B matrix is too small for this to matter and super-large matrices will be painful for UNIQUE anyway.
0 comentarios
Ver también
Categorías
Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!