Exemplo n.º 1
0
        private void OnClickGenerarChiMixto(object sender, EventArgs e)
        {
            try
            {
                gridRandomsMixto.Rows.Clear();
                gridChiCuadradoMixto.Rows.Clear();

                Stopwatch watch = new Stopwatch();
                watch.Start();

                int semillaMixto = txtControlledSemillaMixto.GetStoredInput();
                int aMixto       = txtControlledAMixto.GetStoredInput();
                int cMixto       = txtControlledCMixto.GetStoredInput();
                int mMixto       = txtControlledMMixto.GetStoredInput();
                int nroMuestra   = txtControlledNroMuestrasMixto.GetStoredInput();

                Generador generadorMixto = new Generador(semillaMixto, aMixto, cMixto, mMixto);


                List <decimal> listaMixtos = generadorMixto.Generar(nroMuestra);

                // Llenando la tabla de Numeros Random Mixto
                for (int i = 0; i < listaMixtos.Count; i++)
                {
                    DataGridViewRow         fila         = new DataGridViewRow();
                    DataGridViewTextBoxCell colIteracion = new DataGridViewTextBoxCell();
                    DataGridViewTextBoxCell colAleatorio = new DataGridViewTextBoxCell();

                    colAleatorio.Value = listaMixtos[i].ToString("F4");
                    colIteracion.Value = i + 1;
                    fila.Cells.Add(colIteracion);
                    fila.Cells.Add(colAleatorio);
                    gridRandomsMixto.Rows.Add(fila);
                }

                // Llenando la tabla de Chi Cuadrado Mixto
                Int32 intervalos = Int32.Parse(cmbIntervalosMixto.Text);
                CalculadorChiCuadrado calculadorChiCuadradoMixto = new CalculadorChiCuadrado(gridChiCuadradoMixto, intervalos, listaMixtos, graficoChiMixto);

                //Metodo que realiza todo el trabajo
                calculadorChiCuadradoMixto.Calcular();

                //Calcular Media y Varianza (Mixto)

                Calculador calculadora = new Calculador(listaMixtos);

                decimal mediaMixto = calculadora.calcularMedia();

                decimal varianzaMixto = calculadora.calcularVarianza();

                panelMixto.Enabled = true;

                lblMediaMixto.Text    = "Media: " + mediaMixto.ToString("F4");
                lblVarianzaMixto.Text = "Varianza: " + varianzaMixto.ToString("F4");


                // Calcular Grados de Libertad (Mixto)

                int gradosLibertadMixto = Convert.ToInt32(cmbIntervalosMixto.SelectedItem) - 1;

                lblGradosLibertadMixto.Text = "Grados de libertad: " + gradosLibertadMixto;

                watch.Stop();
                lblTiempo2.Text = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
                                                watch.Elapsed.Hours, watch.Elapsed.Minutes, watch.Elapsed.Seconds,
                                                watch.Elapsed.Milliseconds / 10);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "ERROR!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemplo n.º 2
0
        private void OnClickGenerarChi(object sender, EventArgs e)
        {
            try
            {
                Int32 nroMuestras = txtControlledNroMuestras.GetStoredInput();

                gridRandomsLenguaje.Rows.Clear();
                gridChiCuadradoLenguaje.Rows.Clear();

                Stopwatch watch = new Stopwatch();
                watch.Start();

                List <decimal> listaAleatorios = new List <decimal>();
                Random         random          = new Random();

                // Llenando la tabla de Numeros Random Lenguaje
                for (int i = 0; i < nroMuestras; i++)
                {
                    decimal                 nroAleatorio = Convert.ToDecimal(random.NextDouble());
                    DataGridViewRow         fila         = new DataGridViewRow();
                    DataGridViewTextBoxCell colIteracion = new DataGridViewTextBoxCell();
                    DataGridViewTextBoxCell colAleatorio = new DataGridViewTextBoxCell();

                    colAleatorio.Value = nroAleatorio.ToString("F4");
                    colIteracion.Value = i + 1;
                    fila.Cells.Add(colIteracion);
                    fila.Cells.Add(colAleatorio);
                    gridRandomsLenguaje.Rows.Add(fila);
                    listaAleatorios.Add(nroAleatorio);
                }


                // Llenando la tabla de Chi Cuadrado normal
                Int32 intervalos = Int32.Parse(cmbIntervalos.Text);
                calculadorChiCuadrado = new CalculadorChiCuadrado(gridChiCuadradoLenguaje, intervalos, listaAleatorios, graficoChiLenguaje);

                //Metodo que realiza todo el trabajo
                calculadorChiCuadrado.Calcular();

                //Calcular Media y Varianza

                Calculador calculadora = new Calculador(listaAleatorios);

                decimal media = calculadora.calcularMedia();

                decimal varianza = calculadora.calcularVarianza();

                panelLenguaje.Enabled = true;

                lblMedia.Text    = "Media: " + media.ToString("F4");
                lblVarianza.Text = "Varianza: " + varianza.ToString("F4");


                // Calcular Grados de Libertad

                int gradosLibertad = Convert.ToInt32(cmbIntervalos.SelectedItem) - 1;

                lblGradosLibertad.Text = "Grados de libertad: " + gradosLibertad;

                watch.Stop();
                lblTiempo1.Text = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
                                                watch.Elapsed.Hours, watch.Elapsed.Minutes, watch.Elapsed.Seconds,
                                                watch.Elapsed.Milliseconds / 10);
            }
            catch (ArgumentException ex)
            {
                MessageBox.Show(ex.Message, "ERROR!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }