Effacer les filtres
Effacer les filtres

find maximum value for each year in a 2 columns array

1 vue (au cours des 30 derniers jours)
Mahtab Moalemi
Mahtab Moalemi le 16 Avr 2020
Commenté : Mahtab Moalemi le 16 Avr 2020
I have an array with two columns, column one year (1975-2020) and column two discharge values. I need to find the maximum discharge amount for each year and have them saved in another matrix.
Can you please help me with this?
input:
1975 200
1975 85
.
.
.
2002 110
2002 95
2002 32
...
2020 120
...
desired output
1975 200
...
2002 110
...
2020 120

Réponse acceptée

Tommy
Tommy le 16 Avr 2020
Try this:
[G, y] = findgroups(input(:,1));
output = [y splitapply(@max, input(:,2), G)];
  5 commentaires
Tommy
Tommy le 16 Avr 2020
Modifié(e) : Tommy le 16 Avr 2020
Switch the outputs.
[groups, years] = findgroups(year_Q(:,1));
>> output = [years splitapply(@max, year_Q(:,2), groups)];
Mahtab Moalemi
Mahtab Moalemi le 16 Avr 2020
nevermind! sorted it out
Thanks

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Shifting and Sorting Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by