# arand

## 機能

任意の経験分布関数に従う乱数を生成する．

## 形式

    x = arand( dpt, seed, f, min, max )

## パラメータ

1. x : 出力時系列 (Series)

2. dpt : 出力データ点数 (Scalar)

3. seed : 乱数の初期値 (奇数) (Scalar)

4. f : 経験分布関数バッファ (Series，Snapshot)

5. min : 経験分布関数定義域下限 (乱数最小値) (Scalar)

6. max : 経験分布関数定義域上限 (乱数最大値) (Scalar)

## 解説

1. 乱数のシードは，M 系列を用いて生成している．

2. 乱数生成のアルゴリズムは，逆関数法を用いている．

3. 経験分布関数 f の値域は，0≤f≤1 の区間に入っていなければならない．

## 使用例

コーシー分布に従う乱数を発生させる．

    % func cauchy(x) {                       #  コーシー分布の
    %   return 1 / (PI * (x^2 + 1));         #  密度関数定義
    % }                                      #
    %
    % series f;
    % x = (0~999) / 1000 - 0.5;              #  分布関数の定義域設定
    % ff = cauchy(x);                        #  密度関数の値設定
    % a = sum(ff,f);                         #  密度関数を積算する
    % f = f / a;                             #  経験分布関数の設定
    % data = arand(1024,1,f,min(x),max(x));  #  乱数生成

Last updated: 2005/11/12