Borrar filtros
Borrar filtros

remove rows from a matrix on a specific condition

97 visualizaciones (últimos 30 días)
Dimitris
Dimitris el 1 de Feb. de 2013
Comentada: Jona Gladines el 12 de Oct. de 2020
I want to remove rows from a matrix when a specific condition is satisfied.
For example, lets as assume that I have the following 5x5 matrix :
A= [ 5 3 3 1 4
6 6 3 1 0
6 2 2 2 0
4 2 3 2 0
1 1 1 1 2 ]
and I want to delete the rows of this matrix when the elements of the 5th column are equal to 0, so I will be left with the first and last row as an outcome:
A= [ 5 3 3 1 4
1 1 1 1 2 ]
Thanks
  1 comentario
Dimitris
Dimitris el 1 de Feb. de 2013
Just to make clear there are ; for every 5 elements in the example to separate the rows, I hope it is clear, sorry about that

Iniciar sesión para comentar.

Respuesta aceptada

Daniell Algar
Daniell Algar el 1 de Feb. de 2013
Try
A= [ 5 3 3 1 4; 6 6 3 1 0; 6 2 2 2 0; 4 2 3 2 0; 1 1 1 1 2 ]
A(A(:, 5)== 0, :)= []
  3 comentarios
Raghu Vamsi
Raghu Vamsi el 9 de En. de 2020
What if the 0 is not exactly in the 5th Column but random in cells, then how to solve the same issue?
Jona Gladines
Jona Gladines el 12 de Oct. de 2020
@Raghu Vamsi, If still needed, repeat for every column. As it wil only remove the rows with a 0 in that specific column.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by