PRDNOR および PRDUNI - 再生可能な乱数を生成

 

PRDNOR および PRDUNI 関数は、再生可能な乱数を倍精度浮動小数点数で生成します。

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

    PRDNOR 関数が数値を多数生成した場合、これらの数値は次のようになります。

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

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