Матожидание дискретной случайной величины в С++
Дискретная случайная величина - это случайная величина, множество возможных значений которой является перечислимым (но не обязательно конечным). Пример: числа, выпадающие на гранях кубика. Обычно, о случайной величине мы знаем, какие значения она может принимать и с какой вероятностью (это называется законом распределения случайной величины). Это важная информация, но она не позволяет однозначно установить, какое именно значение примет случайная величина. Матожидание или математическое ожидание это та величина, которая ожидается в результате проведения экспериментов со случайной величиной. Студентам нравится эта величина потому что формула для ее вычисления очень простая, а потому задачку на экзамене всегда можно решить быстро и без ошибок. Итак, если задана случайная величина \(X\), которая может принимать следующие значения:
$$X=\left\{x_{1},x_{2},x_{3},x_{4},..x_{n}, \right\}$$
с заданной вероятностью, соответственно:
$$P=\left\{p_{1},p_{2},p_{3},p_{4},..p_{n}, \right\}$$
тогда математическое ожидание вычисляется по формуле:
$$M\left[x \right]=x_{1}\cdot p_{1}+x_{2}\cdot p_{2}+x_{3}\cdot p_{3}+...x_{n}\cdot p_{n}$$
Или другими словами: математическое ожидание равно сумме попарных произведений значений случайной величины на соответствующие вероятности этих величин. Внизу приведен листинг программы, которая вычисляет матожидание.
#includeusing namespace std; int main(){ //Число реализуемых значений случайной величины: const int n=5; //Массив значений, массив вероятностей и //математическое ожидание: double xi[n],p[n],Mxi=0; //Индексная переменная: int i; //Ввод реализуемых значений случайной величины: cout << "xi: "; for(i=0; i < n; i++) cin >> xi[i]; //Ввод вероятностей и вычисление //математического ожидания: cout<<"p: "; for(i=0; i < n; i++){ cin>>p[i]; Mxi+=p[i]*xi[i]; } //Вывод результата: cout << "Mxi = " << Mxi << endl; return 0; }