given y'(t) = g (y(t),t), y(0)=y0 what is y(b)?
Simplest:
y(t) y(ta)
+ y'(ta) (t-ta)
but we know y'(ta) = g(y(ta),ta)
y(t) y(ta)
+ g(y(ta),ta) (t-ta)
Forward Euler Method:
y(tn+1) = y(tn)
+ g(y(tn),tn) (tn+1-tn)
Keeping the next term in the Taylor series:
y(t) y(ta)
+ y'(ta) (t-ta) + (1/2)y''(ta)
(t-ta)2
we know y'(ta) = g(y(ta),ta)
and we can approximate the next derivative numerically:
y"(ta)
= g'(y(ta),ta) [
g(y(t),t) - g(y(ta),ta) ]/(t-ta)
y(t) y(ta)
+ g(y(ta),ta) (t-ta) +
(1/2){ [ g(y(t),t) - g(y(ta),ta)
]/(t-ta) }(t-ta)2
which simplifies to:
y(t) y(ta)
+ (1/2) [ g(y(t),t) + g(y(ta),ta) ]
(t - ta)
Adams-Moulton
(AM2) algorithm:
y(tn+1)
= y(tn) + (1/2) [ g(y(tn+1),tn+1)
+ g(y(tn),tn) ] (tn+1 -
tn)
(unfortunately this implicit equation usually has to be solved with a Root - Finder)