PoissonC++11

[機能]

  ポワソン分布乱数,指数分布乱数,ガンマ分布乱数,ワイブル分布乱数,極値分布乱数を生成します.

[形式]
#include <random>
		// ポワソン分布
template <class IntType = int> class poisson_distribution;
		// 指数分布
template <class RealType = double> class exponential_distribution;
		// ガンマ分布
template <class RealType = double> class gamma_distribution;
		// ワイブル分布
template <class RealType = double> class weibull_distribution;
		// 極値分布
template <class RealType = double> class extreme_value_distribution;		

[使用例]

  1. poisson_distribution,exponential_distribution,gamma_distribution,weibull_distribution,extreme_value_distribution の使用方法です.
    #include <iostream>
    #include <random>
    
    using namespace std;
    
    int main()
    {
    			// 乱数の初期設定
    	random_device sd;   // 予測不能な乱数生成器(class),初期設定のために使用
    	mt19937 rnd(sd());   // 乱数生成期の定義とその初期設定
    			// ポワソン分布(λ : 4.0)
    	poisson_distribution<> poisson(4.0);   // コンストラクタ
    	cout << "Poisson 分布(λ : 4.0)\n";
    	for (int i1 = 0; i1 < 10; i1++)
    		cout << "  " << poisson(rnd) << endl;
    			// 指数分布(平均 : 0.25)
    	exponential_distribution<> exponent(0.25);   // コンストラクタ
    	cout << "指数分布(平均 : 0.25)\n";
    	for (int i1 = 0; i1 < 10; i1++)
    		cout << "  " << exponent(rnd) << endl;
    			// ガンマ分布(形状母数(α) n : 3,尺度母数(β) μ : 10)
    			// 期間 μ に1回程度起こる事象が n 回起こるまでの時間(期待値:nμ)
    	gamma_distribution<> gamma(3.0, 10.0);   // コンストラクタ
    	cout << "ガンマ分布(形状母数(α) n : 3,尺度母数(β) μ : 10)\n";
    	for (int i1 = 0; i1 < 10; i1++)
    		cout << "  " << gamma(rnd) << endl;
    			// ワイブル分布(ワイブル係数(形状パラメータ) : 1,尺度パラメータ : 2)
    	weibull_distribution<> weibull(1.0, 2.0);   // コンストラクタ
    	cout << "ワイブル分布(ワイブル係数(形状パラメータ) : 1,尺度パラメータ : 2)\n";
    	for (int i1 = 0; i1 < 10; i1++)
    		cout << "  " << weibull(rnd) << endl;
    			// 極値分布(位置パラメータ : 0,尺度パラメータ : 1)
    	extreme_value_distribution<> ext(0.0, 1.0);   // コンストラクタ
    	cout << "極値分布(位置パラメータ : 0,尺度パラメータ : 1)\n";
    	for (int i1 = 0; i1 < 10; i1++)
    		cout << "  " << ext(rnd) << endl;
    
    	return 0;
    }
    			
    (出力)
    Poisson 分布(λ : 4.0)
      8
      2
      2
      5
      0
      4
      6
      3
      4
      6
    指数分布(平均 : 0.25)
      3.43373
      2.0419
      6.27692
      2.70918
      3.12752
      5.37747
      0.534754
      0.552235
      5.80504
      2.33643
    ガンマ分布(形状母数(α) n : 3,尺度母数(β) μ : 10)
      31.4408
      23.4124
      26.5957
      5.50144
      46.9708
      28.7506
      28.5645
      36.2529
      28.0933
      62.5068
    ワイブル分布(ワイブル係数(形状パラメータ) : 1,尺度パラメータ : 2)
      2.89117
      0.455951
      1.23279
      0.496712
      1.0065
      0.302553
      2.6546
      1.7606
      3.67864
      2.91596
    極値分布(位置パラメータ : 0,尺度パラメータ : 1)
      -1.51923
      -0.897403
      -0.942294
      -0.733458
      -0.44655
      -0.790854
      0.828154
      0.78172
      2.57393
      -0.535336
    			
[参照]

mt19937uniformBernoullisamplingnormal

菅沼ホーム 本文目次 演習問題解答例 付録目次 索引