Select the max & min values in multi index Matrix

I have a matrix with repetitive values in x and y
for examle:
161 436
161 437
161 523
161 523
162 281
162 457
162 678
I want to find max and min values for every x, for example in this case, I want to end up with two different matrix where I have minimum and maximum values. For examle
min matrix:
161 436
162 281
and max matrix will be
161 523
162 678
each x value is an index and I want to find the min and max value corresponding to that index seperately
Thank you :)

Réponses (1)

You can use splitapply:
m=[161 436
161 437
161 523
161 523
162 281
162 457
162 678];
groupID = findgroups(m(:, 1))
groupID = 7×1
1 1 1 1 2 2 2
minMatrix = splitapply(@min, m, groupID)
minMatrix = 2×2
161 436 162 281
maxMatrix = splitapply(@max, m, groupID)
maxMatrix = 2×2
161 523 162 678

2 commentaires

it worked like a charm thank you so much :)
Then could you please click the "Accept this answer" link? Thanks in advance. 🙂

Connectez-vous pour commenter.

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by