Beispiel #1
0
 private void calculateChars_Click(object sender, EventArgs e)
 {
     if (intSeries != null)
     {
         double sampleMeanSquare = SeriesCharacteristics.calculateSampleMeanSquare(groupedSeries.SeriesTable);
         double dispersion       = SeriesCharacteristics.calculateDispersion(groupedSeries.SeriesTable);
         double sampleMean       = SeriesCharacteristics.calculateSampleMean(groupedSeries.SeriesTable);
         characteristicsLabel.Text = String.Format("Выборочное среднее квадратическое {0:f4}\n\rВыборочное среднее {1:f4}\n\rДисперсия {2:f4}\n\r", sampleMeanSquare, sampleMean, dispersion);
     }
     else
     {
         MessageBox.Show("Перед тем, как рассчитывать характеристики выборки,\nизвлеките интервальный ряд обычных частот и рассчитайте группированный ряд отновительных частот", "Не был рассчитан группированный ряд относительных частот частот");
     }
 }
Beispiel #2
0
        protected override List <double> probabilitiesCount(IntervalVariationStatisticSeries inValue)
        {
            List <double> probs = new List <double>();    // Вероятности
            GroupedRelativeArequenceSeries groupedSeries = GroupedRelativeArequenceSeries.calculateFromIntervalSeries(inValue, inValue.SeriesTable.Count);
            double sampleMean = SeriesCharacteristics.calculateSampleMean(groupedSeries.SeriesTable);
            double lambda     = 1 / sampleMean;
            double buff;

            foreach (KeyValuePair <LinearInterval, double> pair in inValue.SeriesTable)
            {
                buff = Math.Exp(-lambda * pair.Key.LeftBorder) - Math.Exp(-lambda * pair.Key.RightBorder);
                probs.Add(buff);
            }
            return(probs);
        }
Beispiel #3
0
        private IntervalVariationStatisticSeries createNewIntervalSeries(IntervalVariationStatisticSeries old)
        {
            GroupedRelativeArequenceSeries groupedSeries = GroupedRelativeArequenceSeries.calculateFromIntervalSeries(old, old.SeriesTable.Count);
            double sampleMean       = SeriesCharacteristics.calculateSampleMean(groupedSeries.SeriesTable);
            double sampleMeanSquare = SeriesCharacteristics.calculateSampleMeanSquare(groupedSeries.SeriesTable);
            IntervalVariationStatisticSeries newInterval = IntervalVariationStatisticSeries.calculateSeriesFromReadySeries(old.SeriesTable);

            foreach (KeyValuePair <LinearInterval, double> pair in newInterval.SeriesTable)
            {
                pair.Key.LeftBorder  = (pair.Key.LeftBorder - sampleMean) / sampleMeanSquare;
                pair.Key.RightBorder = (pair.Key.RightBorder - sampleMean) / sampleMeanSquare;
            }

            return(newInterval);
        }
Beispiel #4
0
 private void calculateTableCharacteristics()
 {
     if (calculated)
     {
         SampleMeanTB.Text           = SeriesCharacteristics.calculateSampleMean(relativeSeries.SeriesTable).ToString();
         SampleMeanSquareTB.Text     = SeriesCharacteristics.calculateSampleMeanSquare(relativeSeries.SeriesTable).ToString();
         DispersionTB.Text           = SeriesCharacteristics.calculateDispersion(relativeSeries.SeriesTable).ToString();
         InitialSamplingPointTB.Text = SeriesCharacteristics.calculateInitialSamplingPoint(relativeSeries.SeriesTable, Convert.ToDouble(nudR.Value)).ToString();
         CentralSamplingPointTB.Text = SeriesCharacteristics.calculateCentralSamplingPoint(relativeSeries.SeriesTable, Convert.ToDouble(nudR.Value)).ToString();
         statusLabel.Text            = "Рассчитаны числовые характеристики выборки";
     }
     else
     {
         MessageBox.Show("Прежде чем рассчитывать характеристики выборки,\nрассчитайте ряды!", "Внимание");
     }
 }
