Runge-Kuttamethode

Uit testwiki
Naar navigatie springen Naar zoeken springen
Verschillende Runge-Kuttamethoden Sjabloon:Legenda-lijnSjabloon:Legenda-lijnSjabloon:Legenda-lijnSjabloon:Legenda-lijnSjabloon:Legenda-lijn

Runge-Kuttamethoden zijn numerieke methoden om differentiaalvergelijkingen met beginvoorwaarde stapsgewijze op te lossen. De methoden zijn genoemd naar de Duitse wiskundigen Carl David Tolmé Runge en Martin Wilhelm Kutta, die ze ontwikkeld en verbeterd hebben.

Runge-Kuttamethoden worden onderscheiden naar het aantal tussenstappen dat wordt gemaakt. De s-staps Runge-Kuttamethode bepaalt de waarde van de benaderde oplossing in een volgend punt door middel van s tussenstappen, dus met behulp van s1 tussengelegen punten. Een Runge-Kuttamethode met stapgrootte h is van de orde p als de lokale afbreekfout van de orde O(hp+1) is. Tot de Runge-Kuttamethoden behoren onder meer de methode van Euler, de methode van Heun en de trapezemethode.

Methode

Een benaderde oplossing van het beginvoorwaardeprobleem

x(t)=f(t,x(t))

met

x(t0)=x0

wordt stapsgewijs, met stapgrootte h, bepaald in de vorm van

xnx(tn),

waarin tn=t0+nh.

Een s-staps methode berekent een volgende waarde als

xn+1=xn+hj=1sbjkj

De coëfficiënten bj bepalen de gebruikte methode. De getallen kj vormen de tussenstappen, die de waarden zijn van de functie f in bepaalde zogeheten knopen:

kj=f(tn+hcj,yn+hl=1sajlkl),j=1,,s

Daarin zijn cj en ajl verdere, voor de methode karakteristieke coëfficiënten.

Klassieke Runge-Kuttamethode

De Runge-Kuttamethode van de orde 4, vaak kort RK4 genoemd, is de klassieke methode, waarmee de differentiaalvergelijking

dxdt=f(t,x)

met beginvoorwaarde x(t0)=x0 numeriek wordt opgelost met 4 tussenstappen via:

ti+1=ti+h

en

xi+1=xi+16(k1+2k2+2k3+k4),

waarin:

k1=h f(ti,xi)
k2=h f(ti+h2,xi+k12)
k3=h f(ti+h2,xi+k22)
k4=h f(ti+h,xi+k3)

Voorbeeld

Beschouw het beginwaardeprobleem dxdt=tx met de beginvoorwaarde x(0)=1.

De exacte oplossing is t2+x2=1 (een cirkel).

Kies h=0,1.

De startwaarden zijn t0=0 en x0=1.

Dan volgt:

k1=0,0
k2=0,005
k3=0,00501253132832
k4=0,0100503778338

zodat t1=0,1 en x1=0,994987426585.

Herhaling van deze procedure levert 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

De exacte oplossing zou voor t=1 de waarde x=0 geven.

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 kolomvector is.

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