private double[] point(double[] arr, int CountInterval)
        {
            double max = DiscriptiveStatistics.Max(arr);
            double min = DiscriptiveStatistics.Min(arr);

            double[] points = new double[CountInterval + 1];
            for (int i = 0; i < points.Length; i++)
            {
                points[i] = max - i * (max - min) / CountInterval;
            }

            return(points.OrderBy(x => x).ToArray());
        }
        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);
        }
 private void output(double[][] arr)
 {
     for (int i = 0; i < colum; i++)
     {
         string s = "";
         string t = "";
         s += (i + 1).ToString() + "\n\n";
         t += "\t\n\n\n";
         s += string.Format("{0:F2}", DiscriptiveStatistics.Average(arr[i])) + "\n\n";
         t += "\t\n\n\n";
         s += string.Format("{0:F2}", DiscriptiveStatistics.Amount(arr[i])) + "\n\n";
         t += "\t\n\n\n";
         s += string.Format("{0:F2}", DiscriptiveStatistics.StandartError(arr[i])) + "\n\n";
         t += "\t\n\n\n";
         s += string.Format("{0:F2}", DiscriptiveStatistics.Median(arr[i])) + "\n\n";
         t += "\t\n\n\n";
         s += string.Format("{0:F2}", DiscriptiveStatistics.Fashion(arr[i])) + "\n\n";
         t += "\t\n\n\n";
         s += string.Format("{0:F2}", DiscriptiveStatistics.StandartDeviation(arr[i])) + "\n\n";
         t += "\t\n\n\n";
         s += string.Format("{0:F2}", DiscriptiveStatistics.Dispersion(arr[i])) + "\n\n";
         t += "\t\n\n\n";
         s += string.Format("{0:F2}", DiscriptiveStatistics.Excess(arr[i])) + "\n\n";
         t += "\t\n\n\n";
         s += string.Format("{0:F2}", DiscriptiveStatistics.Asymmetry(arr[i])) + "\n\n";
         t += "\t\n\n\n";
         s += string.Format("{0:F2}", DiscriptiveStatistics.Interval(arr[i])) + "\n\n";
         t += "\t\n\n\n";
         s += string.Format("{0:F2}", DiscriptiveStatistics.Min(arr[i])) + "\n\n";
         t += "\t\n\n\n";
         s += string.Format("{0:F2}", DiscriptiveStatistics.Max(arr[i])) + "\n\n";
         t += "\t\n\n\n";
         s += string.Format("{0:F2}", arr[i].Length) + "\n\n";
         t += "\t\n\n\n";
         stpDiscrStat.Children.Add(new TextBlock {
             Text = s
         });
         stpDiscrStat.Children.Add(new TextBlock {
             Text = t
         });
     }
 }