我阅读了此简介sprandn
,并试图创建一个稀疏的矩阵服从[-1,1]均匀分布。
using SparseArrays
using Distributions
sprandn(100,100,0.3,Uniform(-1,1))
但失败了。对于没有粘贴错误日志,我深表歉意。这是错误在MethodError中所说的图像。
那么如何生成[-1,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
中,作为第一个位置的另一个参数。