Euler-Verfahren-Rechner
Geben Sie dy/dx = f(x, y), einen Anfangspunkt und einen Endwert ein, und erhalten Sie die Näherungslösung nach dem Euler-Verfahren, dem verbesserten Euler-Verfahren (Heun) oder dem Runge–Kutta-Verfahren vierter Ordnung. Dazu gehören die vollständige Schrittabelle mit jeder Steigung, der Fehler gegenüber der exakten Lösung (oder einer sehr genauen Referenz), das Verhalten bei halbierter Schrittweite und ein Graph des Richtungsfelds mit der darübergezeichneten Lösung. Kostenlos, ohne Anmeldung.
Verwenden Sie x für die unabhängige Variable und y für die gesuchte Größe, mit + − * / ^ und Klammern: x + y, x*y, y*(1 − y), sin(x) − y. Funktionen: sin, cos, tan, exp, ln, sqrt und weitere.
Wenn Sie die exakte Lösung kennen, geben Sie sie in x ein, um den wahren Fehler zu sehen. Andernfalls wird eine sehr genaue Referenz mit RK4 verwendet.
Ergebnisse
3,1874849
Näherung von y(1)
3,4365637
Exakt y(1)
-0,249
Fehler
0,1
Schrittweite h
10
Schritte n
Das Verfahren
yₙ₊₁ = yₙ + h·f(xₙ, yₙ): Die Steigung am Anfang jedes Schritts wird übernommen. Der globale Fehler ist proportional zu h.
Schrittabelle
| n | xₙ | yₙ | k1 | Exakt y(xₙ) | Fehler |
|---|---|---|---|---|---|
| 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 |
Die drei Verfahren mit gleicher Schrittweite
| Verfahren | y am Ende | Fehler |
|---|---|---|
| Euler-Verfahren | 3,1874849 | -0,249 |
| Verbessertes Euler-Verfahren (Heun) | 3,4281617 | -0,0084 |
| Runge–Kutta 4 | 3,4365595 | -0,00000417 |
Halbierung der Schrittweite (Euler-Verfahren)
| n | h | y am Ende | Fehler |
|---|---|---|---|
| 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 |
Beim Euler-Verfahren halbiert sich der Fehler ungefähr, wenn h halbiert wird. Beim Heun-Verfahren sinkt er auf ein Viertel, bei RK4 auf ein Sechzehntel.
Graph
- Exakte Lösung
- Euler-Verfahren
So verwenden Sie den Euler-Verfahren-Rechner
- 1. Geben Sie die Gleichung ein. Schreiben Sie die rechte Seite von dy/dx = f(x, y) mit x und y:
x + y,y*(1 - y),sin(x) - y. - 2. Geben Sie die Anfangsbedingung und das Ende an. Tragen Sie x₀, y₀ = y(x₀) und den x-Wert ein, bis zu dem gelöst werden soll. Das Ende darf links von x₀ liegen.
- 3. Wählen Sie die Schritte. Geben Sie eine Schrittweite h ein oder wechseln Sie zu einer Anzahl von Schritten n. Teilt h das Intervall nicht genau, passt der Rechner h an und weist Sie darauf hin.
- 4. Wählen Sie ein Verfahren und lesen Sie die Tabelle. Jede Zeile nennt xₙ, yₙ und die verwendeten Steigungen. Wenn Sie die exakte Lösung kennen, tragen Sie sie ein, um den wahren Fehler zu sehen.
Die drei Verfahren
| Verfahren | Schritt | Globaler Fehler |
|---|---|---|
| Euler | yₙ₊₁ = yₙ + h·f(xₙ, yₙ) | proportional zu h |
| Verbessertes Euler-Verfahren (Heun) | yₙ₊₁ = yₙ + (h/2)(k₁ + k₂), mit k₁ = f(xₙ, yₙ) und k₂ = f(xₙ + h, yₙ + h·k₁) | proportional zu h² |
| Runge–Kutta 4 | yₙ₊₁ = yₙ + (h/6)(k₁ + 2k₂ + 2k₃ + k₄) | proportional zu h⁴ |
Das Euler-Verfahren folgt am Anfang jedes Schritts der Tangente. Das Verfahren von Heun mittelt die Steigung am Anfang mit der Steigung am vorhergesagten Ende; deshalb heißt es auch explizite Trapezregel. Runge–Kutta 4 tastet die Steigung pro Schritt viermal ab und gewichtet die Werte mit 1, 2, 2, 1. Diese Verfahren stammen aus Burden und Faires, Numerical Analysis, Kapitel 5.
Beispiel: y′ = x + y, y(0) = 1
Die exakte Lösung ist y = 2eˣ − x − 1, also y(1) = 2e − 2 ≈ 3,4365637. Mit dem Euler-Verfahren und h = 0,1 lauten die ersten Schritte:
| n | xₙ | yₙ | Steigung f(xₙ, yₙ) | exakt 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 |
Zum Beispiel ist y₁ = 1 + 0,1 × (0 + 1) = 1,1 und y₂ = 1,1 + 0,1 × (0,1 + 1,1) = 1,22. Nach zehn Schritten erreicht das Euler-Verfahren y(1) ≈ 3,1874849, ein Fehler von −0,2491: Es unterschätzt den Wert, weil die exakte Lösung konvex ist und die Tangenten unterhalb von ihr liegen.
| Schritte n (h) | Euler-Fehler bei x = 1 | Heun-Fehler | RK4-Fehler |
|---|---|---|---|
| 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 |
Bei jeder Halbierung von h sinkt der Fehler des Euler-Verfahrens etwa auf die Hälfte, der von Heun auf ein Viertel und der von RK4 auf ein Sechzehntel, wie es die Ordnungen der Verfahren vorhersagen. Um den Fehler von RK4 bei n = 10 zu erreichen, bräuchte das Euler-Verfahren mehrere hunderttausend Schritte.
Richtungsfeld und Fehler lesen
Die kurzen Strecken im Graphen zeigen die Steigung f(x, y) an einem Gitter von Punkten: Die wahre Lösung ist eine Kurve, die überall die Strecken berührt. Die numerische Lösung wird als Polygonzug darübergezeichnet; wenn Sie die exakte Lösung angeben, wird sie daneben gestrichelt gezeichnet. Ohne exakte Lösung vergleicht die Fehlerspalte mit einem Referenzwert aus RK4 mit mindestens 2.000 Schritten, der weit genauer ist als jedes hier wählbare Verfahren. Manche Gleichungen werden in endlicher Zeit unendlich, etwa y′ = y² mit y(0) = 1 bei x = 1; die Tabelle endet dort, wo die Werte unendlich werden.
Häufig gestellte Fragen
- Wie funktioniert das Euler-Verfahren?
- Es baut die Lösung Schritt für Schritt auf. Vom Punkt (xₙ, yₙ) berechnet es die Steigung f(xₙ, yₙ) aus der Differentialgleichung und folgt dieser Tangente über eine waagerechte Strecke h, also yₙ₊₁ = yₙ + h·f(xₙ, yₙ). Jeder neue Punkt ist der Ausgangspunkt für den nächsten Schritt.
- Wie genau ist das Euler-Verfahren?
- Sein lokaler Fehler pro Schritt ist proportional zu h², die Fehler sammeln sich aber über etwa 1/h Schritte an, daher ist der globale Fehler proportional zu h. Halbiert man die Schrittweite, halbiert sich der Fehler. Es ist eine gute Methode zum Lernen und eine schlechte für Präzision.
- Was ist das verbesserte Euler-Verfahren?
- Das verbesserte Euler-Verfahren oder Heun-Verfahren macht zuerst einen Euler-Schritt, um das Ende des Intervalls vorherzusagen, und mittelt dann die Steigung dort mit der Steigung am Anfang. Diese Korrektur zweiter Ordnung macht den globalen Fehler proportional zu h² statt zu h. Dafür sind pro Schritt zwei Auswertungen der Steigung nötig.
- Wie wähle ich die Schrittweite?
- Verwenden Sie die Halbierungstabelle: Verkleinern Sie h, bis sich das Ergebnis in den Stellen, die Sie brauchen, nicht mehr ändert. Das Euler-Verfahren braucht ein kleines h, RK4 erreicht dieselbe Genauigkeit mit einem viel größeren. Steife Gleichungen (mit schnell abklingenden Anteilen) können bei jedem dieser Verfahren ein kleines h erzwingen.
- Kann es Differentialgleichungen zweiter Ordnung oder Systeme lösen?
- Nein. Es löst eine einzelne Differentialgleichung erster Ordnung dy/dx = f(x, y). Eine Gleichung zweiter Ordnung lässt sich als System erster Ordnung umschreiben, dieses Werkzeug behandelt Systeme jedoch nicht.
- Warum bricht die Lösung unterwegs ab?
- Die Werte sind unendlich geworden. Das passiert, wenn die exakte Lösung in endlicher Zeit unendlich wird, oder wenn die Schrittweite für eine instabile Gleichung zu groß ist. Die Tabelle endet bei der letzten endlichen Zeile, und die Meldung nennt den x-Wert, in dessen Nähe es geschah.