Ejemplo n.º 1
0
        private void ButtonMethodLeastSquares_Click(object sender, RoutedEventArgs e)
        {
            if (AllDataTimeSeries.SelectedRow == -1 || QuantityPredictLeastSquares.Text == "")
            {
                WindowError windowError = new WindowError("Данные не выбраны");
                windowError.Show();
                return;
            }

            int m;

            try
            {
                m = Convert.ToInt32(QuantityPredictLeastSquares.Text);
            }
            catch
            {
                WindowError windowError = new WindowError("Неудалось распознать значение (требуется int)");
                windowError.Show();
                return;
            }

            if (m < 0)
            {
                WindowError windowError = new WindowError("Количество предсказываемых значений \nдолжно быть не отрицательным");
                windowError.Show();
                return;
            }
            bool flag = TypeMethodLeastSquares.IsChecked.GetValueOrDefault();
            WindowGraphicView windowTest = new WindowGraphicView(AllDataTimeSeries.LeastSquareMethod(m, flag), AllDataTimeSeries.ListTimeSeries[AllDataTimeSeries.SelectedRow].GetColor());

            windowTest.Show();
        }
Ejemplo n.º 2
0
        private void ButtonExponentialSmoothingMethod_Click(object sender, RoutedEventArgs e)
        {
            if (AllDataTimeSeries.SelectedRow == -1)
            {
                WindowError windowError = new WindowError("Данные не выбраны");
                windowError.Show();
                return;
            }

            double a;

            try
            {
                a = Convert.ToDouble(SmoothingIntervalExp.Text);
            }
            catch
            {
                WindowError windowError = new WindowError("Некорректно задан параметр, диапазон от 0 до 1");
                windowError.Show();
                return;
            }

            if (a < 0 || a > 1)
            {
                WindowError windowError = new WindowError("Некорректно задан параметр, диапазон от 0 до 1");
                windowError.Show();
                return;
            }

            WindowGraphicView windowTest = new WindowGraphicView(AllDataTimeSeries.ExponentialSmoothingMethod(a), AllDataTimeSeries.ListTimeSeries[AllDataTimeSeries.SelectedRow].GetColor());

            windowTest.Show();
        }
Ejemplo n.º 3
0
        private void TableTimeSeries_MouseDown(object sender, MouseButtonEventArgs e)
        {
            if (TableTimeSeries.SelectedItems.Count == 1)
            {
                AllDataTimeSeries.SetSelectedRow(TableTimeSeries.SelectedIndex);

                if (visualPresentationTimeSeries.CheckedNumberTimeSeries.IsChecked.GetValueOrDefault() == true)
                {
                    if (visualPresentationTimeSeries.NameSelectedTimeSeries.Text == "")
                    {
                        visualPresentationTimeSeries.NameSelectedTimeSeries.Text = AllDataTimeSeries.NameSelectedTimeSeries;
                    }
                    else
                    {
                        List <string> text = new List <string>(System.Text.RegularExpressions.Regex.Split(visualPresentationTimeSeries.NameSelectedTimeSeries.Text, ","));
                        if (text.Find(item => item == AllDataTimeSeries.NameSelectedTimeSeries) == null)
                        {
                            visualPresentationTimeSeries.NameSelectedTimeSeries.Text += "," + AllDataTimeSeries.NameSelectedTimeSeries;
                        }
                    }
                }

                test_1.Text = AllDataTimeSeries.NameSelectedTimeSeries;                 //-----------------------------улучшить
            }
        }
Ejemplo n.º 4
0
        private void ButtonFFT_Click(object sender, RoutedEventArgs e)
        {
            if (AllDataTimeSeries.SelectedRow == -1)
            {
                WindowError windowError = new WindowError("Данные не выбраны");
                windowError.Show();
                return;
            }

            WindowGraphicView windowTest = new WindowGraphicView(AllDataTimeSeries.FFT(), AllDataTimeSeries.ListTimeSeries[AllDataTimeSeries.SelectedRow].GetColor());

            windowTest.Show();
        }
Ejemplo n.º 5
0
        private void ButtonAutocorrelation_Click(object sender, RoutedEventArgs e)
        {
            if (AllDataTimeSeries.SelectedRow == -1)
            {
                WindowError windowError = new WindowError("Данные не выбраны");
                windowError.Show();
                return;
            }
            //добавить создание нового ряда
            WindowGraphicView windowTest = new WindowGraphicView(AllDataTimeSeries.Autocorrelation(), AllDataTimeSeries.ListTimeSeries[AllDataTimeSeries.SelectedRow].GetColor());

            windowTest.Show();
        }
