exponenta event banner

nnz

Количество ненулевых элементов матрицы

Синтаксис

Описание

пример

N = nnz(X) возвращает число ненулевых элементов в матрице X.

Примеры

свернуть все

Создайте единичную матрицу и определите количество содержащихся в ней ненулевых значений.

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 совместно с реляционным оператором для определения количества элементов матрицы, удовлетворяющих условию. Поскольку реляционные операторы производят логические матрицы 1 с и 0 с, nnz функция подсчитывает 1s, где условие истинно.

Создайте матрицу и определите, сколько элементов больше 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

Плотность матрицы - отношение ненулевых к общему числу элементов, nnz(X)/numel(X).

Создайте разреженную матрицу, представляющую конечную разность лапласиана в L-образной области и рассчитайте ее плотность.

X = delsq(numgrid('L',20));
spy(X)

Figure contains an axes. The axes contains an object of type line.

d = nnz(X)/numel(X)
d = 0.0194

Результат показывает, что только около 2% элементов в матрице ненулевые.

Входные аргументы

свернуть все

Входная матрица.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration | calendarDuration
Поддержка комплексного номера: Да

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.

Создание кода графического процессора
Создание кода CUDA ® для графических процессоров NVIDIA ® с помощью Coder™ графических процессоров

.

См. также

| | | |

Представлен до R2006a