前のページ|次のページ

RANGAM関数

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

カテゴリ: 乱数
ヒント: 実行時にシード値を変更するには、RANGAM関数のかわりにCALL RANGAMルーチンを使用する必要があります。

構文

RANGAM(seed, a)

必須引数

シード

整数を指定する数値定数、変数または式です。seed ≤ 0の場合、シードストリームの初期化に時刻が使用されます。

範囲 seed < 231−1
参照項目 シード値でシード値の詳細を参照してください。

a

形状パラメータを指定する数値定数、変数または式です。

範囲 a > 0

詳細

RANGAM関数は、パラメータaを使用したガンマ分布から生成される変量を返します。a>1の場合、Cheng(1977)による受容-棄却法が使用されます。(リファレンス を参照)。a≤1の場合、Fishmanによる受容-棄却法(1978, Algorithm G2)が使用されます(リファレンスを参照)。
形状パラメータALPHAと尺度BETAを使用してガンマ変量Xを次のように生成できます。
x=beta*rangam(seed, alpha);
2*ALPHAが整数の場合、自由度2*ALPHAを使用したカイ2乗変量Xを次のように生成できます。
x=2*rangam(seed, alpha);
Nが正の整数の場合、Erlang変量Xを次のように生成できます。
x=beta*rangam(seed, N);
平均値がBETAになる、N個の独立指数変量の合計の分布になります。
最後に、パラメータALPHAとBETAを使用してベータ変量Xを次のように生成できます。
y1=rangam(seed, alpha);
y2=rangam(seed, beta);
x=y1/(y1+y2);
データのシードとストリームおよび乱数関数の使用例については、乱数関数で単一のシードから複数の変数を生成するを参照してください。

比較

RANGAM関数にかわるCALL RANGAMルーチンは、シードおよび乱数ストリームを高度に制御します。

関連項目:

関数:
CALLルーチン:
前のページ|次のページ|ページの先頭へ