我想获取一个矩阵,其值从[-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。我该怎么做?
注意:我在这里假设你正在寻找均匀分布的随机变量。
你也可以使用Distributions包:
## Pkg.add("Distributions") # If you don't already have it installed.
using Distributions
rand(Uniform(-1,2), 3,3)
我相当喜欢 isebarn 的解决方案,因为它让你思考基础概率分布的实际属性。
生成在[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
FloatRange{Float64}
: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