🎲
Juliaの疑似乱数に種seedを指定する
日本語で検索しても欲しい情報にたどり着かなかったので記事にしておきます. 乱数に種(seed)を指定する方法は2つあります.
パッケージ
まずパッケージを読み込みましょう.
パッケージ
using Random
引数として渡す
MersenneTwister(12345)
のように種を渡すことができます.
入力
MT = MersenneTwister(12345)
rand(MT, 10)
出力
10-element Vector{Float64}:
0.5627138851056968
0.8499394786290626
0.37160535186424815
0.28336464179809084
0.381127966318632
0.36580119057192695
0.8350140149860443
0.26002375370524433
0.9223171788742697
0.040441694559945285
Random.seed!()
を使う
後からRandom.seed!()
で指定することもできます. こちらの方が検索に引っかかりやすいですが, 個人的には上記の方が好みです.
入力
MT = MersenneTwister()
Random.seed!(MT, 12345)
rand(MT, 10)
出力
10-element Vector{Float64}:
0.5627138851056968
0.8499394786290626
0.37160535186424815
0.28336464179809084
0.381127966318632
0.36580119057192695
0.8350140149860443
0.26002375370524433
0.9223171788742697
0.040441694559945285
同じ乱数列が生成されていることが確かめられます.
Discussion