Meny Stäng

Eulers stegmetod

Eulers stegmetod är en numerisk metod för att approximativt bestämma ett värde av en funktion om man får givet en differentialekvation som funktionen uppfyller, och ett startvärde. Detta gör man genom att utnyttja linjära approximationer,

\( y(x_1) \approx y(x_0) + y'(x_0) \cdot h \ .\)

En mer konkret förklaring är att om man har en differentialekvation och vet att \( y(0.5) = 1\) så kan man approxmativt bestämma t.ex. \( y(3)\) med hjälp av Eulers stegmetod. Det hela går ut på att man först bestämmer hur långa steg i \( x\)-led man gör. Om man väljer att ta steg med längden 0.5 så kan man inleda med att beräkna lutningen i punkten \( (0.5;1)\), som var startpunkten (\( A_0\)). Sedan går man 1 steg med längden 0.5 i \( x\)-led i den riktning som lutningen går. Sedan beräknar man den nya lutningen i punkten man nu befinner sig (\( A_1\)) och fortsätter så, tills man är vid \( y(3)\).

eulers-1

Figuren illustrerar en röd lösningskurva till en differentialekvation,
och gröna linjesegment som approximerar värden på lösningskurvan med hjälp av Eulers stegmetod.

Exempel

Vi har givet att \( xy’ – y = x^2, \ y(1) = 0\), och vi vill beräkna \( y(2)\). Vi kan inte lösa den typen av differentialekvationer med de metoder vi känner till, så vi får använda Eulers stegmetod istället. Vi sätter steglängden till \( h = 0.5\), eftersom approximationen blir bättre, ju kortare steg man tar. Vi vet att startpunkten är i \( (1,0)\). Vi skriver om differentialekvationen som

\( y'(x) = \frac{x^2+y}{x} \ .\)

Detta ger lutningen

\( y'(1) = \frac{1^2+0}{1} = 1 \ .\)

Vi går i \( x\)-led med steglängden 0.5 med lutningen 1. Då får vi \( y(1.5)\).

\( y(1.5) \approx y(1) + y'(1) \cdot h = 0 + 1 \cdot 0.5 = 0.5 \ .\)

Nu har vi en ny punkt. \( (1.5;0.5)\). Lutningen i denna punkten är

\( y'(1.5) = \frac{1.5^2+0.5}{1.5} = 1.83\ .\)

Vi tar ytterligare ett steg och \( y(2)\) kan beräknas.

\( y(2) \approx y(1.5) + y'(1.5) \cdot h = 0.5 + 1.83 \cdot 0.5 = 1.415 \ .\)

Det visar sig att lösningen till differentialekvationen är

\( y = x^2-x \ ,\)

vilket gör att det verkliga värdet för \( y(2)\) är 2. Vi hade alltså ett fel på 0.6 ungefär. Ju kortare steg man tar, ju bättre approximation får man.

eulers-2

Röd kurva: Lösningen till differentialekvationen.

Gröna linjer: Vårat resultat med Eulers stegmetod. \( h = 0.5\).

Blåa linjer: Eulers stegmetod med \( h = 0.25\).