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
Post a Comment