Removing row of a nx3 matrix if at any row the 3rd column is 0

1 visualización (últimos 30 días)
I tried doing this using a for loop and come to realise it is impossible to, can anyone tell me a way to remove a row of a matrix if the condition is met
for example:
b =
1 2 0
3 4 5
3 2 -1
5 6 0
1 3 6
with the above matrix b, how do I go thru each row and check if the 3rd column is either less than or equal to 0 and remove it?

Respuesta aceptada

David Fletcher
David Fletcher el 24 de Mayo de 2021
Editada: David Fletcher el 24 de Mayo de 2021
b = [1 2 0;3 4 5;3 2 -1;5 6 0;1 3 6]
b = 5×3
1 2 0 3 4 5 3 2 -1 5 6 0 1 3 6
idx=b(:,3)<=0
idx = 5×1 logical array
1 0 1 1 0
b(idx,:)=[]
b = 2×3
3 4 5 1 3 6

Más respuestas (0)

Categorías

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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by