BernoulliC++11

[機能]

  ベルヌーイ分布乱数,二項分布乱数,幾何分布乱数,負の二項分布乱数を生成します.

[形式]
#include <random>
		// ベルヌーイ分布
class bernoulli_distribution;
		// 二項分布
template <class IntType = int> class binomial_distribution;
		// 幾何分布
template <class IntType = int> class geometric_distribution;
		// 負の二項分布
template <class IntType = int> class negative_binomial_distribution;		

[使用例]

  1. bernoulli_distribution,binomial_distribution,geometric_distribution,negative_binomial_distribution の使用方法です.
    #include <iostream>
    #include <random>
    
    using namespace std;
    
    int main()
    {
    			// 乱数の初期設定
    	random_device sd;   // 予測不能な乱数生成器(class),初期設定のために使用
    	mt19937 rnd(sd());   // 乱数生成期の定義とその初期設定
    			// ベルヌーイ分布(成功確率 : 0.7)
    	bernoulli_distribution bernoulli(0.7);   // コンストラクタ
    	cout << "ベルヌーイ分布 : 母数 p : 0.7\n";
    	for (int i1 = 0; i1 < 10; i1++)
    		cout << "  " << bernoulli(rnd) << endl;
    			// 二項分布(成功確率 0.7 の試行を 20 回行ったときの成功回数)
    	binomial_distribution<> binomial(20, 0.7);   // コンストラクタ
    	cout << "二項分布 : 母数 p : 0.7,20 回行ったときの成功回数\n";
    	for (int i1 = 0; i1 < 5; i1++)
    		cout << "  " << binomial(rnd) << endl;
    			// 幾何分布(成功確率 0.3 の試行において,初めて成功するまでに何回失敗したか)
    	geometric_distribution<> geometric(0.3);   // コンストラクタ
    	cout << "幾何分布 : 母数 p : 0.3,初めて成功するまでに何回失敗したか\n";
    	for (int i1 = 0; i1 < 5; i1++)
    		cout << "  " << geometric(rnd) << endl;
    			// 負の二項分布(成功確率 0.3 の試行において,5 回成功するまでに失敗した回数)
    	negative_binomial_distribution<> negative(1, 0.3);   // コンストラクタ
    	cout << "負の二項分布 : 母数 p : 0.3,1 回成功するまでに失敗した回数\n";
    	for (int i1 = 0; i1 < 5; i1++)
    		cout << "  " << negative(rnd) << endl;
    
    	return 0;
    }
    			
    (出力)
    ベルヌーイ分布 : 母数 p : 0.7
      0
      0
      1
      1
      0
      1
      1
      0
      1
      1
    二項分布 : 母数 p : 0.7,20 回行ったときの成功回数
      13
      14
      16
      12
      14
    幾何分布 : 母数 p : 0.3,初めて成功するまでに何回失敗したか
      10
      0
      1
      5
      2
    負の二項分布 : 母数 p : 0.3,1 回成功するまでに失敗した回数
      5
      1
      0
      7
      2
    			
[参照]

mt19937uniformsamplingPoissonnormal

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