private void button1_Click(object sender, EventArgs e) { SortedDictionary <LinearInterval, double> intervalSeriesTable = new SortedDictionary <LinearInterval, double>(); int index = 0; int stringCounter = 0; try { String currentString = getNextString(sourceIntervalSeriesBox.Text, ref index); stringCounter++; while (currentString != "") { getLinearIntervalDoublePairFromString(currentString); intervalSeriesTable.Add(lastReadedInterval, lastCount); currentString = getNextString(sourceIntervalSeriesBox.Text, ref index); stringCounter++; } } catch (Exception ex) { MessageBox.Show(ex.Message, "Не верно записан ряд. Заполняйте поле ввода согласно стандарту."); return; } finally { intSeries = IntervalVariationStatisticSeries.calculateSeriesFromReadySeries(intervalSeriesTable); } }
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); }
private void readIntervalsGrid() { SortedDictionary <LinearInterval, double> intervalSeriesTable = new SortedDictionary <LinearInterval, double>(); // Считать ряд из таблицы LinearInterval bufInterval; double leftBorder, rightBorder, freq; for (int i = 0; i < dgvIntervals.Rows.Count; i++) { leftBorder = Convert.ToDouble(dgvIntervals.Rows[i].Cells[0].Value); rightBorder = Convert.ToDouble(dgvIntervals.Rows[i].Cells[1].Value); freq = Convert.ToDouble(dgvIntervals.Rows[i].Cells[2].Value); bufInterval = new LinearInterval(leftBorder, rightBorder); intervalSeriesTable.Add(bufInterval, freq); } // Получить интервальные ряды intSeries = IntervalVariationStatisticSeries.calculateSeriesFromReadySeries(intervalSeriesTable); }