예제 #1
0
        public double CalcDisperssion()
        {
            var sumList = AXi.Select((value, index) => Math.Pow(Math.Abs(value - ExceptedValue), 2) * Ni[index]).Sum();

            Disperssion = sumList / (n - 1);
            return(Disperssion);
        }
예제 #2
0
        public double CalcExceptedValue()
        {
            var sumList = AXi.Zip(Ni, (x, y) => x * y).Sum();

            ExceptedValue = sumList / n;

            return(ExceptedValue);
        }
예제 #3
0
 public List <double> CalcAXi()
 {
     AXi.Clear();
     for (int i = 0; i < Xi.Count - 1; i++)
     {
         AXi.Add((Xi[i] + Xi[i + 1]) / 2);
     }
     return(AXi);
 }
예제 #4
0
        public List <double> CalcFrequencyF()
        {
            var a = ExceptedValue;

            sigma = Math.Sqrt(Disperssion);
            for (int i = 0; i < AXi.Count(); i++)
            {
                var power           = Math.Pow(Math.E, (-1 * Math.Pow(AXi[i] - a, 2)) / (2 * Math.Pow(sigma, 2)));
                var firstMultiplier = 1 / (sigma * Math.Sqrt(2 * Math.PI));
                FrequencyF.Add(firstMultiplier * power);
            }

            return(FrequencyF);
        }