How do I extract non zero minimum value and its index from a specific row??

조회 수: 2 (최근 30일)
akash sonnad
akash sonnad 2018년 4월 20일
댓글: Guillaume 2018년 4월 23일
for ex, C=[0,10,8,9,7;10,0,10,5,6;8,10,0,8,9;9,5,8,0,6;7,6,9,6,0]; i need min value from row 1 greater than zero. How do i get it?

답변 (1개)

Guillaume
Guillaume 2018년 4월 20일
편집: Guillaume 2018년 4월 20일

If you want the minimum value greater than 1 from all the rows, then simply replace the values below 1 by inf and take the minimum:

C = [0,10,8,9,7;10,0,10,5,6;8,10,0,8,9;9,5,8,0,6;7,6,9,6,0];
tempC = C;
tempC(C < 1) = inf;
[minofrow, whichcolumn] = min(tempC, [], 2)
  댓글 수: 4
akash sonnad
akash sonnad 2018년 4월 20일
I mean extracting non zero row minimum from any randow row
Guillaume
Guillaume 2018년 4월 23일

Have you tried the code? It gives you the minimum greater (or equal( than one for each row. You can then use basic indexing to get the row that interest you.

Note that if you want the non-zero minimum instead of minimum greater than 1, then use

tempC(C == 0) = inf;

instead.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by