Getting minimum value from an array

2 Ansichten (letzte 30 Tage)
Meh
Meh am 3 Apr. 2012
I want to get min of A= [0, 20, 15]. Actualy I want to find the minimum excluding the zero. So in the example my answer would be 15 not zero. Finaly I want to get the index of the minimum value. What I have done so far looks like:
for i=1:size(A)
if A(i)~=0
[index,c]=find(min(A));
end
end
but it is not giving me the results I want.

Akzeptierte Antwort

Thomas
Thomas am 3 Apr. 2012
try
c=min(A(A~=0))
idx=find(A==c)

Weitere Antworten (1)

Sean de Wolski
Sean de Wolski am 3 Apr. 2012
[val index] = min(A(~~A))
If you wanted the index involving zeros, find it after
index = find(A==val,1,'first')
  2 Kommentare
Meh
Meh am 3 Apr. 2012
thanx Sean it gives the correct Value but the index is not quit correct. It gives me 2, i think it should give 3.
Sean de Wolski
Sean de Wolski am 3 Apr. 2012
look at the second part. Where we calculate the index after using find.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by