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
| n | xₙ | yₙ | k1 | Exacte y(xₙ) | Fout |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 1 | 1 | 0 |
| 1 | 0,1 | 1,1 | 1,2 | 1,1103418 | -0,0103 |
| 2 | 0,2 | 1,22 | 1,42 | 1,2428055 | -0,0228 |
| 3 | 0,3 | 1,362 | 1,662 | 1,3997176 | -0,0377 |
| 4 | 0,4 | 1,5282 | 1,9282 | 1,5836494 | -0,0554 |
| 5 | 0,5 | 1,72102 | 2,22102 | 1,7974425 | -0,0764 |
| 6 | 0,6 | 1,943122 | 2,543122 | 2,0442376 | -0,101 |
| 7 | 0,7 | 2,1974342 | 2,8974342 | 2,3275054 | -0,13 |
| 8 | 0,8 | 2,4871776 | 3,2871776 | 2,6510819 | -0,164 |
| 9 | 0,9 | 2,8158954 | 3,7158954 | 3,0192062 | -0,203 |
| 10 | 1 | 3,1874849 | 3,4365637 | -0,249 |
De drie methoden met dezelfde stap
| Methode | y aan het einde | Fout |
|---|---|---|
| Euler-methode | 3,1874849 | -0,249 |
| Verbeterde Euler (Heun) | 3,4281617 | -0,0084 |
| Runge–Kutta 4 | 3,4365595 | -0,00000417 |
De stap halveren (Euler-methode)
| n | h | y aan het einde | Fout |
|---|---|---|---|
| 10 | 0,1 | 3,1874849 | -0,249 |
| 20 | 0,05 | 3,3065954 | -0,13 |
| 40 | 0,025 | 3,3701277 | -0,0664 |
| 80 | 0,0125 | 3,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
Zo gebruik je de Euler-methodecalculator
- 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. 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. 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. 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
| Methode | Stap | Globale fout |
|---|---|---|
| Euler | yₙ₊₁ = 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 4 | yₙ₊₁ = 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:
| n | xₙ | yₙ | helling f(xₙ, yₙ) | exacte y(xₙ) |
|---|---|---|---|---|
| 0 | 0 | 1 | 1 | 1 |
| 1 | 0,1 | 1,1 | 1,2 | 1,1103418 |
| 2 | 0,2 | 1,22 | 1,42 | 1,2428055 |
| 3 | 0,3 | 1,362 | 1,662 | 1,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 = 1 | Heun-fout | RK4-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.