首页 > 解决方案 > 如何在 Julia 中生成一系列随机浮点数?

问题描述

我注意到rand(x)where xis an integer 给了我一个随机浮点数组。我想知道如何在一定范围内生成一个随机浮点类型变量数组。我尝试使用如下范围:

rand(.4:.6, 5, 5)

我得到:

 0.4  0.4  0.4  0.4  0.4
 0.4  0.4  0.4  0.4  0.4
 0.4  0.4  0.4  0.4  0.4
 0.4  0.4  0.4  0.4  0.4
 0.4  0.4  0.4  0.4  0.4

如何获得范围而不是范围中的最小数字?

标签: randomjulia

解决方案


也许更优雅一点,因为您实际上想从统一分布中采样,您可以使用该Distribution包:

julia> using Distributions
julia> rand(Uniform(0.4,0.6),5,5)
5×5 Array{Float64,2}:
 0.547602  0.513855  0.414453  0.511282  0.550517
 0.575946  0.520085  0.564056  0.478139  0.48139
 0.409698  0.596125  0.477438  0.53572   0.445147
 0.567152  0.585673  0.53824   0.597792  0.594287
 0.549916  0.56659   0.502528  0.550121  0.554276

然后从其他众所周知的或用户定义的分布中采样应用相同的方法(只需将分布作为第一个参数rand()


推荐阅读