Ejemplo n.º 6
0
        private void ButtonMovingAverageMethod_Click(object sender, RoutedEventArgs e)
        {
            if (AllDataTimeSeries.SelectedRow == -1 || SmoothingInterval.Text == "")
            {
                WindowError windowError = new WindowError("Данные не выбраны");
                windowError.Show();
                return;
            }

            int n, m;

            try
            {
                n = Convert.ToInt32(SmoothingInterval.Text);
                m = Convert.ToInt32(QuantityPredict.Text);
            }
            catch
            {
                WindowError windowError = new WindowError("Неудалось распознать значение (требуется int)");
                windowError.Show();
                return;
            }

            if (n < 3 || n % 2 == 0)
            {
                WindowError windowError = new WindowError("Величина интервала сглаживания должна быть не меньше 3\n и нечетное");
                windowError.Show();
                return;
            }

            if (m < 0)
            {
                WindowError windowError = new WindowError("Количество предсказываемых значений \nдолжно быть не отрицательным");
                windowError.Show();
                return;
            }



            WindowGraphicView windowTest = new WindowGraphicView(AllDataTimeSeries.MovingAverageMethod(n, m), AllDataTimeSeries.ListTimeSeries[AllDataTimeSeries.SelectedRow].GetColor());

            windowTest.Show();
        }
        private void FileProcessing_Click(object sender, RoutedEventArgs e)
        {
            if (Checked_name_column_time.Text == "" || Checked_name_column_value.Text == "" ||
                Checked_number_line_end_information.Text == "" ||
                Checked_number_line_end_information.Text == "" || Checked_number_list.Text == "")
            {
                WindowError windowError = new WindowError("Присутствуют незаполненные поля");
                windowError.Show();
                return;
            }

            if (NameSeries.Text == "" || NameSeries.Text.IndexOf(",") != -1)
            {
                WindowError windowError = new WindowError("Имя ряда не пустое поле, не содержащее запятую");
                windowError.Show();
                return;
            }

            try
            {
                if (ParcerDataTable.CheckedFile() == false)
                {
                    WindowError windowError = new WindowError("Не найден выбранный файл");
                    windowError.Show();
                    return;
                }
            }
            catch
            {
                WindowError windowError = new WindowError("Не выбран файл");
                windowError.Show();
                return;
            }

            OptionsParcerDataTable optionsParcerDataTable = new OptionsParcerDataTable();

            try
            {
                optionsParcerDataTable.Set_flag_simplified_date(Checked_flag_simplified_date.IsChecked.GetValueOrDefault());
                optionsParcerDataTable.Set_name_column_time(Checked_name_column_time.Text);
                optionsParcerDataTable.Set_name_column_value(Checked_name_column_value.Text);
                optionsParcerDataTable.Set_number_line_end_information(Checked_number_line_end_information.Text);
                optionsParcerDataTable.Set_number_line_start_information(Checked_number_line_start_information.Text);
                optionsParcerDataTable.Set_number_list(Checked_number_list.Text);
                optionsParcerDataTable.Set_color(Checked_color_series.Text);
                optionsParcerDataTable.Set_name(NameSeries.Text);

                if (AllDataTimeSeries.CheckedUniqueNameTimeSeries(NameSeries.Text) == false)
                {
                    WindowError windowError = new WindowError("Необходимо уникальное имя для временного ряда");
                    windowError.Show();
                    return;
                }
            }
            catch
            {
                WindowError windowError = new WindowError("Некорректно заполнены поля");
                windowError.Show();
                return;
            }

            try
            {
                ParcerDataTable.Parcer(optionsParcerDataTable);
            }
            catch
            {
                WindowError windowError = new WindowError("Не удалось прочитать файл по указанным параметрам");
                windowError.Show();
                return;
            }

            if (ParcerDataTable.CheckedResultParcer() == true)
            {
                AllDataTimeSeries.AddNewTimeSeries(ParcerDataTable.GetTimeSeries());
                this.Close();
            }
        }
Ejemplo n.º 8
0
        private void Button_Click_Normalize(object sender, RoutedEventArgs e)
        {
            if (AllDataTimeSeries.SelectedRow == -1)
            {
                WindowError windowError = new WindowError("Данные не выбраны");
                windowError.Show();
                return;
            }

            if (NewTimeSeriesChecked.IsChecked == true)
            {
                if (TextBoxName.Text == "" || TextBoxColor.Text == "")
                {
                    WindowError windowError = new WindowError("Присутствуют пустые поля");
                    windowError.Show();
                    return;
                }

                if (AllDataTimeSeries.CheckedUniqueNameTimeSeries(TextBoxName.Text) == false)
                {
                    WindowError windowError = new WindowError("Необходимо уникальное имя для временного ряда");
                    windowError.Show();
                    return;
                }

                TimeSeries temp = new TimeSeries();
                temp.Set_flag_sequence(AllDataTimeSeries.ListTimeSeries[AllDataTimeSeries.SelectedRow].Get_flag_sequence());
                temp.SetNameTimeSeries(TextBoxName.Text);
                temp.SetColor((Color)ColorConverter.ConvertFromString(TextBoxColor.Text));

                List <Dimension> dimensions = AllDataTimeSeries.ListTimeSeries[AllDataTimeSeries.SelectedRow].GetTimeSeries();
                for (int i = 0; i < dimensions.Count(); i++)
                {
                    temp.AddDimensionTime(dimensions[i].Time, dimensions[i].Value);
                }

                temp.CalculateMin();
                temp.CalculateMax();
                temp.CalculateAvg();
                temp.CalculateAvgSquareDeviation();

                int temp_selected_row = AllDataTimeSeries.SelectedRow;
                AllDataTimeSeries.AddNewTimeSeries(temp);
                AllDataTimeSeries.SetSelectedRow(AllDataTimeSeries.ListTimeSeries.Count - 1);

                if (NormalizeOn_Avg.IsChecked == true)
                {
                    AllDataTimeSeries.NormalizeOn_Avg();
                }

                if (NormalizeOn_σ.IsChecked == true)
                {
                    AllDataTimeSeries.NormalizeOn_σ();
                }

                AllDataTimeSeries.SetSelectedRow(temp_selected_row);
            }
            else
            {
                if (NormalizeOn_Avg.IsChecked == true)
                {
                    AllDataTimeSeries.NormalizeOn_Avg();
                }

                if (NormalizeOn_σ.IsChecked == true)
                {
                    AllDataTimeSeries.NormalizeOn_σ();
                }
            }
        }