private void Boton_Prueba_Click(object sender, RoutedEventArgs e) { stackPanel_TexboxSalidas.Children.Clear(); double[] entradas = new double[textBoxesEntradas.Count]; for (int i = 0; i < textBoxesEntradas.Count; i++) { entradas[i] = ProcesadorCSV.Normalize(Convert.ToDouble(textBoxesEntradas[i].Text), configuracion.ValorMinEntradas, configuracion.ValorMaxEntradas); } if (perceptron == null) { MessageBox.Show("No se ha configurado ningun perceptron, configure o habra un previo entrenamiento"); return; } double[] salidas = perceptron.Activacion(entradas); for (int i = 0; i < configuracion.Salidas; i++) { TextBlock salida = new TextBlock(); salida.Text = string.Format("Salida {0} : {1}", i + 1, ProcesadorCSV.InverseNormalize(salidas[i], configuracion.ValorMinSalida, configuracion.ValorMaxSalida)); salida.FontSize = 40; salida.Margin = new Thickness(15, 10, 10, 10); salida.Foreground = new SolidColorBrush(Color.FromRgb(19, 143, 19)); stackPanel_TexboxSalidas.Children.Add(salida); } }
private void Boton_EmpezarEscaneo_Click(object sender, RoutedEventArgs e) { DataGridCSV.InvalidateVisual(); switch (configuracion.ModoDeEscaneo) { case Modo.Automatico: Procesador = new ProcesadorCSV(archivo); configuracion.Entradas = Procesador.ConteoDeEntradas; configuracion.Salidas = Procesador.ConteoDeSalidas; configuracion.ValorMaxSalida = Procesador.ValorMaxS; configuracion.ValorMinSalida = Procesador.ValorMinS; configuracion.ValorMinEntradas = Procesador.ValorMinE; configuracion.ValorMaxEntradas = Procesador.ValorMaxE; configuracion.DataTable = Procesador.DataTable; configuracion.DatosDeEntrada = Procesador.Entradas; configuracion.DatosDeSalida = Procesador.Salidas; txt_ValorMinimoEntrada.Text = configuracion.ValorMinEntradas.ToString(); txt_ValorMaximoEntrada.Text = configuracion.ValorMaxEntradas.ToString(); txt_ValorMaximo.Text = configuracion.ValorMaxSalida.ToString(); txt_ValorMinimo.Text = configuracion.ValorMinSalida.ToString(); txt_CantidadEntradas.Text = configuracion.Entradas.ToString(); txt_CantidadSalidas.Text = configuracion.Salidas.ToString(); break; case Modo.Semiautomatico: Procesador = new ProcesadorCSV(archivo, Convert.ToDouble(txt_ValorMinimo.Text), Convert.ToDouble(txt_ValorMaximo.Text), Convert.ToDouble(txt_ValorMinimoEntrada.Text), Convert.ToDouble(txt_ValorMaximoEntrada.Text)); configuracion.Entradas = Procesador.ConteoDeEntradas; configuracion.Salidas = Procesador.ConteoDeSalidas; configuracion.ValorMaxSalida = Convert.ToDouble(txt_ValorMaximo.Text); configuracion.ValorMaxSalida = Convert.ToDouble(txt_ValorMinimo.Text); configuracion.ValorMinSalida = Convert.ToDouble(txt_ValorMinimoEntrada.Text); configuracion.ValorMinEntradas = Convert.ToDouble(txt_ValorMaximoEntrada.Text); configuracion.DataTable = Procesador.DataTable; configuracion.DatosDeEntrada = Procesador.Entradas; configuracion.DatosDeSalida = Procesador.Salidas; txt_CantidadEntradas.Text = configuracion.Entradas.ToString(); txt_CantidadSalidas.Text = configuracion.Salidas.ToString(); break; case Modo.manual: Procesador = new ProcesadorCSV(archivo, Convert.ToInt32(txt_CantidadEntradas.Text), Convert.ToInt32(txt_CantidadSalidas.Text), Convert.ToDouble(txt_ValorMinimo.Text), Convert.ToDouble(txt_ValorMaximo.Text), Convert.ToDouble(txt_ValorMinimoEntrada.Text), Convert.ToDouble(txt_ValorMaximoEntrada.Text)); configuracion.Entradas = Convert.ToInt32(txt_CantidadEntradas.Text); configuracion.Salidas = Convert.ToInt32(txt_CantidadSalidas.Text); configuracion.ValorMaxSalida = Convert.ToDouble(txt_ValorMaximo.Text); configuracion.ValorMaxSalida = Convert.ToDouble(txt_ValorMinimo.Text); configuracion.ValorMinSalida = Convert.ToDouble(txt_ValorMinimoEntrada.Text); configuracion.ValorMinEntradas = Convert.ToDouble(txt_ValorMaximoEntrada.Text); configuracion.DataTable = Procesador.DataTable; configuracion.DatosDeEntrada = Procesador.Entradas; configuracion.DatosDeSalida = Procesador.Salidas; break; default: break; } configuracion.DataTable = Procesador.DataTable; DataGridCSV.ItemsSource = Procesador.DataTable.DefaultView; GeneradorDeES(configuracion.Entradas, configuracion.Salidas); }