• C

# Integration in C

Hello,
I want to integrate a function. can anybody suggest me how to improve the code..

for( x = x1; x <= x2; x += 0.01)
{
f1 = some function(x)
res += f1/10000.0;

}

IS this right??
Can u plzz show me the code to do integration using any std rules..
TIA
Suma
###### Who is Participating?

Commented:
Hi Suma,
You can use the any of the availiable numerical integration
techniques to calculate the definite integral of a function. Have a look at

http://mathworld.wolfram.com/NumericalIntegration.html

the techniques range from fairly complex Newton-cote's method
to relatively simple trapezoidal rule.  You  need to be more specific
about the algorithm you want to implement.
As a simple implementation, consider dividing your integration space into
N equal sized intervals, and assume that the intervals are small enough
so that the function value in the i-th interval can be approximated as f((X[i] + fX[i+1])/2) throughout;
then a rough integration function can be;

#define N  SOME_LARGE_NUMBER

double function(X)
double X;
{
// The body of the function you are integrating over [X1, X2];
}

double integrator(X1,  X2)
double X1, X2
{
double Increment = (X2 - X1)/ N;
double  X = X;
double Result = 0.0;

for (; X < X2; X += Increment)
Result +=  function(X + Increment/2);

return Result;
}

Similarily you can implement any of the techniques once you have read about them.
0

Commented:
hi Suma,

What exactly do you mean by "integrate a function" ? pls explain

Bye
-Rajesh
0

Commented:
Well well, in the integrator(X1, X2), second line reads:

double X = X1;
double Result =  0.0;
.....
............
0

Commented:
and the last line would be

return Result * Increment;

:D, tooo much hurry;
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.