index multiple columns together on different critera

21 views (last 30 days)
I have a maxtrix of 2 columns, I want to pull out a new matrix with all the rows where column 1 is <0.2 and column 2 is >0.2. The row values are matched, both columns need to stay together.
A= [0.09 0.48
0.5 0.1
0.04 0.3]
I want make the new matrix to return
B= [0.09 0.48
0.04 0.3]
I've tried things like these, but I only end up with the first column
idx=A(:,1)<0.2 | A(:,2)>0.2;
B=A(idx)
B=[0.09
.04]
How do I return column 2 as well?

Accepted Answer

Walter Roberson
Walter Roberson on 13 Aug 2020
B=A(idx, :)

More Answers (2)

hosein Javan
hosein Javan on 13 Aug 2020
A= [0.09 0.48
0.5 0.1
0.04 0.3];
idx1 = A(:,1)<0.2 ; idx2 = A(:,2)>0.2;
B(:,1) = A(idx1,1); B(:,2) = A(idx2,2);
% answer in command window
B =
0.0900 0.4800
0.0400 0.3000

madhan ravi
madhan ravi on 13 Aug 2020
Edited: madhan ravi on 13 Aug 2020
“I want to pull out a new matrix with all the rows where column 1 is <0.2 and column 2 is >0.2.”
idx = A(:,1)<0.2 & A(:,2)>0.2;
A(idx, :)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!