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

2 visualizaciones (últimos 30 días)
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 comentario
Stephen23
Stephen23 el 14 de Mayo de 2020
Editada: Stephen23 el 14 de Mayo de 2020
Rather than forcing meta-data into variable names, just use a table: it will make your code simpler.

Iniciar sesión para comentar.

Respuestas (1)

Mahesh Taparia
Mahesh Taparia el 14 de Mayo de 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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by