Naar de inhoud

Euler-methodecalculator

Voer dy/dx = f(x, y) in, een beginpunt en een eindwaarde, en krijg de benaderde oplossing met de Euler-methode, de verbeterde Euler-methode (Heun) of de Runge–Kutta-methode van de vierde orde. Je krijgt de volledige stappentabel met elke helling, de fout ten opzichte van de exacte oplossing (of een nauwkeurige referentie), wat er gebeurt als je de stap halveert, en een grafiek van het richtingsveld met de oplossing erdoorheen getekend. Gratis, zonder registratie.

Gebruik x voor de onafhankelijke variabele en y voor de onbekende, met + − * / ^ en haakjes: x + y, x*y, y*(1 − y), sin(x) − y. Functies: sin, cos, tan, exp, ln, sqrt en meer.

Als je de exacte oplossing kent, vul die dan in als functie van x om de werkelijke fout te zien; anders wordt een zeer nauwkeurige RK4-referentie gebruikt.

Resultaten

3,1874849

Benadering van y(1)

3,4365637

Exacte y(1)

-0,249

Fout

0,1

Stapgrootte h

10

Stappen n

De methode

yₙ₊₁ = yₙ + h·f(xₙ, yₙ): volg de helling aan het begin van elke stap. De globale fout is evenredig met h.

Stappentabel

nxₙyₙk1Exacte y(xₙ)Fout
001110
10,11,11,21,1103418-0,0103
20,21,221,421,2428055-0,0228
30,31,3621,6621,3997176-0,0377
40,41,52821,92821,5836494-0,0554
50,51,721022,221021,7974425-0,0764
60,61,9431222,5431222,0442376-0,101
70,72,19743422,89743422,3275054-0,13
80,82,48717763,28717762,6510819-0,164
90,92,81589543,71589543,0192062-0,203
1013,18748493,4365637-0,249

De drie methoden met dezelfde stap

Methodey aan het eindeFout
Euler-methode3,1874849-0,249
Verbeterde Euler (Heun)3,4281617-0,0084
Runge–Kutta 43,4365595-0,00000417

De stap halveren (Euler-methode)

nhy aan het eindeFout
100,13,1874849-0,249
200,053,3065954-0,13
400,0253,3701277-0,0664
800,01253,4029699-0,0336

Bij de Euler-methode halveert de fout ongeveer wanneer h wordt gehalveerd; bij die van Heun daalt ze tot een kwart en bij RK4 tot een zestiende.

Grafiek

  • Exacte oplossing
  • Euler-methode
Richtingsveld van dy/dx = f(x, y) met de oplossing volgens Euler-methode van x = 0 tot x = 100,20,40,60,81123xy

Zo gebruik je de Euler-methodecalculator

  1. 1. Voer de vergelijking in. Schrijf het rechterlid van dy/dx = f(x, y) met x en y: x + y, y*(1 - y), sin(x) - y.
  2. 2. Geef de beginvoorwaarde en het einde. Voer x₀, y₀ = y(x₀) en de x-waarde in waarop je wilt oplossen. Het einde mag links van x₀ liggen.
  3. 3. Kies de stap. Voer een stapgrootte h in, of schakel over naar een aantal stappen n. Als h het interval niet precies deelt, past de calculator h aan en laat je dat weten.
  4. 4. Kies een methode en lees de tabel. Elke rij toont xₙ, yₙ en de gebruikte hellingen. Als je de exacte oplossing kent, vul die dan in om de werkelijke fout te zien.

De drie methoden

MethodeStapGlobale fout
Euleryₙ₊₁ = yₙ + h·f(xₙ, yₙ)evenredig met h
Verbeterde Euler (Heun)yₙ₊₁ = yₙ + (h/2)(k₁ + k₂), met k₁ = f(xₙ, yₙ) en k₂ = f(xₙ + h, yₙ + h·k₁)evenredig met h²
Runge–Kutta 4yₙ₊₁ = yₙ + (h/6)(k₁ + 2k₂ + 2k₃ + k₄)evenredig met h⁴

De Euler-methode volgt de raaklijn aan het begin van elke stap. De methode van Heun middelt de helling aan het begin met de helling aan het voorspelde eindpunt, en daarom heet ze ook de expliciete trapeziumregel. Runge–Kutta 4 meet de helling vier keer per stap en weegt die met 1, 2, 2 en 1. Dit zijn de methoden uit Burden en Faires, Numerical Analysis, hoofdstuk 5.

