LECTURE 25

Ordinary Differential Equations

Introduction


The Euler Method

Given y'= f(x,y)

Approximate y' at point (xi , yi) by the slope of the line joining it and (xi+1 , yi+1);

y'(xi , yi) (yi+1 - yi) / (xi+1 - xi) = (yi+1 - yi) / h

Then conclude f(xi , yi) (yi+1 - yi) / h , and yi+1 yi + h f(xi , yi)

Euler algorithm

Starting from the point (0 , yo), we estimate the solution to y' = f(x,y) at x-values seperated by the step size h, until we reach the desired value xf of x. It is assumed that xf = n h for some positive integer n, which is the number of steps taken in attaining the final solution.

  1. x 0 , y y0
  2. if(x==xf) , STOP
  3. y = y + h* f(x,y)
  4. x = x + h
  5. go to step 2

The Runge-Kutta method

Advantages (relative to more complicated techniques):


The derivation of the formula is too complex, but basic idea is to start from (xi , yi) and use Euler method to obtain different estimates of yi + ½ and yi+1 which are combined so as to minimize error:

y*i + ½ = yi + h/2 f(xi , yi)

y**i + ½ = yi + h/2 f(xi + ½ , y*i + ½)

y*i + 1 = yi + h f(xi + ½ , y**i + ½)

yi + 1 = yi + h/6 [ f(xi , yi) + 2f(xi + ½ , y*i + ½)

+2f(xi + ½ , y**i + ½) + f(xi + 1 , y*i + 1) ]

To use the Runge-Kutta method, start with y(0) = y0, and apply the above equations (in sequence!) to get y1 = y(h).

Repeat this process for x2, … , xn where xn = nh.


Go back to lecture menu

Go back to main page


Copyright © 1996 McGill University. All rights reserved.