private void CalcConvolutionButton_Click(object sender, RoutedEventArgs e) { ConvolutionTabItem.IsEnabled = true; ConvolutionTabItem.IsSelected = true; _yForwardFourier = _FourierTransform.ForwardTransform(_yFuncResults); _zForwardFourier = _FourierTransform.ForwardTransform(_zFuncResults); var temp = new Complex[N]; for (int i = 0; i < N; i++) { temp[i] = _yForwardFourier[i] * _zForwardFourier[i]; } _convolutionResults = _FourierTransform.BackwardTransform(temp); int j = 0; foreach (var convolRes in _convolutionResults) { ConvolutionChartValues.Add(new ChartValue(_args[j], convolRes)); j++; } }
private void ReverseTransformButton_Click(object sender, RoutedEventArgs e) { double[] res = _FourierTransform.BackwardTransform(_fourierTransformResults); Complex[] resD = _FourierTransform.DiscretFourier(_discrRes, false); int j = 0; ReverseFourierChartValues.Clear(); foreach (var r in res) { ReverseFourierChartValues.Add(new ChartValue(BaseChartValues[j].X, r)); DiscrReverseFourierChartValues.Add(new ChartValue(BaseChartValues[j].X, resD[j].Real)); j++; } ReverseTransformTabItem.IsEnabled = true; ReverseTransformTabItem.IsSelected = true; }