Hi i need help trying to extract the name of a value associated to an array

3 views (last 30 days)
This is the array
criterion = [Tsai_Hill, Tsai_Wu, Hoffman, Fischer, Malmeister, Marin, Ashkenazi, Cowin];
[r,t] = max(criterion);
All of the elements in the array have a value and i know how to find the max value and at what position it is, but is there a way to use the index value to get the name of the element that is the max value.
i.e. if Tsai_Hill is the max value, it will give me the value and then instead of giving me the index, it gives me Tsai_hill?
  1 Comment
Stephen23
Stephen23 on 14 May 2020
Edited: Stephen23 on 14 May 2020
Rather than forcing meta-data into variable names, just use a table: it will make your code simpler.

Sign in to comment.

Answers (1)

Mahesh Taparia
Mahesh Taparia on 14 May 2020
Hi
You can create a separate string array with the same elements in the same order and access those with corresponding max index. For example consider the below code:
criterionStr = ["Tsai_Hill", "Tsai_Wu", "Hoffman", "Fischer", "Malmeister", "Marin", "Ashkenazi", "Cowi"];
criterion = [Tsai_Hill, Tsai_Wu, Hoffman, Fischer, Malmeister, Marin, Ashkenazi, Cowin];
[r,t] = max(criterion);
personName=criterionStr(t) %%% It will give the names

Tags

Community Treasure Hunt

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

Start Hunting!