Select the max & min values in multi index Matrix

2 views (last 30 days)
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 :)

Answers (1)

Image Analyst
Image Analyst on 8 Nov 2021
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 Comments
Image Analyst
Image Analyst on 9 Nov 2021
Then could you please click the "Accept this answer" link? Thanks in advance. 🙂

Sign in to comment.

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!