Getting 1 value from another.

Lets say we have an array
20 4
21 5
22 3
23 2
24 1
25 2
26 7
if that table say =x how do I return a value in the first row from the second for example if I have x(:,2)==7 give ans=26 (first column corresponding to 7). Another example would be x(:,2)==2 give ans=25 Thanks

Answers (1)

x = [20 4; ...
21 5; ...
22 3; ...
23 2; ...
24 1; ...
25 2; ...
26 7]
search = 2;
index = (x(:, 2) == search);
result = x(index, 1)

3 Comments

Is it possible to do it by only considering rows. Like 2 is on the 6th row thus output 25?
Sorry I didnt explain my question well, I mean for like max(x(:,2)); which would be 7 thus output a value of 26.
Perhaps you mean:
[value, index] = max(x(:, 2));
x(index, 1)

Sign in to comment.

Asked:

on 24 Oct 2015

Commented:

Jan
on 25 Oct 2015

Community Treasure Hunt

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

Start Hunting!