Find y(0.5) for `y'=-2x-y`, `x_0=0, y_0=-1`, with step length 0.1 using Runge-Kutta 2 method (first order differential equation) Solution:Given `y'=-2x-y, y(0)=-1, h=0.1, y(0.5)=?`
Method-1 : Using formula `k_2=f(x_0+h,y_0+hk_1)`Second order Runge-Kutta (RK2) method formula
`k_1=f(x_n,y_n)`
`k_2=f(x_n+h,y_n+hk_1)`
`y_(n+1)=y_n+h/2(k_1+k_2)`
for `n=0,x_0=0,y_0=-1`
`k_1=f(x_0,y_0)`
`=f(0,-1)`
`=1`
`k_2=f(x_0+h,y_0+hk_1)`
`=f(0.1,-0.9)`
`=0.7`
`y_1=y_0+h/2(k_1+k_2)`
`=-1+0.085`
`=-0.915`
`x_1=x_0+h=0+0.1=0.1`
for `n=1,x_1=0.1,y_1=-0.915`
`k_1=f(x_1,y_1)`
`=f(0.1,-0.915)`
`=0.715`
`k_2=f(x_1+h,y_1+hk_1)`
`=f(0.2,-0.8435)`
`=0.4435`
`y_2=y_1+h/2(k_1+k_2)`
`=-0.915+0.0579`
`=-0.8571`
`x_2=x_1+h=0.1+0.1=0.2`
for `n=2,x_2=0.2,y_2=-0.8571`
`k_1=f(x_2,y_2)`
`=f(0.2,-0.8571)`
`=0.4571`
`k_2=f(x_2+h,y_2+hk_1)`
`=f(0.3,-0.8114)`
`=0.2114`
`y_3=y_2+h/2(k_1+k_2)`
`=-0.8571+0.0334`
`=-0.8237`
`x_3=x_2+h=0.2+0.1=0.3`
for `n=3,x_3=0.3,y_3=-0.8237`
`k_1=f(x_3,y_3)`
`=f(0.3,-0.8237)`
`=0.2237`
`k_2=f(x_3+h,y_3+hk_1)`
`=f(0.4,-0.8013)`
`=0.0013`
`y_4=y_3+h/2(k_1+k_2)`
`=-0.8237+0.0112`
`=-0.8124`
`x_4=x_3+h=0.3+0.1=0.4`
for `n=4,x_4=0.4,y_4=-0.8124`
`k_1=f(x_4,y_4)`
`=f(0.4,-0.8124)`
`=0.0124`
`k_2=f(x_4+h,y_4+hk_1)`
`=f(0.5,-0.8112)`
`=-0.1888`
`y_5=y_4+h/2(k_1+k_2)`
`=-0.8124-0.0088`
`=-0.8212`
`x_5=x_4+h=0.4+0.1=0.5`
`:.y(0.5)=-0.8212`
| `n` | `x_n` | `y_n` | `k_1` | `k_2` | `x_(n+1)` | `y_(n+1)` |
| 0 | 0 | -1 | 1 | 0.7 | 0.1 | -0.915 |
| 1 | 0.1 | -0.915 | 0.715 | 0.4435 | 0.2 | -0.8571 |
| 2 | 0.2 | -0.8571 | 0.4571 | 0.2114 | 0.3 | -0.8237 |
| 3 | 0.3 | -0.8237 | 0.2237 | 0.0013 | 0.4 | -0.8124 |
| 4 | 0.4 | -0.8124 | 0.0124 | -0.1888 | 0.5 | -0.8212 |
Method-2 : Using formula `k_2=f(x_0+h/2,y_0+(hk_1)/2)`Second order Runge-Kutta (RK2) method formula
`k_1=f(x_n,y_n)`
`k_2=f(x_n+h/2,y_n+(hk_1)/2)`
`y_(n+1)=y_n+hk_2`
for `n=0,x_0=0,y_0=-1`
`k_1=f(x_0,y_0)`
`=f(0,-1)`
`=1`
`k_2=f(x_0+h/2,y_0+(hk_1)/2)`
`=f(0.05,-0.95)`
`=0.85`
`y_1=y_0+hk_2`
`=-1+0.085`
`=-0.915`
`x_1=x_0+h=0+0.1=0.1`
for `n=1,x_1=0.1,y_1=-0.915`
`k_1=f(x_1,y_1)`
`=f(0.1,-0.915)`
`=0.715`
`k_2=f(x_1+h/2,y_1+(hk_1)/2)`
`=f(0.15,-0.8792)`
`=0.5792`
`y_2=y_1+hk_2`
`=-0.915+0.0579`
`=-0.8571`
`x_2=x_1+h=0.1+0.1=0.2`
for `n=2,x_2=0.2,y_2=-0.8571`
`k_1=f(x_2,y_2)`
`=f(0.2,-0.8571)`
`=0.4571`
`k_2=f(x_2+h/2,y_2+(hk_1)/2)`
`=f(0.25,-0.8342)`
`=0.3342`
`y_3=y_2+hk_2`
`=-0.8571+0.0334`
`=-0.8237`
`x_3=x_2+h=0.2+0.1=0.3`
for `n=3,x_3=0.3,y_3=-0.8237`
`k_1=f(x_3,y_3)`
`=f(0.3,-0.8237)`
`=0.2237`
`k_2=f(x_3+h/2,y_3+(hk_1)/2)`
`=f(0.35,-0.8125)`
`=0.1125`
`y_4=y_3+hk_2`
`=-0.8237+0.0112`
`=-0.8124`
`x_4=x_3+h=0.3+0.1=0.4`
for `n=4,x_4=0.4,y_4=-0.8124`
`k_1=f(x_4,y_4)`
`=f(0.4,-0.8124)`
`=0.0124`
`k_2=f(x_4+h/2,y_4+(hk_1)/2)`
`=f(0.45,-0.8118)`
`=-0.0882`
`y_5=y_4+hk_2`
`=-0.8124-0.0088`
`=-0.8212`
`x_5=x_4+h=0.4+0.1=0.5`
`:.y(0.5)=-0.8212`
| `n` | `x_n` | `y_n` | `k_1` | `k_2` | `x_(n+1)` | `y_(n+1)` |
| 0 | 0 | -1 | 1 | 0.85 | 0.1 | -0.915 |
| 1 | 0.1 | -0.915 | 0.715 | 0.5792 | 0.2 | -0.8571 |
| 2 | 0.2 | -0.8571 | 0.4571 | 0.3342 | 0.3 | -0.8237 |
| 3 | 0.3 | -0.8237 | 0.2237 | 0.1125 | 0.4 | -0.8124 |
| 4 | 0.4 | -0.8124 | 0.0124 | -0.0882 | 0.5 | -0.8212 |
This material is intended as a summary. Use your textbook for detail explanation.
Any bug, improvement, feedback then