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 Ansichten (letzte 30 Tage)
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!

Akzeptierte Antwort

sixwwwwww
sixwwwwww am 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!

Weitere Antworten (2)

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

MacKenzie
MacKenzie am 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!

Translated by