deleting selective multiple rows from a data matrix

1 Ansicht (letzte 30 Tage)
Rabeya
Rabeya am 10 Apr. 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.

Akzeptierte Antwort

Thomas
Thomas am 10 Apr. 2012
A(~(B<2|B>3),:)

Weitere Antworten (1)

Leah
Leah am 10 Apr. 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 ]),:)

Kategorien

Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by