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 с и 0s, 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 object. The axes object 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® графические процессоры с помощью GPU Coder™.

Смотрите также

| | | |

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