I have the following adaptive Adams-Bashforth scheme for estimating an ODE:
$y_{{i+1}} = y_{{i}} + \alpha f_i + \beta f_{i-1}$
where, if we have 3 time points that are not equally spaced: $t_{i-1}, t_i$ and $t_{i+1}$, then
$t_i - t_{i-1} = h_{prev}, \space \space t_{i+1} - t_i = h$
I am asked to calculate an alternative $y^*_{i+1}$, given a $y_i$, using the third order Runge-Kutta method defined by the Butcher table:
0 |
(1/2) | (1/2)
1 | -1 2
--------------------------------
| (1/6) (2/3) (1/6)
I have no idea if I wrote the explicit formula for the Runge-Kutta method correctly, however. I dont have experience working with Butcher tables which is why I'm not confident.
Here's what I got:
$y_{i+1} = y_i + h/6 (k_1 + 4k_2 +k_3)$ where
$k_1 = f(t_i,y_i)$
$k_2 = f(t_i + h/2, \space y_i + \frac{h}{2} k_1)$
$k_3 = f(t_i + h/2, \space y_i + \frac{h}{2} k_2)$
I'm hoping someone can show me if/where I went wrong. Part of what's throwing me off is that we're dealing with an adaptive step size, but I'm not sure either way. I'd really appreciate the help.
Up to $k_2$ it is correct, however, you have to read the third line as $$ k_3 = f(t_i+h, y_i-h·k_1+2h·k_2). $$