Beispiel #5
0
 private void calculateChars_Click(object sender, EventArgs e)
 {
     if (intSeries != null)
     {
         double sampleMeanSquare     = SeriesCharacteristics.calculateSampleMeanSquare(groupedSeries.SeriesTable);
         double dispersion           = SeriesCharacteristics.calculateDispersion(groupedSeries.SeriesTable);
         double sampleMean           = SeriesCharacteristics.calculateSampleMean(groupedSeries.SeriesTable);
         double centralSamplingPoint = SeriesCharacteristics.calculateCentralSamplingPoint(groupedSeries.SeriesTable, (double)rNumber.Value);
         double initialSamplingPoint = SeriesCharacteristics.calculateInitialSamplingPoint(groupedSeries.SeriesTable, (double)rNumber.Value);
         characteristicsLabel.Text = String.Format("Средневыборочное квадратическое {0:f4}\n\rСредневыборочное {1:f4}\n\rДисперсия {2:f4}\n\rЦентр. выборочн. момент {3}: {4:f4}\n\rНачальный выборочный момент {5}: {6:f4}", sampleMeanSquare, sampleMean, dispersion, (int)rNumber.Value, centralSamplingPoint, (int)rNumber.Value, initialSamplingPoint);
     }
     else
     {
         MessageBox.Show("Перед тем, как рассчитывать характеристики выборки,\nизвлечите интервальный ряд обычных частот и рассчитайте группированный ряд отновительных частот", "Не был рассчитан группированный ряд относительных частот частот");
     }
 }
Beispiel #6
0
        // Построение графиков
        #region ShowGraphics

        private void showGraphicsButton_Click(object sender, EventArgs e)
        {
            switch (cbGraphKind.SelectedIndex)
            {
            case 0:
            {
                if (groupedSeries != null)
                {
                    SortedDictionary <double, int> modifiedSeries = new SortedDictionary <double, int>();
                    double summ = groupedSeries.ElementsCount;
                    foreach (var pair in groupedSeries.SeriesTable)
                    {
                        modifiedSeries.Add(pair.Key, (int)(pair.Value * summ));
                    }
                    DisplayForm.DisplayStatFreq(modifiedSeries);
                    LoggerEvs.writeLog("Построение полигона...");
                }
                break;
            }

            case 1:
            {
                if (intSeries != null)
                {
                    DisplayForm.DisplayIntervalFreq(intSeries.SeriesTable);
                    LoggerEvs.writeLog("Построение гистограммы...");
                }
                break;
            }

            case 2:
            {
                if (groupedSeries != null)
                {
                    SortedDictionary <double, double> modifiedSeries = new SortedDictionary <double, double>();
                    double summ = 0;
                    foreach (var pair in groupedSeries.SeriesTable)
                    {
                        summ += pair.Value;
                    }
                    foreach (var pair in groupedSeries.SeriesTable)
                    {
                        modifiedSeries.Add(pair.Key, pair.Value / summ);
                    }
                    EmpiricFunction.ShowEmpiricFunction(modifiedSeries);
                    LoggerEvs.writeLog("Построение функции распределения...");
                }
                break;
            }

            case 3:
            {
                if (groupedSeries != null)
                {
                    CheckDistributionForm wnd = new CheckDistributionForm();
                    double sampleMeanSquare   = SeriesCharacteristics.calculateSampleMeanSquareNew(groupedSeries.SeriesTable);
                    double sampleMean         = SeriesCharacteristics.calculateSampleMean(groupedSeries.SeriesTable);
                    double dispersion         = SeriesCharacteristics.calculateDispersion(groupedSeries.SeriesTable);
                    wnd.draw_distribution(groupedSeries.SeriesTable, "Выборка", sampleMean, sampleMeanSquare, Color.FromArgb(255, 255, 0, 255));
                    wnd.drawNormalDistribution(dispersion, sampleMeanSquare, sampleMean);
                    wnd.Show();
                }
                break;
            }

            case 4:
            {
                if (groupedSeries != null)
                {
                    CheckDistributionForm wnd = new CheckDistributionForm();
                    double sampleMeanSquare   = SeriesCharacteristics.calculateSampleMeanSquareNew(groupedSeries.SeriesTable);
                    double sampleMean         = SeriesCharacteristics.calculateSampleMean(groupedSeries.SeriesTable);
                    double dispersion         = SeriesCharacteristics.calculateDispersion(groupedSeries.SeriesTable);
                    wnd.draw_distribution(groupedSeries.SeriesTable, "Выборка", sampleMean, sampleMeanSquare, Color.FromArgb(255, 255, 0, 255));
                    wnd.drawExpDistribution(dispersion, sampleMeanSquare, sampleMean);
                    wnd.Show();
                }
                break;
            }
            }
        }