Lesson 24 - Learning Goals


24.1 Learn why Numerical Integration is useful


24.2 Learn several different Numerical Integration Techniques

24.3 Learn how to compare different Numerical Integration algorithms


Numerical Integration

Introduction


Midpoint Rule

Midpoint Rule Algorithm

We wish to integrate y=f(x) from x=a to x=b using n rectangular panels of equal width.

h = (b-a) /n
x0 = a
xi = xi-1 + h
Ai = h* f( (xi-1 + xi)/2 )
A = Sum of Ai (i=1 -> i=n)
A = h* [Sum of f( (xi-1 + xi) /2 )] (i=1 -> i=n)

REAL FUNCTION MidPt(x0, x1, N)
! Estimate the area under F between x0 and x1
! using the Midpoint Rule with N panels.

   REAL x0, x1, x, h, Sum
   INTEGER N

   h = (x1 - x0) / N
   Sum = 0.0

   ! Add area of each panel, assuming unit width
   ! and multiplying by the true width h later.

   x = x0+h/2.0 ! Initial start is middle of first panel

   L1: DO k= 1,N
      Sum = Sum + F(x)
      x = x + h
   END DO L1

   MidPt = h*Sum

RETURN




C Version

double midpoint(double x0, double x1, int n)
{
   double h, sum;

   /* Calculate panel width h; initialize Sum. */

   h= (x1 - x0) / n;
   x0= x0 + h/2;
   sum= 0;

/* Add area of each panel, multiplying
by the true width h only once later. */

   do {
      sum= sum + f(x0);
      x0= x0 + h;
   }while(x0 x1);
   return(sum * h);
}




Trapezoidal Rule

Try taking average of the expressions for rectangular Ai, with f evaluated at left and right endpoints

Ai = [ h f(xi-1) + h f(xi) ]

Ai = h/2 [ f(xi-1) + f(xi) ]

Approximate Ai, as the area of trapezoid abcd.

Trapezoidal method appears to take 2 function evaluations per panel,
but

Ai + Ai+1 = h/2 [ f(xi-1) + f(xi) ] + h/2 [ f(xi) + f(xi+1) ]

Ai + Ai+1 = h/2 [ f(xi-1) + 2f(xi) + f(xi+1) ]

For n panels, need only n+1 evaluations of f.


Trapezoidal Rule Algorithm

We wish to integrate y=f(x) from x=a to x=b using n trapezoidal panels of equal width.

h= (b-a)/n

x0 = a

xn = b

xi = xi-1 + h

Ai = h/2 [ (f(xi-1) + f(xi) ]

A Ai

n - 1

A h [ ( f(x0) + f(xn) ) + f(xi) ]

i = 1


Simpson's Rule

In Trapezoidal rule, successive points (xi, yi) were joined with straight lines

Now, fit a parabola to 3 points (xi-2, yi-2), (xi-1, yi-1), and (xi, yi) for better accuracy

One panel (width 2h) now includes 3 points

h = (b-a)/n

b-a = nh

n must therefore be even

From geometry or Taylor series expansion, we find

Ai = h/3 [ f(xi-2) + 4f(xi-1) + f(xi) ] , for i = 2,4,6,…,n

Once more, combine expressions for adjacent panels and simplify.

Ai + Ai+2 = h/3 [ f(xi-2) + 4f(xi-1) + 2f(xi) + 4f(xi+1) + f(xi+2) ]

For n panels, again need only n+1 evaluations of f.

Simpson's Rule Algorithm

We wish to integrate y=f(x) from x=a to x=b using n/2 double parabolic panels of equal width.

h = (b-a)/n
x0= a
xn= b
xi= xi-1 + h
Ai = h/3 [ f(xi-2) + 4f(xi-1) + f(xi) ]
A Ai

n - 1 n - 2

A h/3 [ f(x0) + f(xn) + 4 f(xi) + 2 f(xi) ]

i = 1 i = 2

(i odd) (i even)




Adaptive Integration Procedure

- Arbitrary precision


Advanced, recursive adaptive integration technique

/* more sophisticated adaptive integration method

using recursion */


Go back to lecture menu

Go back to main page


Copyright © 1996 McGill University. All rights reserved.