nonzeros

Nonzero matrix elements

Description

example

v = nonzeros(A) returns a full column vector of the nonzero elements in A. The elements in v are ordered by columns.

Examples

collapse all

Use nonzeros to return the nonzero elements in a sparse matrix.

Create a 10-by-10 sparse matrix that contains a few nonzero elements. The typical display of sparse matrices shows a list of the nonzero values and their locations.

A = sparse([1 3 2 1],[1 1 2 3],1:4,10,10)
A =
(1,1)        1
(3,1)        2
(2,2)        3
(1,3)        4

Find the values of the nonzero elements.

v = nonzeros(A)
v = 4×1

1
2
3
4

Use nonzeros, nnz, and find to locate and count nonzero matrix elements.

Create a 10-by-10 random sparse matrix with 7% density of nonzeros.

A = sprand(10,10,0.07);

Use nonzeros to find the values of the nonzero elements.

v = nonzeros(A)
v = 7×1

0.9595
0.4218
0.7922
0.8003
0.1419
0.9157
0.6557

Use nnz to count the number of nonzeros.

n = nnz(A)
n = 7

Use find to get the indices and values of the nonzeros.

[i,j,v] = find(A)
i = 7×1

10
3
9
1
2
7
10

j = 7×1

2
5
6
10
10
10
10

v = 7×1

0.9595
0.4218
0.7922
0.8003
0.1419
0.9157
0.6557

Input Arguments

collapse all

Input array, specified as a vector, matrix, or multidimensional array. A can be full or sparse.

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

Output Arguments

collapse all

Nonzero elements, returned as a column vector. v is returned in full-storage regardless of whether A is full or sparse. The elements in v are ordered first by column subscript and then by row subscript.

nonzeros gives the v, but not the indices i and j, from [i,j,v] = find(A). Generally,

length(v) = nnz(A) <= nzmax(A) <= prod(size(A))