private void GuardarSalida(PerceptronMulticapa neurona)
        {
            try
            {
                StreamWriter archivo  = new StreamWriter("entrenamiento.txt");
                string       auxiliar = "";
                for (int i = 1; i < neurona.nArquitectura.Length; i++)
                {
                    auxiliar += " " + neurona.nArquitectura[i];
                }
                archivo.WriteLine(neurona.nArquitectura.Length - 1 + auxiliar);
                archivo.WriteLine(neurona.Alfa);
                archivo.WriteLine(errorMinimo);

                for (int i = 1; i <= neurona.Capas - 1; i++)
                {
                    for (int j = 1; j <= neurona.nArquitectura[i + 1]; j++)
                    {
                        for (int k = 1; k <= neurona.nArquitectura[i]; k++)
                        {
                            archivo.WriteLine(neurona.wPesos[i, k, j]);
                        }
                    }
                }

                archivo.WriteLine("\n");

                for (int i = 2; i <= neurona.Capas; i++)
                {
                    for (int j = 1; j <= neurona.nArquitectura[i]; j++)
                    {
                        archivo.WriteLine(neurona.uUmbralesRed[i, j]);
                    }
                }

                archivo.WriteLine("\n");

                for (int i = 0; i < neurona.numeroPatrones; i++)
                {
                    for (int j = 0; j < neurona.nArquitectura[i]; j++)
                    {
                        archivo.WriteLine(neurona.sPatronesDeseados[i, j] + "\t" + neurona.ySalida[i, j]);
                    }
                }
                archivo.WriteLine("\n");
                archivo.WriteLine(neurona.errorEntrenamiento);
                archivo.Close();

                MessageBox.Show("Archivo Creado", "Mensaje del Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
        /// <summary>
        /// Metodo boton para llamar a lecturaTxt
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_Entrenar_Click(object sender, EventArgs e)
        {
            lecturaTxt();
            try
            {
                int[] auxiliar = new int[numCapas + 1];
                Array.Copy(arquitecturaRed, auxiliar, arquitecturaRed.Length);
                Array.Sort(auxiliar);

                neuronasMaximas = auxiliar[auxiliar.Length - 1];
                PerceptronMulticapa neuronas = new PerceptronMulticapa();
                neuronas.numeroPatrones = numPatrones;
                neuronas.nArquitectura  = numArquitecturatRed;
                neuronas.xEntrada       = patronEntrada;

                neuronas.errorEntrenamiento = 1;
                neuronas.Capas             = numCapas;
                neuronas.aActivacion       = new double[neuronas.Capas + 1, (int)neuronasMaximas + 1];
                neuronas.ySalida           = new double[neuronas.numeroPatrones + 1, numArquitecturatRed[neuronas.Capas] + 1];
                neuronas.Delta             = new double[neuronas.Capas + 1, (int)neuronasMaximas + 1];
                neuronas.sPatronesDeseados = new double[neuronas.numeroPatrones + 1, numArquitecturatRed[neuronas.Capas] + 1];
                neuronas.errorCuadratico   = 0;
                neuronas.Alfa = alfa;
                neuronas.sPatronesDeseados = patronSalida;
                neuronas.crearPesos();
                neuronas.crearUmbrales();
                neuronas.encuentraMaxMinEntradas();
                neuronas.encuentraMaxMinSalidas();
                neuronas.normalizarEntrada();
                neuronas.normalizarSalida();

                while (neuronas.errorEntrenamiento >= errorMinimo && interacciones >= 0)
                {
                    neuronas.errorCuadratico = 0;
                    for (int i = 0; i < numPatrones; i++)
                    {
                        neuronas.activarEntrada(i);
                        neuronas.propagacionNeuronal();
                        neuronas.errorCuadrat(i);
                        neuronas.retroPropagacion(i);
                    }
                    neuronas.errorAprendizaje();
                    interacciones--;
                }
                GuardarSalida(neuronas);
            }
            catch (Exception ex)
            {
                MessageBox.Show("--> " + ex);
            }
        }