How to pick maximum value in group?

27 visualizzazioni (ultimi 30 giorni)
ASHA PON
ASHA PON il 19 Apr 2022
Commentato: ASHA PON il 22 Apr 2022
I have created groups with repeating value in a matrix and elements in the group are matched with matrix having its probability value. Now I have to find the maximum probability value in each group.
Example:
group n =
prob 1 prob 2 prob 3 maxprob prob 5
Expected output:
group n = repeated value
maxprob
  2 Commenti
Adam Danz
Adam Danz il 19 Apr 2022
Could you provide an actual example?
It sounds like you're looking for the max function.
ASHA PON
ASHA PON il 20 Apr 2022
a=[6 6 5 6 5 6 6]
b=[0.74 0.66 0.58 0.47 0.606 0.705 0.76]
group 1 = 5
0.58 0.606
group 2 = 6
0.74 0.66 0.47 0.705 0.76
Expected output
group 1 = 5
0.606
group 2 = 6
0.76
This is a smaller version of my problem. I need to apply this problem to a large number of group and n*m matrix. Thank you.

Accedi per commentare.

Risposta accettata

Adam Danz
Adam Danz il 20 Apr 2022
data = [0.74 0.66 0.58 0.47 0.606 0.705 0.76];
group = [6 6 5 6 5 6 6];
groupsummary(data(:),group(:),'max')
ans = 2×1
0.6060 0.7600
See groupsummary for details.
  1 Commento
ASHA PON
ASHA PON il 22 Apr 2022
Thank you so much for your reply. This is what exactly i needed.

Accedi per commentare.

Più risposte (1)

Walter Roberson
Walter Roberson il 20 Apr 2022
findgroups(a). Then splitapply(@max)

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Prodotti


Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by