RDNORM および RDUNIF - 乱数を生成

 

RDNORM および RDUNIF 関数は、乱数を生成します。

  • RDNORM は、相加平均が 0 (ゼロ) で標準偏差が 1 の、正規分布を持つ乱数を倍精度浮動小数点数で生成します。

    RDNORM 関数は、数値 (1 から 32768) を多数生成します。

    • これらの数値は、下図のように釣鐘曲線で表されます。釣鐘曲線の最高点は 0 (ゼロ) です。これは、0 (ゼロ) に近い数値が 0 (ゼロ) から遠い数値よりも多いことを示します。

    • 数値の平均値は 0 (ゼロ) に近似します。
    • 数値の大きさに制限はありませんが、ほとんどの数値は 3 から -3 までの値となります。
  • 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