Exemplo n.º 1
0
        private decimal Median(RollingWindow <decimal> deltaPhase)
        {
            int     k;
            decimal median;

            int  obs  = deltaPhase.Count;
            bool even = obs % 2 == 0;

            decimal[] array = deltaPhase.OrderBy(x => x).ToArray();

            if (even)
            {
                k      = obs / 2;
                median = (array[k] + array[k + 1]) / 2;
            }
            else
            {
                k      = (obs + 1) / 2;
                median = array[k];
            }
            return(median);
        }