Matlab Minimum

Hello,
If I have an array for example: A=[10 11 12 1 8 9 1 3 5] and I use the '[C,I]=min' function to find the minimum value of the array. But if the array has two or more same minimum values, the MIN function always return the first value!How can I get the last minimum value of an array?In my example, I want the 7th value 1 of array A and not the 4th.However, I want this function to work for random arrays and not only for array A.
Thank you..!!

 Accepted Answer

Matt Tearle
Matt Tearle on 3 Mar 2011
find(A==min(A))
will get them all. Then you can choose whichever you like. To get just the last one
find(A==min(A),1,'last')

3 Comments

athpapa -
athpapa - on 3 Mar 2011
when I use this function, returns the indexes of both minimums (4, 7). How can I return only the last (7)? But I want this function for random arrays and not only for my example!
athpapa -
athpapa - on 3 Mar 2011
I haven't seen your complete answer!Thank you..!!!:)
Andreas Goser
Andreas Goser on 3 Mar 2011
Excellent! Didn't new that one.

Sign in to comment.

More Answers (2)

Andreas Goser
Andreas Goser on 3 Mar 2011

0 votes

My rough idea is along the lines of sorting the vector first (with saving the indices) and then identify the last minimum.
David Young
David Young on 3 Mar 2011
If you only want the last one, you could use
[v, ind] = min(A(end:-1:1));
ind = 1 + length(A) - ind;

Categories

Community Treasure Hunt

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

Start Hunting!