2026a

# nonzeros


非零矩阵元素

函数库: TyMath

# 语法

v = nonzeros(A)

# 说明

v = nonzeros(A) 返回 A 中非零元素的满列向量。v 中的元素按列排序。示例

# 示例

非零矩阵元素

使用 nonzeros 返回稀疏矩阵中的非零元素。

创建一个包含几个非零元素的 10×10 稀疏矩阵。稀疏矩阵的典型显示是一个包含非零值及其位置的列表。

using TyMath
A = sparse([1 ,3 ,2 ,1],[1 ,1 ,2 ,3],[1:4...],10,10)
A = 10×10 SparseMatrixCSC{Int64, Int64} with 4 stored entries:
1  ⋅  4  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅
⋅  3  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅
2  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅
⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅
⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅
⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅
⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅
⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅
⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅
⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅

找到非零元素的值。

v = nonzeros(A)
v = 4-element Vector{Int64}:
1
2
3
4
非零元素的位置和计数

使用 nonzeros、nnz 来计数非零矩阵元素。

创建一个非零元素密度为 7% 的 10×10 随机稀疏矩阵。

using TyMath
rng = MT19937ar(5489)
A = sprand(rng,10,10,0.07);

使用 nonzeros 找到非零元素的值。

v = nonzeros(A)
7-element Vector{Float64}:
 0.959492426392903
 0.421761282626275
 0.7922073295595544
 0.8002804688888001
 0.14188633862721534
 0.9157355251890671
 0.6557406991565868

使用 nnz 计算非零元素数。

n = nnz(A)
7

# 输入参数

A - 输入数组
稀疏矩阵

稀疏数组。

数据类型: Int64 | Int32 | Int16 | Int128 | Float16 | Float32 | Float64 | UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | Bool

复数支持: 是

# 输出参数

v - 非零元素
向量

非零元素,以列向量形式返回。v 以满存储方式返回。v 中的元素首先按列下标排序,然后按行下标排序。

length(v) = nnz(A) <= prod(size(A))

# 另请参阅

findnz | nnz | nzmax