Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

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(即条件为 true)的元素进行计数。

创建一个矩阵并确定有多少元素大于 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 with xlabel nz = 1143 contains a line object which displays its values using only markers.

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

结果表明,矩阵中只有约 2% 的元素是非零元素。

输入参数

全部折叠

输入矩阵。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration | calendarDuration
复数支持:

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。

版本历史记录

在 R2006a 之前推出

另请参阅

| | | |