deleting selective multiple rows from a data matrix

2 Ansichten (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 ]),:)

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by