Getting minimum value from an array

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.

 採用された回答

Thomas
Thomas 2012 年 4 月 3 日

0 投票

try
c=min(A(A~=0))
idx=find(A==c)

その他の回答 (1 件)

Sean de Wolski
Sean de Wolski 2012 年 4 月 3 日

0 投票

[val index] = min(A(~~A))
If you wanted the index involving zeros, find it after
index = find(A==val,1,'first')

2 件のコメント

Meh
Meh 2012 年 4 月 3 日
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 2012 年 4 月 3 日
look at the second part. Where we calculate the index after using find.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeMatrix Indexing についてさらに検索

タグ

質問済み:

Meh
2012 年 4 月 3 日

Community Treasure Hunt

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

Start Hunting!

Translated by