public Dictionary <double, double> ObtenerDensidadInversa(int cantidad)
        {
            Dictionary <double, double> densidades = new Dictionary <double, double>();
            var rand = new Random();

            double[] arr = new double[cantidad];
            for (int i = 0; i < cantidad; i++)
            {
                arr[i] = rand.NextDouble();
            }
            arr = arr.Distinct().ToArray();
            try
            {
                if (DistribucionContinua != null)
                {
                    foreach (var item in arr)
                    {
                        densidades.Add(item, DistribucionContinua.QuantileDensityFunction(item));
                    }
                }
                else
                {
                    foreach (var item in arr)
                    {
                        densidades.Add(item, DistribucionDiscreta.QuantileDensityFunction(item));
                    }
                }
                return(densidades.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value));
            }
            catch (Exception)
            {
                FuncionDensidadProbabilidad aux = FactoryFuncionDensidad.Instancia(FuncionDensidad.LOG_LOGISTICA, arr);
                return(aux.ObtenerDensidadInversa(cantidad));
            }
        }
예제 #2
0
 public ResultadoAjuste(string Funcion, string Inversa, double DesvioEstandar, double Media, double Varianza, FuncionDensidadProbabilidad fdp)
 {
     this.Funcion        = Funcion;
     this.Inversa        = Inversa;
     this.DesvioEstandar = DesvioEstandar;
     this.Media          = Media;
     this.Varianza       = Varianza;
     this.FDP            = fdp;
 }