/* * Exmaples Sheet 3 example problem * * Integrate: * I = \int_{0}^{\infty} \frac{1}{\sqrt{2\pi(1+x)}} e^{-\frac{x^2}{4\kappa}} dx * with classes * */ #include #include #include const double Pi=4.*atan(1.); // integrand function class Integrand { public: // parameter kappa double kappa; // function operator double operator()(double x) { return exp(-(x*x)/(4.*kappa))/sqrt(2.*Pi*(1+x)); } }; // integrate function, just need to specify no of steps and kappa double integrate(int n,Integrand& f) { // stepsize, x_max double h,x_max; // choose x_max = 10*kappa x_max = 10*f.kappa; h = x_max/n; // initialise x double x=0.; // store running sum double sum=f(x)/2.; for(int i=1;i> n; // output results to the screen for(int kappa=1;kappa<=10;kappa++) { f.kappa = kappa; std::cout << " kappa = " << kappa << " I = " << integrate(n,f) << " \n"; } return 0; }