Select the max & min values in multi index Matrix

6 次查看(过去 30 天)
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 :)

回答(1 个)

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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by