isdiagDetermine if a matrix is a diagonal matrix
isdiag(A)A is an array of numeric type.A are zeros, it returns logical 1.A is complex, it returns logical 1 if both isdiag(imag(A)) and isdiag(real(A)) are true.A is empty, it returns logical 1.isdiag under different situations% All off-diagonal elements are zeros.
a = [diag(rand(1,3)) zeros(3,2)]
isdiag(a)
% All off-diagonal elements are zeros.
a = zeros(3,4)
isdiag(a)
% Not diagonal
a = diag(rand(1,3),1)
isdiag(a)
% Not diagonal
a = [diag(rand(1,3)) eye(3,2)]
isdiag(a)
a = 1e-1 ×
6.474 0.000 0.000 0.000 0.000
0.000 0.358 0.000 0.000 0.000
0.000 0.000 5.130 0.000 0.000
ans =
1
a =
0.000 0.000 0.000 0.000
0.000 0.000 0.000 0.000
0.000 0.000 0.000 0.000
ans =
1
a = 1e-1 ×
0.000 5.431 0.000 0.000
0.000 0.000 8.791 0.000
0.000 0.000 0.000 5.783
0.000 0.000 0.000 0.000
ans =
0
a =
0.254 0.000 0.000 1.000 0.000
0.000 0.502 0.000 0.000 1.000
0.000 0.000 0.420 0.000 0.000
ans =
0