PRDNOR および PRDUNI - 再生可能な乱数を生成
PRDNOR および PRDUNI 関数は、再生可能な乱数を倍精度浮動小数点数で生成します。
- PRDNOR は、相加平均が 0 (ゼロ) で標準偏差が 1 の、正規分布を持つ再生可能乱数を倍精度浮動小数点数で生成します。
PRDNOR 関数が数値を多数生成した場合、これらの数値は次のようになります。
- これらの数値は、下図のように釣鐘曲線で表されます。釣鐘曲線の最高点は 0 (ゼロ) です。これは、0 (ゼロ) に近い数値が 0 (ゼロ) から遠い数値よりも多いことを示します。

- 数値の平均値は 0 (ゼロ) に近似します。
- 数値の大きさに制限はありませんが、ほとんどの数値は 3 から -3 までの値となります。
- これらの数値は、下図のように釣鐘曲線で表されます。釣鐘曲線の最高点は 0 (ゼロ) です。これは、0 (ゼロ) に近い数値が 0 (ゼロ) から遠い数値よりも多いことを示します。
- PRDUNI は、0 (ゼロ) と 1 の間に均等に分布する再生可能な乱数を生成します。0 (ゼロ) と 1 の間の数値は、すべて等しい確率で生成されます。
再生可能な乱数を生成
{PRDNOR|PRDUNI}(seed, output)
PRDNOR
相加平均が 0 (ゼロ) で標準偏差が 1 の、正規分布を持つ再生可能乱数を倍精度浮動小数点数で生成します。
PRDUNI
0 (ゼロ) と 1 の間に均等に分布する再生可能な乱数を倍精度浮動小数点数で生成します。
seed
数値
9 バイト以内のシード、またはシードを含むフィールドです。シードは整数に切り捨てられます。
output
倍精度浮動小数点数
結果を格納するフィールド名、または出力フォーマットです。フォーマットは一重引用符 (') で囲みます。
再生可能な乱数を生成
PRDNOR 関数は、乱数を割り当て、RAND に格納します。これらの値は、LAST_NAME および FIRST_NAME フィールド内の値により識別された従業員のレコードを任意に 5 つ抽出するために使用されます。シードは 40 です。異なる数値セットを生成するには、シードを変更します。
DEFINE FILE EMPLOYEE RAND/D12.2 WITH LAST_NAME = PRDNOR(40, RAND);END
TABLE FILE EMPLOYEE PRINT LAST_NAME AND FIRST_NAME BY HIGHEST 5 RAND END
出力結果は次のとおりです。
RAND LAST_NAME FIRST_NAME ---- --------- ---------- 1.38 STEVENS ALFRED 1.12 MCCOY JOHN .55 SMITH RICHARD .21 JONES DIANE .01 IRVING JOAN