C++ 中的二项式随机变量
随机变量是那些变量,它们是一个进程的可能产生多个结果的输出的结果。例如,抛硬币后显示正面或反面作为结果的变量是一个随机变量。
二项式随机变量是一种特殊的随机变量,其值与一个事件相关,该事件在一个事件中具有固定的结果概率。
二项式随机变量具有一些让它变得特别的特质。变量成为二项式随机变量的必要条件有 −
结果的总数是固定的。
试验的结果只能是真或假,两者之间不存在中间状态。
每次试验发生的概率是相同的。
任何两项试验都是相互独立的。
二项式随机变量概率
结果成功的概率由以下公式给出 −
P (x= k ) = n! / k! (n-k)! * pk * (1-p)n-k
基于二项式随机变量的此概率,样本空间中变量发生的次数。
E[X] = np
成功的方差由 Var[X] = np (1-p)给出
示例
#include <iostream>
#include <cmath>
using namespace std;
int combination(int n, int r){
if (r > n / 2)
r = n - r;
int answer = 1;
for (int i = 1; i <= r; i++) {
answer *= (n - r + i);
answer /= i;
}
return answer;
}
float randombinomialProbability(int n, int k, float p){
return combination(n, k)*pow(p, k)*pow(1 - p, n - k);
}
int main(){
int n = 10;
int k = 5;
float p = 1.0 / 3;
float binomialRandomVariable = randombinomialProbability(n, k, p);
cout<<"Probability of "<<k;
cout<<" heads when a coin is tossed "<< n;
cout<<" times where probability of each head is "<<p;
cout<<" is = "<<binomialRandomVariable<<endl;
}输出
Probability of 5 heads when a coin is tossed 10 times where probability of each head is 0.333333 is = 0.136565
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP