Пример #1
0
    public static List <Dimension> LeastSquareMethod(int m, bool flag)
    {
        if (CheckedUniqueNameTimeSeries(ListTimeSeries[SelectedRow].GetNameTimeSeries() + "_LeastSquare") == true)
        {
            TimeSeries timeSeries_NewName = new TimeSeries();
            timeSeries_NewName.SetNameTimeSeries(ListTimeSeries[SelectedRow].GetNameTimeSeries() + "_LeastSquare");
            timeSeries_NewName.SetColor(ListTimeSeries[SelectedRow].GetColor());
            timeSeries_NewName.Set_flag_sequence(ListTimeSeries[SelectedRow].Get_flag_sequence());


            timeSeries_NewName.SetTimeSeries(ListTimeSeries[SelectedRow].LeastSquareMethod(m, flag));

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

            AddNewTimeSeries(timeSeries_NewName);

            return(timeSeries_NewName.GetTimeSeries());
        }
        else
        {
            return(ListTimeSeries[SelectedRow].LeastSquareMethod(m, flag));
        }
    }
Пример #2
0
    public static List <Dimension> MovingAverageMethod(int n, int m)
    {
        if (CheckedUniqueNameTimeSeries(ListTimeSeries[SelectedRow].GetNameTimeSeries() + "_MovingAvg") == true)
        {
            TimeSeries timeSeries_NewName = new TimeSeries();
            timeSeries_NewName.SetNameTimeSeries(ListTimeSeries[SelectedRow].GetNameTimeSeries() + "_MovingAvg");
            timeSeries_NewName.SetColor(ListTimeSeries[SelectedRow].GetColor());
            timeSeries_NewName.Set_flag_sequence(ListTimeSeries[SelectedRow].Get_flag_sequence());


            timeSeries_NewName.SetTimeSeries(ListTimeSeries[SelectedRow].MovingAverageMethod(n, m));

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

            AddNewTimeSeries(timeSeries_NewName);

            return(timeSeries_NewName.GetTimeSeries());
        }
        else
        {
            return(ListTimeSeries[SelectedRow].MovingAverageMethod(n, m));
        }
    }
Пример #3
0
    public static List <Dimension> ExponentialSmoothingMethod(double a)
    {
        if (CheckedUniqueNameTimeSeries(ListTimeSeries[SelectedRow].GetNameTimeSeries() + "_ExpSmooth") == true)
        {
            TimeSeries timeSeries_NewName = new TimeSeries();
            timeSeries_NewName.SetNameTimeSeries(ListTimeSeries[SelectedRow].GetNameTimeSeries() + "_ExpSmooth");
            timeSeries_NewName.SetColor(ListTimeSeries[SelectedRow].GetColor());
            timeSeries_NewName.Set_flag_sequence(ListTimeSeries[SelectedRow].Get_flag_sequence());


            timeSeries_NewName.SetTimeSeries(ListTimeSeries[SelectedRow].ExponentialSmoothingMethod(a));

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

            AddNewTimeSeries(timeSeries_NewName);

            return(timeSeries_NewName.GetTimeSeries());
        }
        else
        {
            return(ListTimeSeries[SelectedRow].ExponentialSmoothingMethod(a));
        }
    }
        public void Parcer(OptionsParcerDataTable options)
        {
            timeSeries_.ClearTimeSeries();

            Microsoft.Office.Interop.Excel.Application ObjExcel    = new Microsoft.Office.Interop.Excel.Application();
            Microsoft.Office.Interop.Excel.Workbook    ObjWorkbook = ObjExcel.Workbooks.Open(FileName, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);;
            Microsoft.Office.Interop.Excel.Worksheet   ObjWorkSheet;
            ObjWorkSheet = ObjWorkbook.Sheets[options.Get_number_list()];

            for (int i = options.number_line_start_information; i <= options.number_line_end_information; i++)
            {
                Microsoft.Office.Interop.Excel.Range range_time  = ObjWorkSheet.get_Range(options.Get_name_column_time() + i.ToString(), options.Get_name_column_time() + i.ToString());
                Microsoft.Office.Interop.Excel.Range range_value = ObjWorkSheet.get_Range(options.Get_name_column_value() + i.ToString(), options.Get_name_column_value() + i.ToString());

                if (range_time.Text.ToString() == "" || range_value.Text.ToString() == "")
                {
                    //обнаружена пустая клетка
                    ObjExcel.Quit();
                    WindowError windowError = new WindowError("В файле присутствуют пустые поля");
                    windowError.Show();
                    return;
                }

                timeSeries_.Set_flag_sequence(options.flag_simplified_date);
                if (options.flag_simplified_date == true)
                {
                    timeSeries_.AddDimensionTime(new DateTime(int.Parse(range_time.Text), 1, 1), Double.Parse(range_value.Text));
                }
                else
                {
                    timeSeries_.AddDimensionTime(DateTime.Parse(range_time.Text), Double.Parse(range_value.Text));
                }
            }
            ObjExcel.Quit();
            timeSeries_.Sort();

            timeSeries_.SetColor(options.Get_color());
            timeSeries_.SetNameTimeSeries(options.Get_name());

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

            ResultParcer = true;
        }
Пример #5
0
    public static List <Dimension> Autocorrelation()
    {
        if (CheckedUniqueNameTimeSeries(ListTimeSeries[SelectedRow].GetNameTimeSeries() + "_Autocorrelation") == true)
        {
            TimeSeries timeSeries_NewName = new TimeSeries();
            timeSeries_NewName.SetNameTimeSeries(ListTimeSeries[SelectedRow].GetNameTimeSeries() + "_Autocorrelation");
            timeSeries_NewName.SetColor(ListTimeSeries[SelectedRow].GetColor());
            timeSeries_NewName.Set_flag_sequence(ListTimeSeries[SelectedRow].Get_flag_sequence());
            timeSeries_NewName.SetTimeSeries(ListTimeSeries[SelectedRow].Autocorrelation());

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

            AddNewTimeSeries(timeSeries_NewName);

            return(timeSeries_NewName.GetTimeSeries());
        }
        else
        {
            return(ListTimeSeries[SelectedRow].Autocorrelation());
        }
    }
Пример #6
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_σ();
                }
            }
        }