MATLAB: Non-zero column value

non-zero off-diagonal elements

hi if have a matrix like this:
A=[1,0,0,0;0,1,1,1;0,0,1,0;0,0,1,1]
In this matrix i want to check that apart from diagonal values(1,1 & 2,2 etc.), if there are some other non-zero elements in the row then display that row's index. In A, it should display 2 and 4.
Thanks in advance.

Best Answer

Try eye(), any(), and find():
A=[1,0,0,0;0,1,1,1;0,0,1,0;0,0,1,1]
diagonalElements = logical(eye(length(A)))
% Make copy of A so we don't change
% the original A (which could be bad).
Acopy = A;
% Set diagonal elements = 0.
Acopy(diagonalElements) = 0
rowsWith1s = find(any(Acopy, 2))