Minimum value in 2d matrix but with restriction

I have a n*m matrix. for example A = [16 2 0 13; 5 11 10 8; 0 7 6 1; 16 14 15 0]. I want to find the min value>0 (i.e.,min value should not be 0, it can be any other value) in the matrix and also i need to find the index of matrix. I tried using [c,i] = min (A(A~=0)) and the answer I obtained is c = 1 (the min value as 1) and i = 13 (the index as 13). then when I used [d,e] = ind2sub(size(A),i) it gave me the answer as 1 and 4 i.e., index as (1,4) which is wrong. actually the index should be (3,4) because the index of 1 in matrix A is (3,4). Please help me in finding the correct index of the min value 1.

추가 답변 (1개)

Sean de Wolski
Sean de Wolski 2012년 3월 29일

1 개 추천

x2 = x;
x2(~x) = inf;
[val idx] = min(x2)

카테고리

도움말 센터File Exchange에서 Matrix Indexing에 대해 자세히 알아보기

질문:

2012년 3월 29일

Community Treasure Hunt

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

Start Hunting!

Translated by