コード例 #1
0
ファイル: Form2.cs プロジェクト: labstuds/labwork2
        // Обработка интервалов (извлечение, расчет характеристик, вывод групированного ряда)
        #region IntervalsProcessing

        private void calculateGroupedSeries_Click(object sender, EventArgs e)
        {
            if (intSeries != null)
            {
                groupedSeries = GroupedRelativeArequenceSeries.calculateFromIntervalSeries(intSeries, intSeries.SeriesTable.Count);
                visualizeGroupedSeries();
            }
            else
            {
                MessageBox.Show("Перед тем, как рассчитывать группированный ряд относительных частот,\n извлеките интервальный ряд обычных частот", "Не был извлечен интервальный ряд частот");
            }
        }
コード例 #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);
        }
コード例 #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);
        }