乱数☆☆
rnd関数
RND 疑似乱数 0≦RND<1
<備考> RNDは予約語。
randomize文
RANDOMIZE
疑似乱数の系列の出発点を予測できないものにする。
例 1から6までの整数の乱数を20個発生させる(さいころの代用)。
10 RANDOMIZE 20 FOR t=1 TO 20 30 LET n=1+INT(6*RND) 40 PRINT n 50 NEXT t 60 END
10行のRANDOMIZE文がないと,このプログラムは,毎回,同じ乱数列を発生する。
<Note> RANDOMIZE文に引数は不要。(Microsoft BASICと異なる)
独自拡張
RANDOMIZE文の引数に0〜4294967295の整数を指定すると,その数値を用いて乱数列を初期化する。
例 RANDOMIZE 5489
<補足>
RNDは,Mersenne Twister法により生成される擬似乱数。2進モードと複素数モードでは52ビット,十進モード,十進1000桁モード,有理数モードでは50ビットの精度を持つ。
乱数生成アルゴリズムは,松本眞・西村拓士 両氏による2002年版
mt19937ar.cによる。
<参考>
十進BASIC Q&A
標準正規分布に従う乱数