How Can I determine minimum value in a double array?
Ältere Kommentare anzeigen
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
Antworten (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 Kommentare
Mira le
am 28 Nov. 2021
Image Analyst
am 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 Kommentare
Mira le
am 28 Nov. 2021
Chunru
am 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
am 28 Nov. 2021
Chunru
am 29 Nov. 2021
Then show your code so that we can help.
Kategorien
Mehr zu Logical finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!