Previous: radian ラジアン Up: mcal Next: randi 整数一様乱数 MCMD2
MCMD2 : mcal : rand 一様乱数

4.77 rand 一様乱数

書式: ([乱数の種])

0.0〜1.0の範囲で一様乱数を生成する。 単独で利用するとその結果はmrandコマンドを-intオプションなしで実行した結果に等しい。

同じ乱数の種を指定すれば、同じ乱数系列となる。 指定可能な乱数の種の範囲は-2147483648〜2147483647である。 乱数の種を省略すると、 時刻(ミリ(1/1000秒単位)に応じた異なる乱数の種が利用される。

乱数の生成にはメルセンヌ・ツイスター法を利用している (原作者のページ , boostライブラリ)。

利用例

例1: 基本例

0.0から1.0の一様乱数を生成する。 乱数の種を指定しているので、何度実行しても同じ乱数系列が生成される。

$ more dat1.csv
id
1
2
3
4
$ mcal c='rand(1)' a=rsl i=dat1.csv o=rsl1.csv
#END# kgcal a=rsl c=rand(1) i=dat1.csv o=rsl1.csv
$ more rsl1.csv
id,rsl
1,0.4170219984
2,0.9971848081
3,0.7203244893
4,0.9325573612

例2: 乱数の種未指定

乱数の種を指定していないので、実行の度に異なる乱数系列が生成される。

$ mcal c='rand()' a=rsl i=dat1.csv o=rsl2.csv
#END# kgcal a=rsl c=rand() i=dat1.csv o=rsl2.csv
$ more rsl2.csv
id,rsl
1,0.4091324708
2,0.725003521
3,0.3267871595
4,0.7816882059
Previous: radian ラジアン Up: mcal Next: randi 整数一様乱数 MCMD2