nonzeros

Nonzero matrix elements

Syntax

v = nonzeros(A)

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

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

See Also

| | | | |

Introduced before R2006a