Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
        }