matlab - Tool to work with indices in matrix -


i have square matrix elements, can take values {-1, 0, 1}. know there 1 element equals -1 in every row (except first row, non-negative elements).

let n size of matrix. so, want assign every index i [2, n] position of -1 in i-th row matrix.

how can without using for or while loop?

t = matrix==-1; [~, pos] = max(t,[],2); %// position of first -1 within each row. pos = pos .* any(t,2); %// give 0 rows don't contain -1 value 

pos(k) gives position of (first) -1 value within row k, or 0 if there isn't -1 value in row.

example:

matrix =       1     0     0     1      0     1    -1     1      0     1     1    -1      0     0     1    -1 

gives

pos =       0      3      4      4 

Comments

Popular posts from this blog

Android layout hidden on keyboard show -

google app engine - 403 Forbidden POST - Flask WTForms -

c - Why would PK11_GenerateRandom() return an error -8023? -