在julia中生成范围内的随机整数

时间:2014-06-20 12:06:17

标签: julia

我正在从matlab迁移到julia,我正在尝试生成范围为1的随机整数:n

代表n < 21

rand(r[1:n])有效。

然而对于n > 20,例如rand(r[1:21])

我收到此消息。

  

错误:BoundsError()   在getindex的range.jl:121

1 个答案:

答案 0 :(得分:43)

您可以将范围作为rand的第一个参数,如rand(1:n)中所示:

julia> rand(1:10)
7

julia> rand(1:10,10,10)
10x10 Array{Int64,2}:
 10   2  5  8   5   5  3   7   1   3
  5   1  4  2   4   4  1   6   6   9
  8   1  3  9   4   8  7   8   7  10
  3   8  1  5   7   9  7   8  10   7
  5   8  5  6   6   2  2   7   4   3
 10   4  8  8  10   5  1  10   5   1
  6   1  8  1   6   5  7  10   6  10
  5  10  2  5   4   5  4   1   3   9
  5   4  6  4   4   1  7   8   1   5
 10   2  6  4   3  10  7   3   8   7

一般rand函数的第一个参数通常会给&#34;提供一个&#34;来样,它是Distributions.jl中定义的一系列值或分布对象。< / p>