double trapezoidalIntegral(double a, double b, int n, const std::function<double (double)> &f) { | |
const double width = (b-a)/n; | |
double trapezoidal_integral = 0; | |
for(int step = 0; step < n; step++) { | |
const double x1 = a + step*width; | |
const double x2 = a + (step+1)*width; | |
trapezoidal_integral += 0.5*(x2-x1)*(f(x1) + f(x2)); | |
} | |
return trapezoidal_integral; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment