private void btnRealizarOperacion_Click(object sender, RoutedEventArgs e) { señalResultado = null; switch (cbTipoOperacion.SelectedIndex) { case 0: //Suma señalResultado = Señal.sumar(señal, segundaSeñal); break; case 1: //Multiplicacion señalResultado = Señal.multiplicar(señal, segundaSeñal); break; case 2: //Convolcion señalResultado = Señal.convolucionar(señal, segundaSeñal); break; case 3: //Convolcion señalResultado = Señal.convolucionados(señal, segundaSeñal); break; default: break; } señalResultado.actualizarAmplitudMaxima(); plnGraficaResultado.Points.Clear(); lblAmplitudMaximaY_Resultado.Text = señalResultado.AmplitudMaxima.ToString("F"); lblAmplitudMaximaNegativaY_Resultado.Text = "-" + señalResultado.AmplitudMaxima.ToString("F"); //PRIMERA SEÑAL if (señalResultado != null) { //Recorre todos los elementos de una coleccion o arreglo foreach (Muestra muestra in señalResultado.Muestras) { plnGraficaResultado.Points.Add(new Point((muestra.X - señalResultado.TiempoInicial) * scrContenedor_Resultado.Width, (muestra.Y / señalResultado.AmplitudMaxima * ((scrContenedor_Resultado.Height / 2.0) - 30) * -1) + (scrContenedor.Height / 2))); } } plnEjeXResultado.Points.Clear(); //Punto del principio plnEjeXResultado.Points.Add(new Point(0, (scrContenedor_Resultado.Height / 2))); //Punto del final plnEjeXResultado.Points.Add(new Point((señalResultado.TiempoFinal - señalResultado.TiempoInicial) * scrContenedor_Resultado.Width, (scrContenedor_Resultado.Height / 2))); plnEjeYResultado.Points.Clear(); //Punto del principio plnEjeYResultado.Points.Add(new Point((0 - señalResultado.TiempoInicial) * scrContenedor_Resultado.Width, (señal.AmplitudMaxima * ((scrContenedor_Resultado.Height / 2.0) - 30) * -1) + (scrContenedor_Resultado.Height / 2))); //Punto del final- plnEjeYResultado.Points.Add(new Point((0 - señalResultado.TiempoInicial) * scrContenedor_Resultado.Width, (-señal.AmplitudMaxima * ((scrContenedor_Resultado.Height / 2.0) - 30) * -1) + (scrContenedor_Resultado.Height / 2))); }