We have considered two methods: Euler Method and Backward Euler method. Euler's method is simple to implement on a computer program, but is known to have poorer numerical properties. In particular, it may wrongly show a system which is actually stable to be unstable. As an example consider the following equations:
If we use Euler Method, we descretise the equations as follows.

For a time step, h=0.1, with initial conditions x1(0)=1 and x2(0)=0.01, the numerically evalauated response is unstable, although this system is actually stable and has a time response given by:

One has to use a very small time step (say, h = 0.005s) if one has to avoid getting a grossly incorrect numerical solution. However, this would mean more computation time, even one may be interested only in capturing the slow response corresponding to the exp(-5*t) term in the response. |
(click to enlarge)
|
Let us repeat this exercise with Backward Euler with the same h=0.1. The discretised equations are:

Clearly, the solution obtained from Backward Euler Method does not "blow up". It also captures the slow transient corresponding to exp(-5*t) quite accurately with this value of time step. |
(click to enlarge) |
The problem with Backward Euler Method is evident when we apply it to the solution of swing equations:

Clearly, getting the values of d and w at the k+1 th instant from the values at the k th instant is tough as we have to solve nonlinear algebraic equations (how does one solve them?).
Clearly there is a trade-off between numerical accuracy and complexity of implementation! We now consider a method which is not too difficult to implement and also gives reasonably good accuracy. |