示例#1
0
        private double[] Get_theretical_frequency_Laplas(double[] arr, double[][] intervalArray)
        {
            double X_aver = DiscriptiveStatistics.Average(arr);
            double disp   = Math.Sqrt(DiscriptiveStatistics.Dispersion(arr));

            double[] P = new double[intervalArray.Length];
            for (int i = 0; i < P.Length; i++)
            {
                double[] buf = intervalArray[i];
                P[i]  = DiscriptiveStatistics.GetValueLaplasFunction(Math.Round(Math.Abs((buf[0] - X_aver) / disp), 2)) * DiscriptiveStatistics.GetValueLaplasFunction(Math.Round(Math.Abs((buf[buf.Length - 1] - X_aver) / disp), 2));
                P[i] *= buf.Length;
            }
            return(P);
        }
示例#2
0
        private double[] theoretical_freq(double[] arr, double sum, double[] xn, int CountInterval)
        {
            double X_aver = DiscriptiveStatistics.Average(arr);
            double disp   = Math.Sqrt(DiscriptiveStatistics.Dispersion(arr));

            double[] m_t = new double[CountInterval];
            double   h   = (DiscriptiveStatistics.Max(arr) - DiscriptiveStatistics.Min(arr)) / CountInterval;

            for (int i = 0; i < m_t.Length; i++)
            {
                double u   = (xn[i] - X_aver) / disp;
                double f_u = 1 / (Math.Sqrt(2 * Math.PI) * Math.Pow(Math.E, (u * u) / 2));
                m_t[i] = sum * h / disp * f_u;
            }
            return(m_t);
        }