//======================================================== file = lec5a.c ===== //= Program to demonstrate inversion method of generating an RV = //============================================================================= //= Build: bcc32 lec5a.c, cl lec5a.c, gcc lec5a.c = //=---------------------------------------------------------------------------= //= Execute: lec5a = //=---------------------------------------------------------------------------= //= History: KJC (05/29/11) - Refresh from old version = //============================================================================= //----- Include files --------------------------------------------------------- #include // Needed for printf() #include // Needed for rand() and RAND_MAX #include // Needed for log() //----- Include files --------------------------------------------------------- #define NUM_SAMPLES 100000 // The number of samples to generate //----- Function prototypes --------------------------------------------------- double exponential(double x); // Returns an exponential random variable double compute_mean(double *x); double compute_variance(double *x, double mean); //===== Main program ========================================================== void main() { double lambda; // Exponential rate parameter double x[NUM_SAMPLES]; // Number of samples double mean, variance; // Mean and variance of x int i; // Loop counter // Set lambda value lambda = 0.5; // Generate samples for (i=0; i