how to get the min in an array and return its position?

13 views (last 30 days)
I want to check the min in a matrix and return its position, Ex. x=[1 3 1 1], the code will check the min which is '1' and return its position (number of columns), Y=[1 3 4]
Any hint?

Answers (2)

Stephen23
Stephen23 on 23 Sep 2016
Edited: Stephen23 on 23 Sep 2016
>> x = [1,3,1,1];
>> minval = min(x)
minval = 1
>> idx = find(x==minval)
idx =
1 3 4
This kind of basic MATLAB usage is covered very well in the introductory tutorials:
  2 Comments
JacobM
JacobM on 23 Sep 2016
Great. what about if I just to return one minimum?
So in my example, I want the result to be Y=[1] which is the column position of first minimum,

Sign in to comment.


Star Strider
Star Strider on 23 Sep 2016
For one (or the first) minimum, use the min function with two outputs:
x=[1 3 1 1];
[xmin,idx] = min(x)
xmin =
1
idx =
1
The first output is the value of the minimum, the second is the first occurrence of the minimum in the vector.

Categories

Find more on Elementary Math 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!