max and min values in an array

56 次查看(过去 30 天)
Deep P
Deep P 2016-12-12
评论: dpb 2016-12-12
Hello,
I am trying to find positive and negative maximum and minimum in an array.
Lets say I have a Matrix A=[1 -2 5;3 7 -9,4 6 8] if I use max and min functions on A,I get max(A)=[4 7 8] and min(A)=[1 -2 -9]. Since I wanted one singe number I performed max and min operations again.
max(max(A))= 8 and min(min(A))=-9
My requirement here is to get both positive and negative maximum and positive and negative minimum. Is there any way to find that?
Thank you.
  1 个评论
the cyclist
the cyclist 2016-12-12
Your language is not very clear to me. By "maximum" and "minimum", are you talking about the magnitude? So, is the following correct?
  • Maximum (magnitude) positive = 8
  • Minimum (magnitude) positive = 1
  • Maximum (magnitude) negative = -9
  • Minimum (magnitude) positive = -2

请先登录,再进行评论。

回答(2 个)

the cyclist
the cyclist 2016-12-12
编辑:the cyclist 2016-12-12
If what I said in my comment is correct, then do the following:
maxMagPos = max(A(A>0))
minMagPos = min(A(A>0))
maxMagNeg = min(A(A<0))
minMagNeg = max(A(A<0))
  3 个评论
the cyclist
the cyclist 2016-12-12
The best form of thanks is upvoting and/or accepting answers. This rewards the contributor, and points future users to good answers.
I suggest you open a new post for your second question, which is quite different in nature, not really related to this one.
dpb
dpb 2016-12-12
@OP If this is something you do more than once, then I'd suggest writing a little utility function that returns the values in a single call; either the four variables or an array depending on how your application most frequently would use the results.

请先登录,再进行评论。


dpb
dpb 2016-12-12
It's the colon operator that's your friend here...
mnx=min(x(:)); % doc colon for details of the "magic" here...

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by