예제 #1
0
        public void generarNumeros()
        {
            KolmogorovSmirnov kolmogorovSmirnov = new KolmogorovSmirnov();

            if (IsNumeric(SemillaInput.Text) || IsNumeric(MultiplicadorInput.Text) || IsNumeric(IncrementoInput.Text) || IsNumeric(ModuloInput.Text) || IsNumeric(IteracionesInput.Text))
            {
                int    semilla         = Int32.Parse(SemillaInput.Text);
                int    multiplicador   = Int32.Parse(MultiplicadorInput.Text);
                int    incremento      = Int32.Parse(IncrementoInput.Text);
                int    iteraciones     = Int32.Parse(IteracionesInput.Text);
                int    modulo          = Int32.Parse(ModuloInput.Text);
                int    semillaTemporal = 0;
                double resultado       = 0.0;

                if (validacionHD(multiplicador, incremento, modulo))
                {
                    List <IteracionCongruencialMixta> iteracionesLista = new List <IteracionCongruencialMixta>();
                    List <double> numAl = new List <double>();

                    for (int i = 0; i < iteraciones; i++)
                    {
                        semillaTemporal = semilla;
                        semilla         = (multiplicador * semilla + incremento) % modulo;
                        resultado       = (double)semilla / modulo;

                        iteracionesLista.Add(new IteracionCongruencialMixta(semillaTemporal, semilla, resultado, multiplicador, incremento, modulo));
                        numAl.Add(resultado);
                    }

                    DataGridCongruencial.ItemsSource = iteracionesLista;
                    bool valoracionKolmogorov = kolmogorovSmirnov.kolmogorov(numAl, boxSignificancia.Text);
                    if (kolmogorovSmirnov.kolmogorov(numAl, boxSignificancia.Text))
                    {
                        ResultadoKol.Content    = "Se acepta la prueba";
                        ResultadoKol.Foreground = Brushes.Green;
                    }
                    else
                    {
                        ResultadoKol.Content    = "Se rechaza la prueba";
                        ResultadoKol.Foreground = Brushes.Red;
                    }
                }
            }
            else
            {
                MessageBox.Show("Los valores ingresados no son numéricos");
            }
        }
예제 #2
0
        public void generarNumeros()
        {
            KolmogorovSmirnov kolmogorovSmirnov = new KolmogorovSmirnov();

            if (IsNumeric(SemillaInput.Text) || IsNumeric(IteracionesInput.Text))
            {
                int    semilla         = Int32.Parse(SemillaInput.Text);
                int    iteraciones     = Int32.Parse(IteracionesInput.Text);
                int    semillaTemporal = 0;
                double resultado       = 0.0;
                int    resultante      = 0;


                List <Iteracion> iteracionesLista = new List <Iteracion>();

                List <double> numAl     = new List <double>();
                char[]        numString = new char[8];
                for (int i = 0; i < iteraciones; i++)
                {
                    semillaTemporal = semilla;
                    semilla         = semilla * semilla;
                    resultante      = semilla;
                    numString       = semilla.ToString().ToCharArray();
                    semilla         = getNum(numString);
                    resultado       = (double)semilla / 10000;
                    iteracionesLista.Add(new Iteracion(semillaTemporal, resultante, semilla, resultado));
                    numAl.Add(resultado);
                }

                DataGridGenerador.ItemsSource = iteracionesLista;
                bool valoracionKolmogorov = kolmogorovSmirnov.kolmogorov(numAl, boxSignificancia.Text);
                if (kolmogorovSmirnov.kolmogorov(numAl, boxSignificancia.Text))
                {
                    ResultadoKol.Content    = "Se acepta la prueba";
                    ResultadoKol.Foreground = Brushes.Green;
                }
                else
                {
                    ResultadoKol.Content    = "Se rechaza la prueba";
                    ResultadoKol.Foreground = Brushes.Red;
                }
            }
            else
            {
                MessageBox.Show("Los valores ingresados no son numéricos");
            }
        }