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))