ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อทำความเข้าใจ negative_binomial_distribution ใน C++
ฟังก์ชันนี้ตามหลังการแจกแจงแบบไม่ต่อเนื่องทวินามลบและสร้างจำนวนเต็มตามการแจกแจงแบบสุ่มนี้
ตัวอย่าง
#include <bits/stdc++.h> using namespace std; int main() { //setting number of experiments const int exps = 10000; const int numberstars = 100; default_random_engine generator; negative_binomial_distribution<int> distribution(4, 0.5); int p[10] = {}; for (int i = 0; i < exps; ++i) { int counting = distribution(generator); if (counting < 10) ++p[counting]; } cout << "Negative binomial distribution with "<< "( k = 4, p = 0.5 ) :" << endl; //printing the sequence from the array for (int i = 0; i < 10; ++i) cout << i << ": " << string(p[i] * numberstars / exps, '*') << endl; return 0; }
ผลลัพธ์
Negative binomial distribution with ( k = 4, p = 0.5 ) : 0: ***** 1: ************ 2: **************** 3: *************** 4: ************* 5: ********** 6: ******** 7: ***** 8: *** 9: **