private static void chi_square_noncentral_sample_test() //****************************************************************************80 // // Purpose: // // CHI_SQUARE_NONCENTRAL_SAMPLE_TEST tests CHI_SQUARE_NONCENTRAL_SAMPLE. // // Licensing: // // This code is distributed under the GNU LGPL license. // // Modified: // // 12 April 2016 // // Author: // // John Burkardt // { const int SAMPLE_NUM = 1000; int i; const int seed_init = 123456789; double[] x = new double [SAMPLE_NUM]; Console.WriteLine(""); Console.WriteLine("CHI_SQUARE_NONCENTRAL_SAMPLE_TEST"); Console.WriteLine(" CHI_SQUARE_NONCENTRAL_MEAN computes the Chi Square Noncentral mean;"); Console.WriteLine(" CHI_SQUARE_NONCENTRAL_SAMPLE samples the Chi Square Noncentral distribution;"); Console.WriteLine(" CHI_SQUARE_NONCENTRAL_VARIANCE computes the Chi Square Noncentral variance;"); const double a = 3.0; const double b = 2.0; Console.WriteLine(""); Console.WriteLine(" PDF parameter A = " + a + ""); Console.WriteLine(" PDF parameter B = " + b + ""); if (!Chi.chi_square_noncentral_check(a, b)) { Console.WriteLine(""); Console.WriteLine("CHI_SQUARE_NONCENTRAL_SAMPLE_TEST - Fatal error!"); Console.WriteLine(" The parameters are not legal."); return; } double mean = Chi.chi_square_noncentral_mean(a, b); double variance = Chi.chi_square_noncentral_variance(a, b); Console.WriteLine(""); Console.WriteLine(" PDF mean = " + mean + ""); Console.WriteLine(" PDF variance = " + variance + ""); int seed = seed_init; for (i = 0; i < SAMPLE_NUM; i++) { x[i] = Chi.chi_square_noncentral_sample(a, b, 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(" Initial seed = " + seed_init + ""); Console.WriteLine(" Final seed = " + seed + ""); 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 + ""); }