How Can I determine minimum value in a double array?
Afficher commentaires plus anciens
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
Réponses (2)
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(:))
% Find all the rows and columns where that value occurs:
indexes = find(vect == minValue)
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 commentaires
Mira le
le 28 Nov 2021
Image Analyst
le 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)
vect =[ 2.6660 2.2852 10.0000 3.2617 10.0000 10.0000 9.8532];
[vmin, idx] = min(vect)
4 commentaires
Mira le
le 28 Nov 2021
Chunru
le 28 Nov 2021
"min" is a built in function; but you use it as a variable (strongly not recommended). Remove these lines and "clear all" to run your program.
min = 2.2852
position = 2
Mira le
le 28 Nov 2021
Chunru
le 29 Nov 2021
Then show your code so that we can help.
Catégories
En savoir plus sur Logical dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!