C#を使って、離散型確率変数の期待値を計算する方法を書いていきます。
目次
- コード例
- 確率が同じ場合
1. コード例
コード例は以下の通りです。
// 確率変数と確率int[] vs = { 0, 1 }; double[] ps = { 0.5, 0.5 }; // 期待値を算出double e =0d; for (int i =0; i < vs.Length; i++) { e += vs[i] * ps[i]; } // 出力 Console.WriteLine(e); // 0.5 Console.ReadKey();
2. 確率が同じ場合
上の例やサイコロの目ように、確率が同じ場合は、以下のコードでも大丈夫だと思います。
// 確率変数と確率int[] vals = { 1, 2, 3, 4, 5, 6 }; double p =1d/ vals.Length; // 期待値を算出double e =0d; foreach (var v in vals) { e += v * p; } // 出力 Console.WriteLine(e); // 3.5 Console.ReadKey();