Number of nonzero matrix elements
Create an identity matrix and determine the number of nonzeros it contains.
X = eye(4)
X = 4×4 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
N = nnz(X)
N = 4
nnz in conjunction with a relational operator to determine how many matrix elements meet a condition. Since relational operators produce logical matrices of 1s and 0s, the
nnz function counts the 1s where the condition is true.
Create a matrix and determine how many elements are greater than 10.
X = magic(5)
X = 5×5 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
ans = 15
The density of a matrix is the ratio of nonzeros to the total number of elements,
Create a sparse matrix representing the finite difference Laplacian on an L-shaped domain and calculate its density.
X = delsq(numgrid('L',20)); spy(X)
d = nnz(X)/numel(X)
d = 0.0194
The result indicates that only about 2% of the elements in the matrix are nonzero.
X— Input matrix
Complex Number Support: Yes
This function fully supports tall arrays. For more information, see Tall Arrays.
This function fully supports GPU arrays. For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
This function fully supports distributed arrays. For more information, see Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).