MATLAB Answers

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

1 view (last 30 days)
Dylan Watt
Dylan Watt on 11 May 2020
Edited: Stephen Cobeldick on 14 May 2020
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

Stephen Cobeldick
Stephen Cobeldick 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

  0 Comments

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by