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] 之间的数。

# 另请参阅

spdiagm | spzeros