deleting selective multiple rows from a data matrix

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.

 採用された回答

Thomas
Thomas 2012 年 4 月 10 日

2 投票

A(~(B<2|B>3),:)

その他の回答 (1 件)

Leah
Leah 2012 年 4 月 10 日

0 投票

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

カテゴリ

ヘルプ センター および File ExchangeResizing and Reshaping Matrices についてさらに検索

製品

タグ

質問済み:

2012 年 4 月 10 日

Community Treasure Hunt

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

Start Hunting!

Translated by