Solved

Integration in C

Posted on 2004-10-12
4
456 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
  • 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

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
why debugging a macro i s difficult 10 36
C++ vs C compilers 13 159
Detect CR LF to each line 12 162
Problem to save 10 167
Have you thought about creating an iPhone application (app), but didn't even know where to get started? Here's how: ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Important pre-programming comments: I’ve never tri…
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 nested-loops in the C programming language.
The goal of this video is to provide viewers with basic examples to understand and use switch statements in the C programming language.

832 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