Exemplo n.º 1
0
        private SortedDictionary <double, double> GetMeanFrequencies(int sampleSize, int numberOfSamples, int minValue, int maxValue)
        {
            var clt = new CentralLimitTheorem(sampleSize, numberOfSamples, minValue, maxValue);
            SortedDictionary <double, double> meanFrequencies = clt.GetFrequencyOfMeans();

            return(meanFrequencies);
        }
        public void GetMeanSampleTest()
        {
            int minNumber       = 1;
            int maxNumber       = 6;
            int sampleSize      = 4;
            int numberOfSamples = 1000;

            var clt = new CentralLimitTheorem(sampleSize, numberOfSamples, minNumber, maxNumber);

            double[] samples = clt.GetMeanSamples();

            Assert.Equals(numberOfSamples, samples.Length);
        }
        public void GetRandomNumberTest()
        {
            int minNumber       = 1;
            int maxNumber       = 6;
            int sampleSize      = 4;
            int numberOfSamples = 1000;

            var    clt          = new CentralLimitTheorem(sampleSize, numberOfSamples, minNumber, maxNumber);
            double randomNumber = clt.GetRandomNumber();

            Assert.Greater(randomNumber, minNumber);
            Assert.Less(randomNumber, maxNumber);
        }
Exemplo n.º 4
0
        private void CalculateCentralLimitTheorem()
        {
            CentralLimitTheorem rnd = new CentralLimitTheorem();

            double[] randomValues = rnd.Random(sampleSize, m, dpow2);

            double step = (double)rightXBorder / intervalsCount;

            ConstructFrequencyHistogram(randomValues, step);

            ConstructStatisticalDistributionFunction(randomValues, step);

            double mx = StatisticData.CalculateMathExpectation(randomValues);
            double dx = StatisticData.CalculateDispersoin(randomValues, mx);

            label1.Text = "M(X) = " + mx + "   D(X) = " + dx;
            //вычисление критерия Колмагорова
            double kolmogorovCriterionLambdaValue = KolmogorovCriterion.GetLambda(randomValues, sampleSize);
            double kolmogorovCriterionValue       = KolmogorovCriterion.Calculate(randomValues, sampleSize);

            label2.Text = $"Лямбда по критерию Колмогорова равна {Math.Round(kolmogorovCriterionLambdaValue, 3)}; \nОценка генератора " +
                          $"случайных чисел равна {kolmogorovCriterionValue}";
        }