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 функция подсчитывает 1с, где условие верно.

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

.

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

.

См. также

| | | |

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