How to pick maximum value in group?

7 views (last 30 days)
ASHA PON
ASHA PON on 19 Apr 2022
Commented: ASHA PON on 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 Comments
ASHA PON
ASHA PON on 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.

Sign in to comment.

Accepted Answer

Adam Danz
Adam Danz on 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 Comment
ASHA PON
ASHA PON on 22 Apr 2022
Thank you so much for your reply. This is what exactly i needed.

Sign in to comment.

More Answers (1)

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

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by