Formula
Second order Runge-Kutta (RK2) method for second order differential equation formula
Method-1 :
`k_1=hf(x_n,y_n,z_n)`
`l_1=hg(x_n,y_n,z_n)`
`k_2=hf(x_n+h,y_n+k_1,z_n+l_1)`
`l_2=hg(x_n+h,y_n+k_1,z_n+l_1)`
`y_(n+1)=y_n+(k_1+k_2)/2`
Method-2 :
`k_1=hf(x_n,y_n,z_n)`
`l_1=hg(x_n,y_n,z_n)`
`k_2=hf(x_n+h/2,y_n+k_1/2,z_n+l_1/2)`
`l_2=hg(x_n+h/2,y_n+k_1/2,z_n+l_1/2)`
`y_(n+1)=y_n+k_2`
|
Examples
1. Find y(0.2) for `y''=1+2xy-x^2z`, `x_0=0, y_0=1, z_0=0`, with step length 0.1 using Runge-Kutta 2 method (second order differential equation) Solution:Given `y^('')=1+2xy-x^2z, y(0)=1, y'(0)=0, h=0.1, y(0.2)=?`
put `(dy)/(dx)=z` and differentiate w.r.t. x, we obtain `(d^2y)/(dx^2)=(dz)/(dx)`
We have system of equations
`(dy)/(dx)=z=f(x,y,z)`
`(dz)/(dx)=1+2xy-x^2z=g(x,y,z)`
Method-1 : Using formula `k_2=hf(x_0+h,y_0+k_1,z_0+l_1)`Second order Runge-Kutta (RK2) method for second order differential equation formula
`k_1=hf(x_n,y_n,z_n)`
`l_1=hg(x_n,y_n,z_n)`
`k_2=hf(x_n+h,y_n+k_1,z_n+l_1)`
`l_2=hg(x_n+h,y_n+k_1,z_n+l_1)`
`y_(n+1)=y_n+(k_1+k_2)/2`
`z_(n+1)=z_n+(l_1+l_2)/2`
for `n=0,x_0=0,y_0=1,z_0=0`
`k_1=hf(x_0,y_0,z_0)`
`=(0.1)*f(0,1,0)`
`=(0.1)*(0)`
`=0`
`l_1=hg(x_0,y_0,z_0)`
`=(0.1)*g(0,1,0)`
`=(0.1)*(1)`
`=0.1`
`k_2=hf(x_0+h,y_0+k_1,z_0+l_1)`
`=(0.1)*f(0.1,1,0.1)`
`=(0.1)*(0.1)`
`=0.01`
`l_2=hg(x_0+h,y_0+k_1,z_0+l_1)`
`=(0.1)*g(0.1,1,0.1)`
`=(0.1)*(1.199)`
`=0.1199`
`y_1=y_0+(k_1+k_2)/2`
`=1+0.005`
`=1.005`
`z_1=z_0+(l_1+l_2)/2`
`=0+0.11`
`=0.11`
`x_1=x_0+h=0+0.1=0.1`
for `n=1,x_1=0.1,y_1=1.005,z_1=0.11`
`k_1=hf(x_1,y_1,z_1)`
`=(0.1)*f(0.1,1.005,0.11)`
`=(0.1)*(0.11)`
`=0.011`
`l_1=hg(x_1,y_1,z_1)`
`=(0.1)*g(0.1,1.005,0.11)`
`=(0.1)*(1.1999)`
`=0.12`
`k_2=hf(x_1+h,y_1+k_1,z_1+l_1)`
`=(0.1)*f(0.2,1.016,0.2299)`
`=(0.1)*(0.2299)`
`=0.023`
`l_2=hg(x_1+h,y_1+k_1,z_1+l_1)`
`=(0.1)*g(0.2,1.016,0.2299)`
`=(0.1)*(1.3972)`
`=0.1397`
`y_2=y_1+(k_1+k_2)/2`
`=1.005+0.017`
`=1.022`
`x_2=x_1+h=0.1+0.1=0.2`
`:.y(0.2)=1.022`
| `n` | `x_n` | `y_n` | `z_n` | `k_1` | `l_1` | `k_2` | `l_2` | `x_(n+1)` | `y_(n+1)` | `z_(n+1)` |
| 0 | 0 | 1 | 0 | 0 | 0.1 | 0.01 | 0.1199 | 0.1 | 1.005 | 0.11 |
| 1 | 0.1 | 1.005 | 0.11 | 0.011 | 0.12 | 0.023 | 0.1397 | 0.2 | 1.022 | |
Method-2 : Using formula `k_2=hf(x_0+h/2,y_0+k_1/2,z_0+l_1/2)`Second order Runge-Kutta (RK2) method for second order differential equation formula
`k_1=hf(x_n,y_n,z_n)`
`l_1=hg(x_n,y_n,z_n)`
`k_2=hf(x_n+h/2,y_n+k_1/2,z_n+l_1/2)`
`l_2=hg(x_n+h/2,y_n+k_1/2,z_n+l_1/2)`
`y_(n+1)=y_n+k_2`
`z_(n+1)=z_n+l_2`
for `n=0,x_0=0,y_0=1,z_0=0`
`k_1=hf(x_0,y_0,z_0)`
`=(0.1)*f(0,1,0)`
`=(0.1)*(0)`
`=0`
`l_1=hg(x_0,y_0,z_0)`
`=(0.1)*g(0,1,0)`
`=(0.1)*(1)`
`=0.1`
`k_2=hf(x_0+h/2,y_0+k_1/2,z_0+l_1/2)`
`=(0.1)*f(0.05,1,0.05)`
`=(0.1)*(0.05)`
`=0.005`
`l_2=hg(x_0+h/2,y_0+k_1/2,z_0+l_1/2)`
`=(0.1)*g(0.05,1,0.05)`
`=(0.1)*(1.0999)`
`=0.11`
`y_1=y_0+k_2`
`=1+0.005`
`=1.005`
`z_1=z_0+l_2`
`=0+0.11`
`=0.11`
`x_1=x_0+h=0+0.1=0.1`
for `n=1,x_1=0.1,y_1=1.005,z_1=0.11`
`k_1=hf(x_1,y_1,z_1)`
`=(0.1)*f(0.1,1.005,0.11)`
`=(0.1)*(0.11)`
`=0.011`
`l_1=hg(x_1,y_1,z_1)`
`=(0.1)*g(0.1,1.005,0.11)`
`=(0.1)*(1.1999)`
`=0.12`
`k_2=hf(x_1+h/2,y_1+k_1/2,z_1+l_1/2)`
`=(0.1)*f(0.15,1.0105,0.17)`
`=(0.1)*(0.17)`
`=0.017`
`l_2=hg(x_1+h/2,y_1+k_1/2,z_1+l_1/2)`
`=(0.1)*g(0.15,1.0105,0.17)`
`=(0.1)*(1.2993)`
`=0.1299`
`y_2=y_1+k_2`
`=1.005+0.017`
`=1.022`
`x_2=x_1+h=0.1+0.1=0.2`
`:.y(0.2)=1.022`
| `n` | `x_n` | `y_n` | `z_n` | `k_1` | `l_1` | `k_2` | `l_2` | `x_(n+1)` | `y_(n+1)` | `z_(n+1)` |
| 0 | 0 | 1 | 0 | 0 | 0.1 | 0.005 | 0.11 | 0.1 | 1.005 | 0.11 |
| 1 | 0.1 | 1.005 | 0.11 | 0.011 | 0.12 | 0.017 | 0.1299 | 0.2 | 1.022 | |
This material is intended as a summary. Use your textbook for detail explanation.
Any bug, improvement, feedback then