deleting selective multiple rows from a data matrix

2 visualizaciones (últimos 30 días)
Rabeya
Rabeya el 10 de Abr. de 2012
I want to delete rows of a matrix depending on some specific values of one of its columns. Say, if A=[1,2,3,1;5,6,7,2;9,10,11,3;13,14,15,4]; B=A(:,4);
I want to delete rows of A if B<2 and B>3, that is want the second and third rows of A.
I have tried A(B,:)=[] type commands, but failed.

Respuesta aceptada

Thomas
Thomas el 10 de Abr. de 2012
A(~(B<2|B>3),:)

Más respuestas (1)

Leah
Leah el 10 de Abr. de 2012
couple of problems
B<2 & B>3
is always false you need to use a logical index to filter rows of A, B is not logical (all zeros and ones) these commands would work
A(B==2 | B==3,:)
A([2 3],:)
A(logical([0 1 1 0 ]),:)

Categorías

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

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by