Finding a specific index while labeling it with another

2 views (last 30 days)
If I have to find which person has the youngest age by labeling which person they are, how would I do that?
The array looks like this: AgeArray=[person;age] ---> AgeArray=[1, 2, 3, 4, 5; 12, 46, 84, 8, 23]
The left side is person 1, person 2, person 3, and so on, and the right side is the age, person 1 is 12 years old, person 2 is 46 years old, etc.
If I used the min(age) that will yield 8, which is person 4, but I am looking for the function to have the answer come back as person 4.
Thank you and sorry if it is confusing.
  1 Comment
Stephen23
Stephen23 on 19 Feb 2021
Edited: Stephen23 on 19 Feb 2021
M = [1, 2, 3, 4, 5; 12, 46, 84, 8, 23]
M = 2×5
1 2 3 4 5 12 46 84 8 23
[~,X] = min(M(2,:));
P = M(1,X)
P = 4

Sign in to comment.

Accepted Answer

KALYAN ACHARJYA
KALYAN ACHARJYA on 19 Feb 2021
Edited: KALYAN ACHARJYA on 19 Feb 2021
AgeArray=[1, 2, 3, 4, 5; 12, 46, 84, 8, 23]
per=AgeArray(1,:);
min_per=per(min(AgeArray(2,:))==AgeArray(2,:))
Result:
min_per =
4
Considering AgeArray as the following format
AgeArray =
1 2 3 4 5
12 46 84 8 23
If the Given data in this format
AgeArray =
1 12
2 46
3 84
4 8
5 23
Then
per=AgeArray(:,1);
min_per=per(min(AgeArray(:,2))==AgeArray(:,2))
Result:
min_per =
4

More Answers (0)

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!