RAN(3F)

名前
ran - 0 と 1 の間の乱数を戻す

形式
real function ran (i)
integer*4 i

機能説明
ran をくり返し呼び出すと、均一した分布で一連の乱数が生成されます。

注意事項

lcrans (3m) を参照してください。

乱数の範囲は 0.0 を含み、1.0 は含みません。 このアルゴリズムは、乗算合同型を採用した一般 乱数ジェネレータです。 通常、 i の値は呼び出し側プログラムの実行中に一度だけ設定されます。 i の初期値には、大きな奇数の整数を設定するようにします。 ran を呼び出すたびに、次々に別の乱数が得られます。

呼び出し側プログラムを実行するたびに異なる乱数のシーケンス を得たい場合には、実行ごとに異なる初期値を引数 i に設定しなければなりません。

使用法:

real  r, ran
integer*4 i
i = ...
     ...
r = ran(i)

例:

demo% cat ran1.f
* ran1.f <-- Generate random numbers.
	integer*4 i, n
	real r(10)
	i = 760013
	do n = 1, 10
		r(n) = ran ( i )
	end do
	write ( *, "( 5 f11.6 )" ) r
	end
demo% f77 -silent ran1.f
demo% a.out
   0.222058 0.299851 0.390777 0.607055 0.653188
   0.060174 0.149466 0.444353 0.002982 0.976519
demo%

ファイル
libfui.a

関連事項
『数値計算ガイド』中の lcrans、 addrans、 shufrans