次の方法で共有


piecewise_linear_distribution::piecewise_linear_distribution

分布を作成します。

piecewise_linear_distribution();
template<class InIt1, class InIt2>
    piecewise_linear_distribution(InIt1 first1, InIt1 last1,
        InIt2 first2);
template<class Fn>
    piecewise_linear_distribution(size_t count,
        double low, double high, Fn func);
explicit piecewise_linear_distribution(const param_type& par0);

パラメーター

  • first1
    分布範囲内の先頭の要素の位置を示す入力反復子。

  • last1
    分布範囲内の最後の要素の位置を示す入力反復子。

  • first2
    新しい分布範囲内の先頭の要素の位置を示す入力反復子。

  • count
    分布範囲内にある要素の数。

  • low
    分布範囲内の最小値。

  • high
    分布範囲内の最大値。

  • func
    分布の確率関数を表すオブジェクト。

  • par0
    分布の作成に使用されるパラメーター パッケージ。

解説

前提条件: stored_p に格納されるすべての要素が負数ではなく、少なくとも 1 つの要素がゼロ以外であること。

1 つ目のコンストラクターは、格納されている値 stored_x に値 RealType(0.0) と RealType(1.0) を保持し、格納されている値 stored_p に値 1.0 と 1.0 を保持するオブジェクトを作成します。

2 つ目のコンストラクターは、格納されている値 stored_x がシーケンス [first1, last1) で初期化されたオブジェクトを作成します。stored_p は、first2 から始まる stored_x.size() 要素によって初期化されます。

3 つ目のコンストラクターは、格納されている値 stored_p が count 個の要素で初期化されたオブジェクトを作成します。このコンストラクターは、範囲 high - low を count 個のサブ範囲に分割した後、サブ範囲 I の中央にある x の値 func(x) を要素 I に格納します。また、stored_x の中に、これらのサブ範囲の count + 1 個のエンドポイントを格納します。

4 つ目のコンストラクターは、格納されているパラメーターが par0 から初期化されるオブジェクトを作成します。

どの場合でも、シーケンスの要素が 2 つよりも少ない場合、stored_x には RealType(0.0) と RealType(1.0) という 2 つの要素が格納され、stored_p には値が 1 である 2 つの要素が格納されます。さらに、stored_p は、すべての確率区間の合計が 1 になるように正規化されます。

必要条件

ヘッダー : <random>

名前空間: std

参照

関連項目

<random>

piecewise_linear_distribution クラス