8.67. rand 一様乱数¶
書式1: rand([乱数の種])
0.0〜1.0の範囲で一様乱数を生成する。
単独で利用するとその結果はmrandを int
オプションなしで実行した結果に等しい。
同じ乱数の種を指定すれば、同じ乱数系列となる。
指定可能な乱数の種の範囲は-2147483648〜2147483647である。
乱数の種を省略すると、
時刻(ミリ(1/1000秒単位)に応じた異なる乱数の種が利用される。
乱数の生成にはメルセンヌ・ツイスター法を利用している
原作者のページ: http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
boostライブラリ: http://www.boost.org/doc/libs/1_54_0/doc/html/boost_random.html
利用例¶
importと入力データ(CSV)の準備
1import nysol.mcmd as nm 2 3with open('dat1.csv','w') as f: 4 f.write( 5'''id 61 72 83 94 10''')
基本例
0.0から1.0の一様乱数を生成する。 乱数の種を指定しているので、何度実行しても同じ乱数系列が生成される。
1nm.mcal(c='rand(1)', a='rsl', i="dat1.csv", o="rsl1.csv").run() 2### rsl1.csv の内容
乱数の種未指定
乱数の種を指定していないので、実行の度に異なる乱数系列が生成される。
1nm.mcal(c='rand()', a='rsl', i="dat1.csv", o="rsl2.csv").run() 2### rsl2.csv の内容