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); }
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}"; }