Runge-Kuttametoden

Runge-Kuttametoden är en metod som används för att beräkna ordinära differentialekvationer, även kallat ODE. Denna metod gör fler funktionsberäkningar i varje steg jämfört med Eulers metod och får därför en högre nogrannhet. För att förstå hur RK-metoden fungerar bör man först noga läsa igenom Eulers metod.

RK2
Simplaste RK-metoden heter RK2, även känd som Heuns metod, som är en andra ordningen RK-metod. Denna innebär att den gör snittet (medelvärdet) av två tangenter innan nästa punkt beräknas. Det man utnyttjar är dels lutningen i föregående punkten, dels det approximativa lutningsvärdet i nästa punkt (eller den punkt man vill approximera värdet för).

Formeln för att beräkna denna medelpunkt är mycket simpel. Jämför gärna följande formel med den som står i Eulers metod. $$ y(t + h) = y(t)+ \frac{h}{2}(f_1 + f_2) \;$$ $$ f_1 = f(t, y) \;$$ $$ f_2 = f(t + h, y +hf_1)\;$$ $$ f_2 \;$$ är den approximerade tangenten i nästa punkt

Man tar reda på tangenten i punkt A, sedan approximerar man nästa punkt B med Eulers metod för att i sin tur få den approximerade tangenten i just punkt B. Nu spolar man tillbaka och tar medlet av dessa två tangenter för att få en bättre punkt B.

RK4
Teoretiskt sätt är RK2 och Eulers metod intressanta då de är lätta att förstå. I praktiken använder man dock i regel alltid metoder av högre ordning som t.ex RK4.

RK4 utnyttjar då fyra lutningsberäkningar för att approximera nästa punkt. Formeln för RK4 är som följande: $$ y(t + h) = y(t)+ \frac{h}{6}(f_1 + 2f_2 + 2f_3 + f_4) \;$$ $$ f_1 = f(t, y) \;$$ $$ f_2 = f(t + h/2, y +hf_1/2)\;$$ $$ f_3 = f(t + h/2, y +hf_2/2)\;$$ $$ f_4 = f(t + h, y + hf_3)\;$$

Man kan tolka det hela som att man tar tangenten ur punkten A + två st av tangenten B + två st av tangenten B2 som har beräknats med hjälp av tangenten ur B + tangenten C som beräknats med hjälp av tangenten B2. Det viktigaste är att man förstår RK2 metoden, sen man man förstå principen med högre ordningens metoder även om det snabbt blir komplicerat att bena ut dessa.

Precis som med Eulers metod går det att få bättre värden genom att utnyttja Richardsonextrapolation

ode23 och ode45
ode23 och ode45 är båda varianter av RK-metoden men är försedda med automatisk steglängdsreglering som innebär att man beräknar med mindre h då funktionen blir mindre linjär (funktionen svänger kraftigare).

Övrigt intressant
Läs mer om Runges fenomen som har med kraftiga svängar att göra.

Mer information finns om RK-metoden på sida 98 i boken: http://www.csc.kth.se/~gerd/bokNumAlg.pdf