Finding the maximum in a structure array

5 visualizaciones (últimos 30 días)
Cam B
Cam B el 24 de Feb. de 2022
Comentada: Image Analyst el 25 de Feb. de 2022
How would I go about finding the maximum in a structure array as well as the corresponding data with that maximum value. For example, if the structure array provided data about the name, gender, and quiz grade, how would I found the maximum (highest) quiz grade and display the name and gender corresponding to that quiz grade?

Respuesta aceptada

Image Analyst
Image Analyst el 24 de Feb. de 2022
If strArray is your structure array (one structure per student), and quizGrade is the value for each structure, then to get all the grades for all the students into one vector you can do
allGrades = [strArray.quizGrade];
[maxGrade, indexOfMax] = max(allGrades);
studentWithHighestGrade = strArray(indexOfMax).studentName
  2 comentarios
Cam B
Cam B el 25 de Feb. de 2022
Thank you. Is there a way to place all the data that is less than the maximum into a new structure?
Image Analyst
Image Analyst el 25 de Feb. de 2022
Yes
structsToExtract = allGrades <= someValue; % someValue is less than maxGrade of course, otherwise you'd select everything.
newStruct = strArray(structsToExtract);

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Structures en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by