private void generarDistribucion() { if (rad_uniforme.Checked) { var a = double.Parse(txt_a.Text); var b = double.Parse(txt_b.Text); _distribucion = new DistribucionUniforme(a, b, _generadorAleatorio); } if (rad_normal.Checked) { var media = double.Parse(txt_media.Text); var varianza = double.Parse(txt_varianza.Text); _distribucion = new DistribucionNormal(media, varianza, _generadorAleatorio); } if (rad_exponencial.Checked) { var lambda = double.Parse(txt_lambda.Text); _distribucion = new DistribucionExponencialNegativa(lambda, _generadorAleatorio); } var tamañoMuestra = int.Parse(txt_cant_nroC.Text); var cantidadIntervalos = int.Parse(txt_IntC.Text); var alfa = txt_chicierto.Text; try { _pruebaChiCuadrado = new PruebaChiCuadrado(_distribucion, tamañoMuestra, cantidadIntervalos, alfa); } catch (Exception) { var grados = int.Parse(txt_IntC.Text) - _distribucion.getCantidadParametros() - 1; MessageBox.Show(grados <= 0 ? @"Grados de libertad insuficientes, utilice más intervalos" : @"Falla la prueba de Chi Cuadrado porque las frecuencias esperadas tienden a cero, utilice menos intervalos"); txt_mA.Focus(); return; } for (var i = 0; i < tamañoMuestra; i++) { var valor = _pruebaChiCuadrado._valores[i]; dataGridView1.Rows.Add(i + 1, valor); } CompletarTabla(3); }
public grafico(PruebaChiCuadrado pruebachi) { InitializeComponent(); _pruebaChiCuadrado = pruebachi; cargarHistograma(3); }