Could anyone suggest me is there any way of choosing maximum and minimum values together

2 views (last 30 days)
A = [23 42 37 18 52];
With respect to command M = max(A) gives 52
min(A) gives 18
Is there any way so that i can get both 52 and 18 together(maximum and minimum together)
  1 Comment
dpb on 17 Oct 2019
mnmx=[min(A) max(A)];
or write your own "syntactic sugar" routine minmax()--
function mnmx=minmax(x)
mnmx=[min(x(:)) max(x(:))];
The latter should probably also have the ability to return the locations to mimic builtin interfaces.....and maybe treat arrays the same as them also in working on column-basis by default with the dimension as the optional many choices to make.

Sign in to comment.

Answers (3)

Walter Roberson
Walter Roberson on 17 Oct 2019

Jos (10584)
Jos (10584) on 17 Oct 2019
Here is a nice trick that also allows you to combine functions in a single call, which also can return the other outputs of these functions:
minmaxFun = @(x) cellfun(@(F) F(x), {@min, @max}) ;
[V, I] = minmaxFun([2 1 3 5 2])
% V = [1 5], I = [2 4]
You can take this a step further:
mapF = @(val, fcns) cellfun(@(f) f(val{:}), fcns) ;
data = randi(10, [1 10])
[minmax, minmaxIDX] = mapF({data}, {@min @max})
S = mapF({data}, {@mean @median @std})
You can learn much more about this at Loren's Blog:

Daniel M
Daniel M on 17 Oct 2019
Edited: Daniel M on 17 Oct 2019
A = [23 42 37 18 52];
minmaxVals = prctile(A,[0 100])
ans =
18 52

Sign in to comment.


Find more on Creating and Concatenating Matrices 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!

Translated by