Re: numerical analysis (composite numerical integration)



I am horrified at my old trapezoidal rule. It had redundant
calculations of f(). This is how it should have been done:

double trapezoidal_rule(double a, double b, int n, double (*f)(double))

{
double area = 0;
double h = (b - a) / n;
unsigned i;
area = f(a);
for (i = 1; i < n; i++) {
area += f(a + i * h) * 2.0;
}
area += f(b);
area *= h * 0.5;
return area;
}

.