我阅读了sprandn
的{{3}}简介,并尝试创建一个遵循[-1,1]均匀分布的稀疏矩阵。
using SparseArrays
using Distributions
sprandn(100,100,0.3,Uniform(-1,1))
但是失败了。对于尚未粘贴错误日志,我深表歉意。这是错误在this中所说的图像。
那么如何生成[-1,1]均匀分布的稀疏矩阵?
答案 0 :(得分:1)
sprandn
用于从标准法线采样。但是,您可以使用一种sprand
的方法:
sprand(m::Integer, n::Integer, density::AbstractFloat, rfn::Function)
最后一个参数是内部用于对非零值进行采样的函数,您可以像这样使用它:
D = Uniform(-1.0, 1.0)
rf(n) = rand(D, n)
sprand(100, 100, 0.3, rf)
如果要指定使用的RNG,则需要将其作为另一个自变量传递到rf
中。