matlab
からJulia
に移行し、1:nの範囲でランダムな整数を生成しようとしています。
_n < 21
_の場合、
Rand(r[1:n])
は機能します。
ただし、_n > 20
_の場合、たとえばRand(r[1:21])
このメッセージが表示されます。
エラー:range.jl:121のgetindexのBoundsError()
Rand(1:n)
のように、Rand
の最初の引数として範囲を指定できます。
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
関数の最初の引数は、通常、値の範囲または Distributions.jl で定義された分布オブジェクトである「サンプリング対象」を提供します。