A7 Differential equations 577
Using this table, an interpolation polynomial forx ̇tcan be constructed. The
Newton interpolation polynomial (A.59) for ̇xreads
x ̇t= ̇x 1 +(t− 1 )δx ̇ 1 / 2 +
(t− 1 )t
2!
δ^2 x ̇ 0 +
(t− 1 )(t+ 1 )t
3!
δ^3 x ̇− 1 / 2 +··· (A.60)
We can now use this as an extrapolation polynomial to calculatex 2 (we assumed
x 1 to be known). Using
x 2 =x 1 +
∫ 2
1
x ̇tdt, (A.61)
one finds, using (A.60):
x 2 =x 1 + ̇x 1 +
1
2
δx ̇ 1 / 2 +
5
12
δ^2 x ̇ 0 +
3
8
δ^3 x ̇− 1 / 2. (A.62)
This value can then be used to add another row to the table, and so on.
Up to order 6, the formula reads
x 2 =x 1 + ̇x 1 +
1
2
δx ̇ 1 / 2 +
5
12
δ^2 x ̇ 0 +
3
8
δ^3 x ̇− 1 / 2 +
251
720
δ^4 x ̇− 1
+
95
288
δ^5 ̇x− 3 / 2 +
19087
60480
δ^6 x ̇− 2 +··· (A.63)
This equation is known as Adams’ formula. Note that during the integration it is
needed to renew the lower diagonal of the table only and therefore we need not
store the entire table in memory.
To start the algorithm, we need the solution to the differential equation at the first
few time steps to be able to set up the table. This solution can be generated using
a Runge–Kutta starter, for example. The starting points should, however, be of the
same order of accuracy as Adams’ method itself. If this is not the case, we can use
aspecialprocedurewhichimprovestheaccuracyofthetableiteratively[ 13 ].
Finite difference methods are often very efficient as they can be of quite high
order. As soon as the integration becomes inaccurate because of too large a time
step, the deepest (i.e. the rightmost) differences tend to diverge and will lead to an
overflow. This means that absence of such trouble implies high accuracy.
One can also construct so-calledpredictor-correctormethods in this way. In
these methods, after every integration step the last value ofxt(in our case this
isx 2 ) is calculated again, now using alsox ̇twhich is determined by the value of
xtand the differential equation(A.55). This procedure is repeated until the new
value forxtis close enough to the previous one. Predictor-corrector methods are
seldom used nowadays, since using a sufficiently small integration step makes the
time-consuming corrector cycle superfluous.