Runge-Kutta Method
:
Runge-Kutta method here after called as RK method is the generalization
of the concept used in Modified Euler's method.
In Modified Eulers method the slope of the solution curve has been approximated
with the slopes of the curve at the end points of the each sub interval
in computing the solution. The natural generalization of this concept
is computing the slope by taking a weighted average of the slopes taken
at more number of points in each sub interval. However, the implementation
of the scheme differes from Modified Eulers method so that the developed
algorithm is explicit in nature. The final form of the scheme is
of the form
yi+1 = yi + (weighted
average of the slopes)
for i = 0, 1, 2 . . .
where h is the step length and yi and yi+1
are the values of y at xi and xi+1
respectively.
In genaral, the slope is computed at various points xs
in each sub interval [xi, xi+1] and multiplied
them with the step length h and then weighted average of it is then
added to yi to compute yi+1.
Thus the RK method with v slopes called as v-stage RKmethod can
be written as
K1 = h f(xi, yi)
K2 = h f(xi + c2h,
yi + a21K1)
K3 = h f(xi + c3h,
yi + a31K1+ a32K2)
. . .
. . .
. . .
Kv = h f(xi + cvh, yi
+
av1K1+ av2K2 + . . . +avv-1Kv-1)
and
yi+1 = yi + (W1
K1 + W2 K2 + . . . + Wv Kv
)
for i = 0, 1, 2 . . .
To determine the parameters c's, a's and W's in the above equation,
yi+1
defined in the scheme is expanded interms of steplengh h and the
resultant equation is then compared with Taylor series expansion of the
solution of the differential equation upto a certain number of terms say
p.
Then the v-stage RKmethod will be of order p or is an pth order
RK method. Here for any v>4 the maximum possible order p
of the R Kmethod is always less than v. However, for any v
lessthan or equal to 4, it is possible derive an RK method of order
p
= v. Now, consider the case v = 2 to derive the 2-stage RK method.
For this
K1 = h f(xi, yi)
K2 = h f(xi + c2h,
yi + a21K1)
yi+1 = yi + ( W1
K1 + W2 K2 )
for i = 0, 1, 2 . . .
Now by Taylor series expansion
y(xi+1) = y(xi) + h y'(xi) + h2
y''(xi)/2!
+ h3 y'''(xi)/3! + o(h4)
= y(xi) + h f + h2 (
fx + fyf
) / 2! + h3(
fxx + 2fxyf + fyy f2 +
fy(
fx + fyf
)) / 3! + o(h4)
Also
K1 = h fi
K2 = h f(xi + c2h,
yi + a21K1)
= h( fi
+ c2h fx + a21K1fy
+
( c2h)2 fxx /2! + (a21K1)2
fyy
/2! + c2h a21K1 fxy + o(h4)
)
= h(
fi
+ c2h fx + a21h fi fy
+
( c2h)2 fxx /2! + (a21h
fi)2
fyy /2! + c2h a21h
fi fxy + o(h4)
)
yi+1 = yi + (W1+W2)
h fi + h2(W2c2fx
+ W2a21f fy) + h3 W2(c22a21f
fxy + a221f2 fyy)/2
+ o(h4)
Now by comparing the equal powers of h inyi+1and
y(xi+1) we get
W1 + W2 = 1
c2W2 = 1/2
and a21W2
= 1/2
The solution of this system is
a21 = c2,
W2 = 1/(2c2)
and W1 = 1
- 1/(2c2)
where c2 is any arbitrary constant not equal to zero.
For these values of a21, W2 , W1,
since 2-stage RK method compares with Taylor series upto h2for
any value of c2 the 2-stage RK method is of order
two and hence this scheme is denoted in many text books as a second order
RK method. Now, to give some numerical values to a21,
W2 , W1 first the valuec2 of
has to be fixed. Generally the value of c2 is fixed
such that the values of a21, W2 , W1
are integers or some real numbers which easy to remember. Two of
such cases are c2 = 1/2 and c2=1.
Case (i): c2 = 1/2
Þ a21= 1/2,
W2 = 1, W1 = 0. The corresopnding 2-stage
(second order) RK method is
K1 = h f(xi, yi)
K2 = h f(xi + h/2, yi +
K1 /2 )
yi+1 = yi + ( K2
)
for i = 0, 1, 2 . . .
or equivalently
yi+1 = yi + h f(xi
+
h/2, yi + h f(xi, yi) /2)
for i = 0, 1, 2 . . .
Which is knothing but Eulers method with step length h = 1/2.
Case (ii): c2 = 1
Þ a21= 2,
W2 = W1 = 1/2. The corresopnding
2-stage (second order) RK method is
K1 = h f(xi, yi)
K2 = h f(xi + h, yi +
K1 )
yi+1 = yi + ( K1
+ K2 )/2
for i = 0, 1, 2 . . .
or equivalently
yi+1 = yi + .5 h (f(xi,
yi) + f(xi + h, yi + h f(xi,
yi) ))
for i = 0, 1, 2 . . .
Which is knothing but the Modified Eulers method.
Following the same procedure one can develope the higher order RK methods
by giving various values to v and comparing the obtained yi+1
with the same obtained by Taylor series method. Classical RK methods
of order three and four are
1 |
RK method of order three
(v = 3) |
K1 = h f(xi, yi)
K2 = h f(xi + h/2,
yi + K1 /2)
K3 = h f(xi + h,
yi - K1 + 2K2 )
yi+1 = yi +
( K1 + 4K2 + K3 )/6 |
2 |
RK method of order three
(v = 4) |
K1 = h f(xi, yi)
K2 = h f(xi + h/2,
yi + K1 /2)
K3 = h f(xi + h/2,
yi + K2 /2)
K4 = h f(xi + h,
yi + K3 )
yi+1 = yi +
( K1 + 2K2 + 2K3 + K4
)/6 |
Worked
out problems
Example 1 |
Find y(1.0) using RK method of order four by solving
the IVP y' = -2xy2, y(0) = 1 with step length 0.2.
Also compre the solution obtained with RK methods of order three and two. |
Solution |
Example 2 |
Find y in [0,3] by solving the initial value problem
y' = (x - y)/2, y(0) = 1 using RK method of order four with
h = 1/2 and 1/4. |
Solution |
Example 3 |
Using RK method of order four find y(0.1) for y' = x - y2,
y(0) = 1. |
Solution |
Example 4 |
Using RK method of order four find y at x = 1.1 and 1.2 by solving
y' = x2 + y2 , y(1) = 2.3 |
Solution |