예제 #1
0
        private void btnGenerar_Click_1(object sender, EventArgs e)
        {
            dgvTabla.Rows.Clear();
            dgvChiCuadrado.Rows.Clear();
            chrtDistribucion.Visible = true;

            int[] intervalos          = calcularIntervalos();
            int[] frecuenciaObservada = calcularFrecuenciaObservada(intervalos);


            for (int i = 0; i < frecuenciaObservada.Length; i++)
            {
                float probabilidad = distribucion.calcularProbabilidad(intervalos[i], 0, 0);

                dgvTabla.Rows.Add(intervalos[i], frecuenciaObservada[i], probabilidad, probabilidad * numeros.Length);
            }

            generarGrafico(intervalos, frecuenciaObservada);
            string[,] intervalosChi = chiCuadrado();
            generarGraficoChi(intervalosChi);
            lblCalculadoRes.Text     = getAcumulado().ToString();
            lblCalculadoRes.Visible  = true;
            lblTablaRes.Text         = tablaChiCuadrado().ToString();
            lblTablaRes.Visible      = true;
            chrtChi.Visible          = true;
            chrtDistribucion.Visible = true;
            conclusion();
        }
예제 #2
0
        private void btnGenerar_Click_1(object sender, EventArgs e)
        {
            if (int.TryParse(txtCantInter.Text, out cantIntervalos))
            {
                dgvTabla.Rows.Clear();
                dgvChiCuadrado.Rows.Clear();
                chrtDistribucion.Visible = true;

                double[,] intervalos = calcularIntervalos();
                double[] frecuenciaObservada = calcularFrecuenciaObservada(intervalos);


                for (int i = 0; i < frecuenciaObservada.Length; i++)
                {
                    float marcaClase   = (float)(intervalos[i, 0] + intervalos[i, 1]) / 2;
                    float probabilidad = Math.Abs(distribucion.calcularProbabilidad(marcaClase, intervalos[i, 0], intervalos[i, 1]));

                    dgvTabla.Rows.Add(Math.Truncate(10000 * intervalos[i, 0]) / 10000, Math.Truncate(10000 * intervalos[i, 1]) / 10000, marcaClase, frecuenciaObservada[i], probabilidad, calcularFrecuenciaEsperada(probabilidad, numeros.Length));
                }

                generarGrafico(intervalos, frecuenciaObservada);
                string[,] intervalosChi = chiCuadrado();
                generarGraficoChi(intervalosChi);
                lblCalculadoRes.Text    = getAcumulado().ToString();
                lblCalculadoRes.Visible = true;
                lblTablaRes.Text        = tablaChiCuadrado().ToString();
                lblTablaRes.Visible     = true;
                conclusion();
                chrtDistribucion.Visible = true;
                chrtChi.Visible          = true;
            }
            else
            {
                MessageBox.Show("Por favor ingrese la cantidad de intervalos deseada", "Variables ingresadas", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtCantInter.Focus();
            }
        }