前のページ|次のページ

CALL RANUNIルーチン

一様分布からランダム変量を返します。

カテゴリ: 乱数

構文

CALL RANUNI(seed, x);

必須引数

シード

シード値です。CALL RANUNIを実行するたびに、seedの新しい値が返されます。

範囲 seed < 231 - 1
ヒント seed ≤ 0の場合、シードストリームの初期化に時刻が使用されます。
参照項目 シード値 および乱数関数と乱数CALLルーチンのシード値の比較

x

数値変数です。CALL RANUNIを実行するたびに、ランダム変量xの新しい値が返されます。

詳細

CALL RANUNIルーチンはseedを更新し、素数係数乗法型ジェネレータで係数231–1と乗数397204094を使用して、間隔(0,1)の一様分布から生成される変量xを返します(Fishman and Moore 1982)。リファレンスを参照してください。
シードを調整することで、同一または後続のDATAステップの一部またはすべてのオブザベーションで変量のストリームへの一致または不一致を強制できます。
乱数CALLルーチンの効果的な使用方法と例については、ストリームを開始、停止および再開するを参照してください。

比較

CALL RANUNIルーチンは、シードおよび乱数ストリームをRANUNI関数よりも高度に制御できます。

例: CALL RANUNIルーチンを使用する

この例では、CALL RANUNIルーチンを使用します。
data u1(keep=x);
   seed=104;
   do i=1 to 5;
      call ranuni(seed, x);
      output;
   end;
   call symputx('seed', seed);
run;
data u2(keep=x);
   seed=&seed;
   do i=1 to 5;
      call ranuni(seed, x);
      output;
   end;
run;
data all;
   set u1 u2;
   z=ranuni(104);
run;
proc print label;
   label x='Separate Streams' z='Single Stream';
run;
CALL RANUNIルーチンからの出力
CALL RANUNIルーチンからの出力

関連項目:

前のページ|次のページ|ページの先頭へ