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)); } }
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)); } }
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; }
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()); } }
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_σ(); } } }