private static void rayleigh_sample_test() //****************************************************************************80 // // Purpose: // // RAYLEIGH_SAMPLE_TEST tests RAYLEIGH_SAMPLE. // // Licensing: // // This code is distributed under the GNU LGPL license. // // Modified: // // 27 February 2007 // // Author: // // John Burkardt // { const int SAMPLE_NUM = 1000; int j; int seed = 123456789; double[] x = new double [SAMPLE_NUM]; Console.WriteLine(""); Console.WriteLine("RAYLEIGH_SAMPLE_TEST"); Console.WriteLine(" RAYLEIGH_MEAN computes the Rayleigh mean;"); Console.WriteLine(" RAYLEIGH_SAMPLE samples the Rayleigh distribution;"); Console.WriteLine(" RAYLEIGH_VARIANCE computes the Rayleigh variance."); double a = 2.0E+00; Console.WriteLine(""); Console.WriteLine(" PDF parameter A = " + a + ""); if (!Rayleigh.rayleigh_check(a)) { Console.WriteLine(""); Console.WriteLine("RAYLEIGH_SAMPLE_TEST - Fatal error!"); Console.WriteLine(" The parameters are not legal."); return; } double mean = Rayleigh.rayleigh_mean(a); double variance = Rayleigh.rayleigh_variance(a); Console.WriteLine(" PDF mean = " + mean + ""); Console.WriteLine(" PDF variance = " + variance + ""); for (j = 0; j < SAMPLE_NUM; j++) { x[j] = Rayleigh.rayleigh_sample(a, ref seed); } mean = typeMethods.r8vec_mean(SAMPLE_NUM, x); variance = typeMethods.r8vec_variance(SAMPLE_NUM, x); double xmax = typeMethods.r8vec_max(SAMPLE_NUM, x); double xmin = typeMethods.r8vec_min(SAMPLE_NUM, x); Console.WriteLine(""); Console.WriteLine(" Sample size = " + SAMPLE_NUM + ""); Console.WriteLine(" Sample mean = " + mean + ""); Console.WriteLine(" Sample variance = " + variance + ""); Console.WriteLine(" Sample maximum = " + xmax + ""); Console.WriteLine(" Sample minimum = " + xmin + ""); }