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

- 数値の平均値は 0 (ゼロ) に近似します。
- 数値の大きさに制限はありませんが、ほとんどの数値は 3 から -3 までの値となります。
- これらの数値は、下図のように釣鐘曲線で表されます。釣鐘曲線の最高点は 0 (ゼロ) です。これは、0 (ゼロ) に近い数値が 0 (ゼロ) から遠い数値よりも多いことを示します。
- RDUNIF は、0 と 1 の間に均等に分布する乱数を生成します。0 と 1 の間の数値は、すべて等しい確率で生成されます。
乱数を生成
{RDNORM|RDUNIF}(output)
RDNORM
相加平均が 0 (ゼロ) で標準偏差が 1 の、正規分布を持つ乱数を倍精度浮動小数点数で生成します。
RDUNIF
0 と 1 の間に均等に分布する乱数を倍精度浮動小数点数で生成します。
output
倍精度浮動小数点数
結果を格納するフィールド名、または出力フォーマットです。フォーマットは一重引用符 (') で囲みます。
乱数を生成
RDNORM 関数は、乱数を割り当て、RAND に格納します。これらの値は、LAST NAME および FIRST NAME フィールド内の値により識別された従業員のレコードを任意に 5 つ抽出するために使用されます。
DEFINE FILE EMPLOYEE RAND/D12.2 WITH LAST_NAME = RDNORM(RAND);END TABLE FILE EMPLOYEE PRINT LAST_NAME AND FIRST_NAME BY HIGHEST 5 RAND END
リクエストは次のような出力を生成します。
RAND LAST_NAME FIRST_NAME ---- --------- ---------- .65 CROSS BARBARA .20 BANNING JOHN .19 IRVING JOAN .00 BLACKWOOD ROSEMARIE -.14 GREENSPAN MARY