public void GenerarNumerosC() { //Congruencial Mixto : Xn = (A * Xn-1 + C ) Mod M LimpiarTablas(); var c = int.Parse(txt_cC.Text); var a = int.Parse(txt_aC.Text); var m = int.Parse(txt_mC.Text); var semilla = double.Parse(txt_semillaC.Text); _generadorAleatorio = new CongruencialMixto(semilla, a, c, m); var tamañoMuestra = int.Parse(txt_cant_nroC.Text); var cantidadIntervalos = int.Parse(txt_IntC.Text); var alfa = double.Parse(txt_chicierto.Text); var distribucion = new DistribucionUniforme(0, 1, _generadorAleatorio); _gestor = new GestorEstadistico(distribucion, tamañoMuestra, cantidadIntervalos, alfa); foreach (var valor in _gestor.Valores) { _ord++; dataGridView1.Rows.Add(_ord, valor); } AgregarValoresTabla(); CargarHistograma(); }
public void GenerarNumerosA() { LimpiarTablas(); var a = int.Parse(txt_aA.Text); var m = int.Parse(txt_mA.Text); var semilla = double.Parse(txt_semillaA.Text); //Congruencial Multiplicativo : Xn = (A * Xn-1 ) Mod M if (radioButton2.Checked) { _generadorAleatorio = new CongruencialMultiplicativo(semilla, a, m); } //Congruencial Mixto : Xn = (A * Xn-1 + C ) Mod M else if (radioButton1.Checked) { var c = int.Parse(txt_cA.Text); _generadorAleatorio = new CongruencialMixto(semilla, a, c, m); } for (var i = 0; i < TamañoMuestra; i++) { var aleatorio = _generadorAleatorio.Generar(Cifras); _ord++; dataGridView1.Rows.Add(_ord, aleatorio); } }
public IGeneradorNumerosAleatorios InjectGeneradorNumerosAleatorios() { if (this.generadorNumerosAleatorios == null) { //this.generadorNumerosAleatorios = new GeneradorNumerosAleatoriosUniformeEjemplo(); this.generadorNumerosAleatorios = new GeneradorNumerosAleatoriosUniforme(); } return(this.generadorNumerosAleatorios); }
public DistribucionExponencialNegativa(double lambda, IGeneradorNumerosAleatorios generador) { if (lambda <= 0) { throw new NotSupportedException("Lambda debe ser un número positivo"); } Lambda = lambda; Generador = generador; }
public DistribucionExponencialNegativa(double lambda) { if (lambda <= 0) { throw new NotSupportedException("Lambda debe ser un número positivo"); } Lambda = lambda; Generador = new GeneradorDelSistema(); }
public DistribucionNormal(double media, double varianza, IGeneradorNumerosAleatorios generador) { if (varianza < 0) { throw new NotSupportedException("La varianza no puede ser negativa"); } Media = media; Varianza = varianza; Generador = generador; }
public DistribucionNormal(double media, double varianza) { if (varianza < 0) { throw new NotSupportedException("La varianza no puede ser negativa"); } Media = media; Varianza = varianza; Generador = new GeneradorDelSistema(); }
public DistribucionUniforme(double a, double b, IGeneradorNumerosAleatorios generador) { if (b <= a) { throw new NotSupportedException("A debe ser menor que B"); } A = a; B = b; Generador = generador; }
public DistribucionUniforme(double a, double b) { if (b <= a) { throw new NotSupportedException("A debe ser menor que B"); } A = a; B = b; Generador = new GeneradorDelSistema(); }
public void AsignarGenerador(IGeneradorNumerosAleatorios generador) { Generador = generador; }
public GeneradorPartidasDistribucionExponencial(decimal media, IGeneradorNumerosAleatorios generadorNumerosAleatorios) { this.media = media; this.generadorNumerosAleatorios = generadorNumerosAleatorios; }
public void GenerarNumeros() { LimpiarTablas(); if (radioButton3.Checked) { _generadorAleatorio = new GeneradorDelSistema(); } else { var a = int.Parse(txt_aA.Text); var m = int.Parse(txt_mA.Text); var semilla = double.Parse(txt_semillaA.Text); //Congruencial Multiplicativo : Xn = (A * Xn-1 ) Mod M if (radioButton2.Checked) { _generadorAleatorio = new CongruencialMultiplicativo(semilla, a, m); } //Congruencial Mixto : Xn = (A * Xn-1 + C ) Mod M else if (radioButton1.Checked) { var c = int.Parse(txt_cA.Text); _generadorAleatorio = new CongruencialMixto(semilla, a, c, m); } } 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 = double.Parse(txt_chicierto.Text); try { _gestor = new GestorEstadistico(_distribucion, tamañoMuestra, cantidadIntervalos, alfa); } catch (Exception) { var grados = int.Parse(txt_IntC.Text) - _distribucion.CantidadParametros() - 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 = _gestor.Valores[i]; dataGridView1.Rows.Add(i + 1, valor); } AgregarValoresTabla(); CargarHistograma(); }
public void GenerarNumeros() { dgvResultadosDistribucion.Rows.Clear(); if (rbGSistema.Checked) { IGeneradorAleatorio = new GeneradorDelSistema(); } else { var a = int.Parse(txtMultiplicativoA.Text); var m = int.Parse(txtDivisorM.Text); var semilla = float.Parse(txtSemillaA.Text); //Congruencial Multiplicativo : Xn = (A * Xn-1 ) Mod M if (rbGCMultiplicativo.Checked) { IGeneradorAleatorio = new CongruencialMultiplicativo(semilla, a, m); } //Congruencial Mixto : Xn = (A * Xn-1 + C ) Mod M else if (rbGCMixto.Checked) { var c = int.Parse(txtSumatorioC.Text); IGeneradorAleatorio = new CongruencialMixto(semilla, a, c, m); } } if (rbDUniforme.Checked) { var a = float.Parse(txtMargenAU.Text); var b = float.Parse(txtMargenBU.Text); IDistribucion = new DistribucionUniforme(a, b, IGeneradorAleatorio); } if (rbDNormal.Checked) { var media = float.Parse(txtMedia.Text); var varianza = float.Parse(txtVarianza.Text); IDistribucion = new DistribucionNormal(media, varianza, IGeneradorAleatorio); } if (rbDExponencial.Checked) { var lambda = float.Parse(txtLambda.Text); IDistribucion = new DistribucionExponencialNegativa(lambda, IGeneradorAleatorio); } //} //} var tamañoMuestra = string.IsNullOrEmpty(txtCantNro.Text) ? 100 : int.Parse(txtCantNro.Text); var cantidadIntervalos = string.IsNullOrEmpty(txtIntervalos.Text) ? 100 : int.Parse(txtIntervalos.Text); var alfa = (float)0.5; try { gestor = new GestorEstadistico(IDistribucion, tamañoMuestra, cantidadIntervalos, alfa); } catch (Exception e) { MessageBox.Show(e.Message); txtDivisorM.Focus(); return; } }
public GeneradorArribosDistribucionExponencial(IGeneradorNumerosAleatorios generadorNumerosAleatorios) { this.generadorNumerosAleatorios = generadorNumerosAleatorios; }