l要获得一个具有从[-1,2]采样的均匀随机值的矩阵
x= rand([-1,2],(3,3))
3x3 Array{Int64,2}:
-1 -1 -1
2 -1 -1
-1 -1 -1
但是它只考虑了-1和2,我正在寻找连续值,例如-0.9,0.75,-0.09,1.80。我该怎么办?
对于[a,b]范围内的随机数
rand() * (b-a) + a
并且它也适用于矩阵
rand(3,3) * (2 - (-1)) - 1
3x3 Array{Float64,2}:
1.85611 0.456955 -0.0219579
1.91196 -0.0352324 0.0296134
1.63924 -0.567682 0.45602
注:我在这里假设您正在寻找统一的随机变量。
您也可以使用Distributions软件包:
## Pkg.add("Distributions") # If you don't already have it installed.
using Distributions
rand(Uniform(-1,2), 3,3)
但是,我确实非常喜欢isebarn的解决方案,因为它使您思考潜在概率分布的实际属性。
您需要将FloatRange{Float64}
与所需的step
一起使用:
julia> rand(-1.0:0.01:2.0, 3, 3)
3x3 Array{Float64,2}:
0.79 1.73 0.95
0.73 1.4 -0.46
1.42 1.68 -0.55