Adamsin – Bashforthin menetelmän johto

Integroimalla differentiaaliyhtälö y'  =  f(x, y)  puolittain välin [(Subscript[x, k]) ,  (Subscript[x, k + 1])] yli saadaan

y((Subscript[x, k + 1])) - y((Subscript[x, k]))=(∫_((Subscript[x, k]))^((Subscript[x, k + 1])))f(x, y(x))\[DifferentialD]x.

Adamsin – Bashforthin menetelmässä integraalille lasketaan approksimaatio korvaamalla funktio f(x, y(x)) kolmannen asteen interpolaatiopolynomilla. Tämän tukipisteinä (so. pisteinä, joiden kautta polynomin kuvaaja kulkee) ovat neljä edellistä jo laskettua pistettä ((Subscript[x, j]) ,  f((Subscript[x, j]) ,  (Subscript[y, j]))), j  =  k - 3 ,  k - 2 ,  k - 1 ,  
      k.

tukipisteet= {(Subscript[x, k])  -  3  h, (Subscript[x, k])  -  2 h, (Subscript[x, k])  -  h, 
        (Subscript[x, k])}

funktionarvot =  {(Subscript[f, k - 3]), (Subscript[f, k - 2]), (Subscript[f, k - 1]), 
        (Subscript[f, k])}

Interpolaatiopolynomin muodostamisessa tarvittavat pisteet ovat

interpolaatiodata =  
      Transpose[{tukipisteet, funktionarvot}]

Interpolaatiopolynomi saadaan yhdellä komennolla (muuttujana t):

p = 
      InterpolatingPolynomial[interpolaatiodata, t] // 
        Expand

Integraalin approksimaatio saadaan integroimalla polynomi:

integraali =  
      Integrate[p, {t, (Subscript[x, k]), (Subscript[x, k]) + h}] // Simplify

SKK 30.04.2001