I am doing a university project where I have to create a numerical integration calculator. I need the user to input the integrand function to replace the double f(double x)
function below so that my program can work for any 1-D integral with non-infinity limits.
Here is the code:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double f(double x)
{
return x;
}
double traprule(double a, double b, double N)
{
double h, sum, fn, fa, fb, I;
sum = 0;
h = (b - a) / N;
for (int n = 1; n < N; n++)
{
fn = f(a + n * h);
sum = sum + fn;
}
fa = f(a);
fb = f(b);
I = 0.5 * h * ((fa + fb) + 2 * sum);
return I;
}
int main()
{
scanf("%s", &f)
double result;
result = traprule(0, 10, 10);
printf("%lg", result);
return 0;
}