Runge-Kuttamethode

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

De Runge-Kuttamethode is een numerieke methode om differentiaalvergelijkingen op te lossen. Ze is genoemd naar de Duitse wiskundigen Carl David Tolmé Runge en Martin Wilhelm Kutta die haar ontwikkeld en verbeterd hebben.

Formules[bewerken]

Beschouw een differentiaalvergelijking \frac{dx}{dt}=f(t,x) met beginvoorwaarde x(t_0) = x_0. Deze differentiaalvergelijking is numeriek op te lossen met een recursieve methode:

x_{i+1} = x_i + \frac{h}{6}(k_1 + 2k_2 + 2 k_3 + k_4)

waarbij:

k_1 = f(t_i, x_i \,)
k_2 = f(t_i + \frac{h}{2}, x_i + \frac{h}{2}\,k_1)
k_3 = f(t_i + \frac{h}{2}, x_i + \frac{h}{2}\,k_2)
k_4 = f(t_i + h, x_i + h\,k_3)

h is de waarde van één stap; hoe kleiner h is, hoe beter de benadering.

Voorbeeld[bewerken]

Beschouw het beginwaardenprobleem \frac{dx}{dt}=\frac{-t}{x} met de beginvoorwaarden t=0 \,\,\, x=1

De exacte oplossing is t^2 + x^2 = 1: een cirkel.

We kiezen h = 0,1.

We starten met t = 0 en x = 1.

We vinden:

k_1 = 0,0
k_2 = -0,05
k_3 = -0,0501253132832
k_4 = -0,100503778338

Dan is het volgende punt t = 0,1 en x = 0,994987426585.

We kunnen meerdere punten uitrekenen en zo bekomen we het deel van de cirkel in het eerste kwadrant.

t x
0.0 1.0
0.1 0.994987426585
0.2 0.979795852198
0.3 0.95393908717
0.4 0.916514893222
0.5 0.866024896597
0.6 0.799998909634
0.7 0.714140165921
0.8 0.599991210485
0.9 0.435832710519
1.0 0.0488018582123

In dit voorbeeld zouden we dus moeten eindigen met t = 1 en x = 0.

De methode is gelijkwaardig met een Taylorreeks van 5 termen. Dit wil zeggen, dat halvering van de tijdstap h de fout per stap met een factor 32 vermindert. Omdat er dan 2 keer zoveel stappen genomen worden, vermindert de totale fout met een factor 16.

De methode is ook bruikbaar als x geen scalair, maar een kolommatrix is.

Als f niet afhangt van x, dan is de methode gelijkwaardig met de regel van Simpson voor numerieke berekening van een integraal.