How can I find values within a range of one column in a two column matrix, and get the value plus the corresponding value in the other column?

8 views (last 30 days)
Hello,
Let's say I have a simple matrix:
A = [ 1 6; 2 6; 3 7; 4 7; 5 8; 6 4; 7 2]
A =
1 6
2 6
3 7
4 7
5 8
6 4
7 2
and I want to find the values in the second column which are within a range:
ValuesIwant = A(A >= 4 & A <= 6) <<--- My first issue is i'm not sure how to say look in the second column only
Assuming that's a simple fix, how do I ask it to return the value in the second column ALONG with the corresponding value in the first column?
Let's say ValuesIwant =
6
6
4
How do I get into a NEW array (or matrix, etc):
1 6
2 6
6 4
Thanks for the help!

Accepted Answer

sixwwwwww
sixwwwwww on 15 Nov 2013
Dear MacKanzie,
You can do something like this:
A = [ 1 6; 2 6; 3 7; 4 7; 5 8; 6 4; 7 2];
a = find(ismember(A(:, 2), [4, 6]));
B = A(a, :);
I hope it helps. Good luck!

More Answers (2)

Roger Stafford
Roger Stafford on 15 Nov 2013
A(A(:,2)>=4&A(:,2)<=6,:)

MacKenzie
MacKenzie on 15 Nov 2013
thank you both!

Tags

Community Treasure Hunt

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

Start Hunting!