Przejdź do treści

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

nxₙyₙk1Dokładne y(xₙ)Błąd
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

Trzy metody z tym samym krokiem

Metoday na końcuBłąd
Metoda Eulera3,1874849-0,249
Ulepszona metoda Eulera (Heuna)3,4281617-0,0084
Runge–Kutta 43,4365595-0,00000417

Zmniejszanie kroku o połowę (Metoda Eulera)

nhy na końcuBłąd
100,13,1874849-0,249
200,053,3065954-0,13
400,0253,3701277-0,0664
800,01253,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
Pole nachyleń dy/dx = f(x, y) z rozwiązaniem metodą Metoda Eulera od x = 0 do x = 100,20,40,60,81123xy

Jak korzystać z kalkulatora metody Eulera

  1. 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. 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. 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. 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

MetodaKrokBłąd globalny
Euleryₙ₊₁ = 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 4yₙ₊₁ = 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:

nxₙyₙnachylenie f(xₙ, yₙ)dokładne y(xₙ)
00111
10,11,11,21,1103418
20,21,221,421,2428055
30,31,3621,6621,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 = 1Błąd HeunaBłą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.

Powiązane narzędzia

Więcej z kategorii Kalkulatory matematyczne