Solved

Integration in C

Posted on 2004-10-12
4
460 Views
Last Modified: 2011-09-20
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
0
Comment
Question by:hssuma
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
4 Comments
 
LVL 1

Expert Comment

by:RajeshTN
ID: 12295622
hi Suma,

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

Bye
-Rajesh
0
 
LVL 5

Accepted Solution

by:
van_dy earned 20 total points
ID: 12295964
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
 
LVL 5

Expert Comment

by:van_dy
ID: 12295978
Well well, in the integrator(X1, X2), second line reads:

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

Expert Comment

by:van_dy
ID: 12295995
and the last line would be

         return Result * Increment;

:D, tooo much hurry;
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Preface I don't like visual development tools that are supposed to write a program for me. Even if it is Xcode and I can use Interface Builder. Yes, it is a perfect tool and has helped me a lot, mainly, in the beginning, when my programs were small…
Windows programmers of the C/C++ variety, how many of you realise that since Window 9x Microsoft has been lying to you about what constitutes Unicode (http://en.wikipedia.org/wiki/Unicode)? They will have you believe that Unicode requires you to use…
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use for-loops in the C programming language.
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use nested-loops in the C programming language.

688 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question