2026a
# sprand
创建一个随机长度 m 的稀疏向量或 m×n 稀疏矩阵
函数库: TyMath
# 语法
S = sprand(m,f)
S = sprand(m,n,f)
S = sprand(type,m,n,f)
S = sprand(rng,_)
S = sprand(rng,R)
# 说明
S = sprand(m,f) 创建长度为 m 的稀疏向量。示例
S = sprand(m,n,f) 创建维度大小为 m×n 的稀疏矩阵。示例
S = sprand(type,m,n,f) 创建指定数据类型的 m×n 的稀疏矩阵。示例
S = sprand(rng,_) 从随机数流 rng 而不是默认全局流生成数字。
S = sprand(rng,R) 创建一个稀疏矩阵,该矩阵具有与矩阵 R 相同的稀疏模式,但具有均匀分布的随机项。示例
# 示例
创建具有相同稀疏模式的稀疏矩阵
创建巴克敏斯特·富勒多面穹顶的连接图形的 60×60 稀疏邻接矩阵。绘制矩阵 S 的稀疏模式。
using TyMath
using TyPlot
S = bucky();
spy(S);
创建另一个稀疏矩阵 R,该矩阵具有与矩阵 S 相同的稀疏模式,但具有均匀分布的随机项。绘制 R 的稀疏模式。
rng = MT19937ar(5489)
R = sprand(rng, S);
spy(R);

创建长度为 m 的稀疏向量
using TyMath
S = sprand(5,0.3)
5-element SparseVector{Float64, Int64} with 1 stored entry:
[1] = 0.49563
创建维度大小为 m×n 的稀疏矩阵
using TyMath
S = sprand(5,4,0.5)
5×4 SparseMatrixCSC{Float64, Int64} with 8 stored entries:
⋅ ⋅ ⋅ ⋅
0.420714 0.366227 0.0708164 ⋅
⋅ 0.538278 0.262181 ⋅
⋅ ⋅ ⋅ 0.00736784
0.49543 ⋅ 0.387745 ⋅
创建指定数据类型的 m×n 的稀疏矩阵
using TyMath
z = sprand(Float64,4,3,0.75)
4×3 SparseMatrixCSC{Float64, Int64} with 6 stored entries:
0.0400319 ⋅ 0.730627
⋅ ⋅ 0.722801
⋅ 0.699256 0.275217
⋅ ⋅ 0.64531
# 输入参数
R-输入矩阵满矩阵 | 稀疏矩阵
输入矩阵,指定为满矩阵或稀疏矩阵。
数据类型: Float16 | Float32 | Float64 | Integer
复数支持: 是
n, m - 维度大小非负整数标量
维度大小,指定为非负整数标量。
type - 数据类型
数据类型: Int64 | Int32 | Int16 | Int128 | Float16 | Float32 | Float64 | Bool
f - 概率分布取值为 [0,1] 之间的数
概率分布,取值为 [0,1] 之间的数。