Uitgewerkt voorbeeld: y′ = x + y, y(0) = 1

De exacte oplossing is y = 2eˣ − x − 1, dus y(1) = 2e − 2 ≈ 3,4365637. Met de Euler-methode en h = 0,1 zien de eerste stappen er zo uit:

nxₙyₙhelling f(xₙ, yₙ)exacte y(xₙ)
00111
10,11,11,21,1103418
20,21,221,421,2428055
30,31,3621,6621,3997176

Zo is y₁ = 1 + 0,1 × (0 + 1) = 1,1 en y₂ = 1,1 + 0,1 × (0,1 + 1,1) = 1,22. Na tien stappen bereikt de Euler-methode y(1) ≈ 3,1874849, een fout van −0,2491: ze onderschat omdat de ware oplossing convex is en de raaklijnen onder de kromme liggen.

Stappen n (h)Euler-fout bij x = 1Heun-foutRK4-fout
10 (0,1)−0,2491−0,0084−0,0000042
20 (0,05)−0,1300−0,0022−0,00000027
40 (0,025)−0,0664−0,00056−0,000000017
80 (0,0125)−0,0336−0,00014−0,0000000011

Elke halvering van h halveert de fout van Euler ongeveer, die van Heun tot een kwart en die van RK4 tot een zestiende, zoals de orde van de methoden voorspelt. Om de fout van RK4 bij n = 10 te evenaren, zou de Euler-methode enkele honderdduizenden stappen nodig hebben.

Het richtingsveld en de fout lezen

De korte lijnstukjes in de grafiek tonen de helling f(x, y) op een raster van punten: de ware oplossing is een kromme die overal de lijnstukjes raakt. De numerieke oplossing is als veellijn over het veld getekend; als je de exacte oplossing invult, wordt die er gestippeld naast getekend. Zonder exacte oplossing vergelijkt de foutkolom met een referentiewaarde van RK4 met minstens 2.000 stappen, die veel nauwkeuriger is dan elke methode die je hier kiest. Sommige vergelijkingen lopen in eindige tijd uit de hand, zoals y′ = y² met y(0) = 1 bij x = 1; de tabel stopt waar de waarden oneindig worden.

Veelgestelde vragen

Hoe werkt de Euler-methode?
Ze bouwt de oplossing stap voor stap op. Vanuit het punt (xₙ, yₙ) berekent ze de helling f(xₙ, yₙ) uit de differentiaalvergelijking en beweegt ze langs die raaklijn over een horizontale afstand h, wat yₙ₊₁ = yₙ + h·f(xₙ, yₙ) geeft. Elk nieuw punt is het startpunt voor de volgende stap.
Hoe nauwkeurig is de Euler-methode?
De lokale fout per stap is evenredig met h², maar de fouten tellen op over ongeveer 1/h stappen, dus de globale fout is evenredig met h. Een halvering van de stap halveert de fout. Het is een goede methode om te leren en een slechte als je precisie nodig hebt.
Wat is de verbeterde Euler-methode?
De verbeterde Euler-methode, of de methode van Heun, zet eerst een Euler-stap om het eindpunt van het interval te voorspellen en middelt dan de helling daar met de helling aan het begin. Die correctie van de tweede orde maakt de globale fout evenredig met h² in plaats van h, ten koste van twee hellingberekeningen per stap.
Hoe kies ik de stapgrootte?
Gebruik de tabel met halveringen: verklein h tot het antwoord niet meer verandert in de cijfers die jij nodig hebt. De Euler-methode heeft een kleine h nodig, maar RK4 bereikt dezelfde nauwkeurigheid met een veel grotere h. Stijve vergelijkingen (met snel uitdovende componenten) kunnen bij elk van deze methoden een kleine h afdwingen.
Kan het tweede-orde-vergelijkingen of stelsels oplossen?
Nee. Het lost één eerste-orde vergelijking dy/dx = f(x, y) op. Een tweede-orde vergelijking kan als eerste-orde stelsel worden geschreven, maar deze tool werkt niet met stelsels.
Waarom stopt de oplossing halverwege?
De waarden zijn oneindig geworden. Dat gebeurt als de ware oplossing in eindige tijd uit de hand loopt, of als de stap te groot is voor een onstabiele vergelijking. De tabel eindigt bij de laatste eindige rij, en het bericht geeft de x-waarde aan waarbij dat gebeurde.

Gerelateerde tools

Meer hulpmiddelen: Wiskundecalculators