Beispiel #1
0
    private static void zipf_cdf_test()

//****************************************************************************80
//
//  Purpose:
//
//    ZIPF_CDF_TEST tests ZIPF_CDF, ZIPF_CDF_INV, ZIPF_PDF.
//
//  Licensing:
//
//    This code is distributed under the GNU LGPL license.
//
//  Modified:
//
//    09 March 2016
//
//  Author:
//
//    John Burkardt
//
    {
        int x;

        Console.WriteLine("");
        Console.WriteLine("ZIPF_CDF_TEST");
        Console.WriteLine("  ZIPF_CDF evaluates the Zipf CDF;");
        Console.WriteLine("  ZIPF_CDF_INV inverts the Zipf CDF;");
        Console.WriteLine("  ZIPF_PDF evaluates the Zipf PDF;");

        double a = 2.0E+00;

        Console.WriteLine("");
        Console.WriteLine("  PDF parameter A =             " + a + "");

        if (!Zipf.zipf_check(a))
        {
            Console.WriteLine("");
            Console.WriteLine("ZIPF_CDF_TEST - Fatal error!");
            Console.WriteLine("  The parameters are not legal.");
            return;
        }

        Console.WriteLine("");
        Console.WriteLine("       X            PDF           CDF    CDF_INV()");
        Console.WriteLine("");

        for (x = 1; x <= 20; x++)
        {
            double pdf = Zipf.zipf_pdf(x, a);
            double cdf = Zipf.zipf_cdf(x, a);
            int    x2  = Zipf.zipf_cdf_inv(a, cdf);

            Console.WriteLine("  "
                              + x.ToString(CultureInfo.InvariantCulture).PadLeft(12) + "  "
                              + pdf.ToString(CultureInfo.InvariantCulture).PadLeft(12) + "  "
                              + cdf.ToString(CultureInfo.InvariantCulture).PadLeft(12) + "  "
                              + x2.ToString(CultureInfo.InvariantCulture).PadLeft(12) + "");
        }
    }