次の方法で共有


piecewise_linear_distribution クラス

区分線形分布を生成します。

template<class RealType = double>
    class piecewise_linear_distribution {
public:
    typedef RealType result_type;
    struct param_type;
    piecewise_linear_distribution();
    template<class InIt1, class InIt2>
        piecewise_linear_distribution(InIt1 first1, InIt1 last1,
            InIt2 first2);
    template<class Fn>
        piecewise_linear_distribution(initializer_list<RealType> init, Fn func);
    template<class Fn>
        piecewise_linear_distribution(size_t count,
            double low, double high, Fn func);
    explicit piecewise_linear_distribution(const param_type& par0);
    std::vector<double> densities() const;
    std::vector<RealType> intervals() const;
    param_type param() const;
    void param(const param_type& par0);
    result_type min() const;
    result_type max() const;
    void reset();
    template<class Engine>
        result_type operator()(Engine& eng);
    template<class Engine>
        result_type operator()(Engine& eng,
            const param_type& par0);
private:
    std::vector<double> stored_p;
    std::vector<RealType> stored_x;
    };

パラメーター

パラメーター

説明

RealType

結果の浮動小数点型。

解説

このテンプレート クラスは、可変幅の確率ヒストグラムに従って分布されるユーザー指定の浮動小数点型の値を生成する分布を表します。確率は各区間で直線的に変化します。

次の 3 種類の分布は非常に似通っています。

  • discrete_distribution では、区間の幅は均一であり、各区間の確率も均一です。

  • piecewise_constant_distribution では、区間の幅は変化しますが、各区間の確率は均一です。

  • piecewise_linear_distribution では、区間の幅は変化し、確率も各区間で直線的に変化します。

必要条件

ヘッダー : <random>

名前空間: std

参照

関連項目

<random>

piecewise_linear_distribution::densities

piecewise_linear_distribution::intervals

piecewise_linear_distribution::operator()

piecewise_linear_distribution::param

piecewise_linear_distribution::param_type

piecewise_linear_distribution::piecewise_linear_distribution