Find Max of Array of structures.

12 Ansichten (letzte 30 Tage)
Arno Claassens
Arno Claassens am 3 Mär. 2020
Kommentiert: Stephen23 am 4 Mär. 2020
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

Antworten (2)

Stephen23
Stephen23 am 3 Mär. 2020
Bearbeitet: Stephen23 am 3 Mär. 2020
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 Kommentare
Arno Claassens
Arno Claassens am 3 Mär. 2020
thanks that helps a lot
Stephen23
Stephen23 am 4 Mär. 2020
@Arno Claassens: please remember to accept the answer that helped you most!

Melden Sie sich an, um zu kommentieren.


Steven Lord
Steven Lord am 3 Mär. 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)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by