How Can I determine minimum value in a double array?

12 views (last 30 days)
Mira le
Mira le on 28 Nov 2021
Commented: Chunru on 29 Nov 2021
Hello every one;
have an array :
vect =[ 2.6660 2.2852 10.0000 3.2617 10.0000 10.0000 9.8532]
I want to get the mininmum value as well as its position
here in this vector:
min = 2.2852
position = 2
please help me!
I need it to continue my program
Thank you

Answers (2)

Image Analyst
Image Analyst on 28 Nov 2021
Don't use the built-in min function. It's second return argument will only return the location of the first occurrence of the min value. A more robust and general solution is to use min() in combination with find():
vect =[ 2.6660 2.2852 10.0000 2.2852 3.2617 10.0000 10.0000 9.8532];
minValue = min(vect(:))
minValue = 2.2852
% Find all the rows and columns where that value occurs:
indexes = find(vect == minValue)
indexes = 1×2
2 4
See how in this case, where the min occurred in two locations, it found both of them: one at vect(2) and another one at vect(4).
  2 Comments
Image Analyst
Image Analyst on 28 Nov 2021
clear('min'); % Get rid of your min variable you previously created.
vect =[ 2.6660 2.2852 10.0000 2.2852 3.2617 10.0000 10.0000 9.8532];
minValue = min(vect(:))
% Find all the rows and columns where that value occurs:
indexes = find(vect == minValue)

Sign in to comment.


Chunru
Chunru on 28 Nov 2021
vect =[ 2.6660 2.2852 10.0000 3.2617 10.0000 10.0000 9.8532];
[vmin, idx] = min(vect)
vmin = 2.2852
idx = 2
  4 Comments

Sign in to comment.

Products


Release

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by