Documentation

This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English version of the page.

nnz

Number of nonzero matrix elements

Syntax

``N = nnz(X)``

Description

example

````N = nnz(X)` returns the number of nonzero elements in matrix `X`.```

Examples

collapse all

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 ```

Use `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 ```
`nnz(X>10)`
```ans = 15 ```

The density of a matrix is the ratio of nonzeros to the total number of elements, `nnz(X)/numel(X)`.

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.

Input Arguments

collapse all

Input matrix.

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64` | `logical`
Complex Number Support: Yes