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));
            }
        }
 public Double getYforX(double x)
 {
     try
     {
         if (DistribucionContinua != null)
         {
             return(DistribucionContinua.QuantileDensityFunction(x));
         }
         else
         {
             return(DistribucionDiscreta.QuantileDensityFunction(x));
         }
     }
     catch (Exception)
     {
         return(-1);
     }
 }