Find Max of Array of structures.
Afficher commentaires plus anciens
I have a 1x27 structure with five fields. I Need to calculate the country with the most gold medals. so I need to find the max of all the elements in the gold field. How do I do this. Thanks. My structure looks like: Countries, gold , silver, bronze
"AUS" 2 1 0
"AUT" 4 6 6
"BLR" 1 1 1
"CAN" 14 7 5
Réponses (2)
Where S is your structure:
[cnt,idx] = max([S.gold]);
S(idx).Countries
A comma-separated list is used to concatenate all of the gold values into one vector:
2 commentaires
Arno Claassens
le 3 Mar 2020
Stephen23
le 4 Mar 2020
@Arno Claassens: please remember to accept the answer that helped you most!
Steven Lord
le 3 Mar 2020
Rather than storing your data in a struct array I'd consider storing it in a table array. The struct2table function may be able to help you convert your data into a table. If you made a table named medals with a variable named Gold then something like this should work:
maxGoldMedals = max(medals.Gold)
Catégories
En savoir plus sur Structures dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!