Kalkulator metody Eulera
Wpisz dy/dx = f(x, y), punkt początkowy i wartość końcową, a otrzymasz przybliżone rozwiązanie metodą Eulera, ulepszoną metodą Eulera (Heuna) albo czwartego rzędu Rungego–Kutty. Dostajesz pełną tabelę kroków z każdym nachyleniem, błąd względem dokładnego rozwiązania (lub dokładnego wzorca), wynik po zmniejszeniu kroku o połowę oraz wykres pola nachyleń z narysowanym na nim rozwiązaniem. Za darmo, bez rejestracji.
Użyj x jako zmiennej niezależnej, a y jako niewiadomej, z operatorami + − * / ^ i nawiasami: x + y, x*y, y*(1 − y), sin(x) − y. Funkcje: sin, cos, tan, exp, ln, sqrt i inne.
Jeśli znasz dokładne rozwiązanie, wpisz je w x, aby zobaczyć prawdziwy błąd; w przeciwnym razie używany jest bardzo dokładny wzorzec RK4.
Wyniki
3,1874849
Przybliżenie y(1)
3,4365637
Dokładne y(1)
-0,249
Błąd
0,1
Wielkość kroku h
10
Kroki n
Metoda
yₙ₊₁ = yₙ + h·f(xₙ, yₙ): idź za nachyleniem na początku każdego kroku. Błąd globalny jest proporcjonalny do h.
Tabela kroków
| n | xₙ | yₙ | k1 | Dokładne y(xₙ) | Błąd |
|---|---|---|---|---|---|
| 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 |
Trzy metody z tym samym krokiem
| Metoda | y na końcu | Błąd |
|---|---|---|
| Metoda Eulera | 3,1874849 | -0,249 |
| Ulepszona metoda Eulera (Heuna) | 3,4281617 | -0,0084 |
| Runge–Kutta 4 | 3,4365595 | -0,00000417 |
Zmniejszanie kroku o połowę (Metoda Eulera)
| n | h | y na końcu | Błąd |
|---|---|---|---|
| 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 |
Dla metody Eulera błąd z grubsza maleje o połowę, gdy h zmniejszy się o połowę; dla metody Heuna spada do jednej czwartej, a dla RK4 do jednej szesnastej.
Wykres
- Dokładne rozwiązanie
- Metoda Eulera
Jak korzystać z kalkulatora metody Eulera
- 1. Wpisz równanie. Zapisz prawą stronę dy/dx = f(x, y), używając x i y:
x + y,y*(1 - y),sin(x) - y. - 2. Podaj warunek początkowy i koniec. Wpisz x₀, y₀ = y(x₀) oraz wartość x, do której chcesz rozwiązać równanie. Koniec może leżeć na lewo od x₀.
- 3. Wybierz krok. Wpisz krok h albo przełącz się na liczbę kroków n. Jeśli h nie dzieli przedziału równo, kalkulator je koryguje i informuje o tym.
- 4. Wybierz metodę i czytaj tabelę. Każdy wiersz podaje xₙ, yₙ i użyte nachylenia. Jeśli znasz dokładne rozwiązanie, wpisz je, aby zobaczyć prawdziwy błąd.
Trzy metody
| Metoda | Krok | Błąd globalny |
|---|---|---|
| Euler | yₙ₊₁ = yₙ + h·f(xₙ, yₙ) | proporcjonalny do h |
| Ulepszona metoda Eulera (Heuna) | yₙ₊₁ = yₙ + (h/2)(k₁ + k₂), gdzie k₁ = f(xₙ, yₙ) i k₂ = f(xₙ + h, yₙ + h·k₁) | proporcjonalny do h² |
| Runge–Kutta 4 | yₙ₊₁ = yₙ + (h/6)(k₁ + 2k₂ + 2k₃ + k₄) | proporcjonalny do h⁴ |
Metoda Eulera idzie wzdłuż stycznej na początku każdego kroku. Metoda Heuna uśrednia nachylenie na początku z nachyleniem w przewidywanym końcu kroku, dlatego nazywa się ją też jawną regułą trapezów. Runge–Kutta 4 próbkuje nachylenie cztery razy na krok i waży te próbki wagami 1, 2, 2, 1. To metody opisane w Numerical Analysis Burdena i Fairesa, w rozdziale 5.
Przykład krok po kroku: y′ = x + y, y(0) = 1
Dokładne rozwiązanie to y = 2eˣ − x − 1, więc y(1) = 2e − 2 ≈ 3,4365637. Metoda Eulera z h = 0,1 daje pierwsze kroki:
| n | xₙ | yₙ | nachylenie f(xₙ, yₙ) | dokładne 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 |
Na przykład y₁ = 1 + 0,1 × (0 + 1) = 1,1, a y₂ = 1,1 + 0,1 × (0,1 + 1,1) = 1,22. Po dziesięciu krokach metoda Eulera daje y(1) ≈ 3,1874849, czyli błąd −0,2491: wynik jest zaniżony, ponieważ prawdziwe rozwiązanie jest wypukłe, a styczne leżą pod jego krzywą.
| Kroki n (h) | Błąd Eulera przy x = 1 | Błąd Heuna | Błąd RK4 |
|---|---|---|---|
| 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 |
Każde zmniejszenie h o połowę zmniejsza błąd metody Eulera mniej więcej o połowę, błąd metody Heuna do jednej czwartej, a błąd RK4 do jednej szesnastej, zgodnie z rzędami przewidzianymi w tabeli. Aby dla metody Eulera uzyskać błąd z RK4 przy n = 10, trzeba by kilkuset tysięcy kroków.
Odczytywanie pola nachyleń i błędu
Krótkie odcinki na wykresie pokazują nachylenie f(x, y) w siatce punktów: prawdziwe rozwiązanie jest krzywą styczną do odcinków w każdym punkcie. Rozwiązanie numeryczne rysowane jest jako łamana na tym tle; jeśli podasz dokładne rozwiązanie, narysowane jest obok przerywaną linią. Bez dokładnego rozwiązania kolumna błędu porównuje wynik z wartością wzorcową z RK4 wykonanego na co najmniej 2 000 kroków — znacznie dokładniejszą niż jakakolwiek metoda wybrana tutaj. Niektóre równania dążą do nieskończoności w skończonym czasie, jak y′ = y² z y(0) = 1 przy x = 1; tabela kończy się tam, gdzie wartości stają się nieskończone.
Najczęstsze pytania
- Jak działa metoda Eulera?
- Buduje rozwiązanie krok po kroku. Z punktu (xₙ, yₙ) oblicza nachylenie f(xₙ, yₙ) z równania różniczkowego i przesuwa się wzdłuż tej stycznej na poziomą odległość h, co daje yₙ₊₁ = yₙ + h·f(xₙ, yₙ). Każdy nowy punkt jest punktem wyjścia do następnego kroku.
- Jak dokładna jest metoda Eulera?
- Jej błąd lokalny na krok jest proporcjonalny do h², ale błędy narastają przez około 1/h kroków, więc błąd globalny jest proporcjonalny do h. Zmniejszenie kroku o połowę zmniejsza błąd o połowę. To dobra metoda do nauki, a słaba, gdy liczy się precyzja.
- Czym jest ulepszona metoda Eulera?
- Ulepszona metoda Eulera, czyli metoda Heuna, najpierw wykonuje krok Eulera, aby przewidzieć koniec przedziału, a potem uśrednia nachylenie w tym punkcie z nachyleniem na początku. Ta poprawka drugiego rzędu sprawia, że błąd globalny jest proporcjonalny do h², a nie do h, kosztem dwóch obliczeń nachylenia na krok.
- Jak wybrać wielkość kroku?
- Skorzystaj z tabeli zmniejszania kroku: zmniejszaj h, aż wynik przestanie się zmieniać w cyfrach, na których ci zależy. Metoda Eulera wymaga małego h, ale RK4 osiąga tę samą dokładność przy znacznie większym kroku. Równania sztywne (z szybko zanikającymi składowymi) mogą wymusić mały h w każdej z tych metod.
- Czy kalkulator rozwiąże równanie drugiego rzędu lub układ równań?
- Nie. Rozwiązuje pojedyncze równanie pierwszego rzędu dy/dx = f(x, y). Równanie drugiego rzędu można zapisać jako układ pierwszego rzędu, ale to narzędzie nie obsługuje układów.
- Dlaczego rozwiązanie urywa się w połowie?
- Wartości stały się nieskończone. Dzieje się tak, gdy prawdziwe rozwiązanie dąży do nieskończoności w skończonym czasie albo gdy krok jest zbyt duży dla równania niestabilnego. Tabela kończy się na ostatnim skończonym wierszu, a komunikat podaje wartość x, w pobliżu której to nastąpiło.