Metoda Eulera

Ten artykuł dotyczy metody rozwiązywania równań różniczkowych. Zobacz też: Metoda siecznych - metoda numeryczna obliczania miejsca zerowego funkcji, zwana również metodą Eulera.
Krzywe całkowe wyznaczonych przy pomocy metody Eulera, spełniające równanie różniczkowe f ( x , y ) = x ( y + 1 ) x 2 + 2 {\displaystyle f'(x,y)={\frac {x(y+1)}{x^{2}+2}}} dla różnych warunków początkowych.

Metoda Eulera – sposób rozwiązywania równań różniczkowych, opierający się na interpretacji geometrycznej równania różniczkowego. Po raz pierwszy została ona przedstawiona w 1768 roku w podręczniku Leonharda Eulera pt. Institutiones calculi differentialis („Kształcenie w rachunku różniczkowym”)[1].

Metoda podstawowa

Równanie postaci y = f ( x , y ) {\displaystyle y'=f(x,y)} o warunkach początkowych ( x 0 , y 0 ) : y 0 = y ( x 0 ) , {\displaystyle (x_{0},y_{0}):y_{0}=y(x_{0}),} z kolejnymi punktami x i {\displaystyle x_{i}} na osi x:

x n + 1 = x n + h , n = 0 , 1 , 2 , 3 , . . . {\displaystyle x_{n+1}=x_{n}+h,\quad n=0,1,2,3,...}

Ponieważ – z definicji pochodnej

y = Δ y h , {\displaystyle y'={\frac {\Delta y}{h}},}

czyli zarazem

f ( x n , y n ) = y = Δ y h . {\displaystyle f(x_{n},y_{n})=y'={\frac {\Delta y}{h}}.}

Po przekształceniu:

Δ y = h f ( x n , y n ) . {\displaystyle \Delta y=hf(x_{n},y_{n}).}

Ponieważ szukamy wzoru na y n + 1 , {\displaystyle y_{n+1},} zatem do wzoru y n + 1 = y n + Δ y {\displaystyle y_{n+1}=y_{n}+\Delta y} podstawiamy wyżej wyliczone Δ y {\displaystyle \Delta y} i otrzymujemy ostatecznie równanie:

y n + 1 = y n + h f ( x n , y n ) . {\displaystyle y_{n+1}=y_{n}+hf(x_{n},y_{n}).}

Porównując otrzymany wynik z rozwinięciem Taylora otrzymujemy:

y n + 1 = y ( x n + 1 ) = y ( x n + h ) = y n + h f ( x n , y n ) + f ( 2 ) ( ξ ) 2 h 2 , {\displaystyle y_{n+1}=y(x_{n+1})=y(x_{n}+h)=y_{n}+hf(x_{n},y_{n})+{\frac {f^{(2)}(\xi )}{2}}h^{2},}

gdzie x n < ξ < x n + 1 {\displaystyle x_{n}<{\xi }<x_{n+1}}

co oznacza, że przybliżenie wartości y ( x n + 1 ) {\displaystyle y(x_{n+1})} ma błąd rzędu h 2 . {\displaystyle h^{2}.} Świadczy to o tym, że obranie mniejszego przedział kroku da w rezultacie dokładniejszy wynik.

Zbieżność

Zależność dokładności rozwiązania od wielkości kroku najlepiej sprawdzić na przykładzie równania różniczkowego, którego rozwiązanie łatwo jest znaleźć za pomocą wzoru. Przykładem może być równanie y = y {\displaystyle y'=y} dla warunków początkowych x 0 = 0 , y 0 = 1 , {\displaystyle x_{0}=0,y_{0}=1,} którego rozwiązaniem jest funkcja y = exp ( x ) . {\displaystyle y=\exp(x).} Zastosowanie metody Eulera dla takiego równania bardzo wyraźnie zależy od kroku h[2].

h=1: x n + 1 = x n + 1 , {\displaystyle x_{n+1}=x_{n}+1,} y n + 1 = y n + 1 y n = 2 y n {\displaystyle y_{n+1}=y_{n}+1\cdot y_{n}=2y_{n}} dla x n = 4 {\displaystyle x_{n}=4} mamy y n = 16 {\displaystyle y_{n}=16}
h=0.5: x n + 1 = x n + 0 , 5 , {\displaystyle x_{n+1}=x_{n}+0{,}5,} y n + 1 = y n + 0 , 5 y n = 1 , 5 y n , {\displaystyle y_{n+1}=y_{n}+0{,}5\cdot y_{n}=1{,}5y_{n},} dla x n = 4 {\displaystyle x_{n}=4} mamy y n = 25,628 9 {\displaystyle y_{n}=25{,}6289}
h=0.1: x n + 1 = x n + 0 , 1 , {\displaystyle x_{n+1}=x_{n}+0{,}1,} y n + 1 = y n + 0 , 1 y n = 1 , 1 y n , {\displaystyle y_{n+1}=y_{n}+0{,}1\cdot y_{n}=1{,}1y_{n},} dla x n = 4 {\displaystyle x_{n}=4} mamy y n = 45,259 3 {\displaystyle y_{n}=45{,}2593}
h=0.01: x n + 1 = x n + 0 , 01 , {\displaystyle x_{n+1}=x_{n}+0{,}01,} y n + 1 = y n + 0 , 01 y n = 1 , 01 y n , {\displaystyle y_{n+1}=y_{n}+0{,}01\cdot y_{n}=1{,}01y_{n},} dla x n = 4 {\displaystyle x_{n}=4} mamy y n = 53,524 1 {\displaystyle y_{n}=53{,}5241}
h=0.001:   x n + 1 = x n + 0,001 , {\displaystyle x_{n+1}=x_{n}+0{,}001,} y n + 1 = y n + 0,001 y n = 1,001 y n , {\displaystyle y_{n+1}=y_{n}+0{,}001\cdot y_{n}=1{,}001y_{n},} dla x n = 4 {\displaystyle x_{n}=4} mamy y n = 54,589 1 {\displaystyle y_{n}=54{,}5891}

W rzeczywistości exp ( 4 ) 54,598 2. {\displaystyle \exp(4)\approx 54{,}5982.}

Błąd obliczeń rozwiązania równania różniczkowego metoda Eulera maleje wraz ze zmniejszaniem kroku h, ale rośnie wraz ze wzrostem x x 0 {\displaystyle x-x_{0}} dla każdej wartości h. Generalnie metoda Eulera nie jest efektywna. Błąd jej stosowania jest na ogół duży.

Metoda zmodyfikowana

Zgodnie z tą metodą, Δ y {\displaystyle \Delta y} obliczamy jako:

Δ y = f ( x n + h 2 , y n + f ( x n , y n ) h 2 ) h . {\displaystyle \Delta y=f\left(x_{n}+{\frac {h}{2}},y_{n}+f(x_{n},y_{n}){\frac {h}{2}}\right)h.}

Metoda ta jest szczególnym przypadkiem metody Rungego-Kutty, znana popularnie jako metoda punktu środkowego (ang. midpoint).

Metoda udoskonalona

Modyfikacja polega na obliczaniu współczynnika nachylenia stycznej Δ y {\displaystyle \Delta y} za pomocą średniej arytmetycznej:

Δ y = h f ( x n , y n ) + f ( x n + h , y n + f ( x n , y n ) h ) 2 . {\displaystyle \Delta y=h{\frac {f(x_{n},y_{n})+f(x_{n}+h,y_{n}+f(x_{n},y_{n})h)}{2}}.}

Podobnie jak poprzednio, jest to szczególny przypadek metody Rungego-Kutty, znany powszechnie jako Metoda Heuna.

Zobacz też

  • metoda Eulera-Maruyamy
  • metoda Rungego-Kutty
  • metody numeryczne

Przypisy

  1. John C.J.C. Butcher John C.J.C., Numerical Methods for Ordinary Differential Equations, New York: John Wiley & Sons, 2003, ISBN 978-0-471-96758-3 .
  2. Kendall Atkinson: An Introduction to Numerical Analysis. Wyd. 2. Nowy Jork: John Wiley & Sons, 1989. ISBN 978-0-471-50023-0.

Bibliografia

  • Z. Fortuna, B. Macukow, J. Wąsowski, Metody numeryczne Podręczniki akademickie Elektronika, informatyka, telekomunikacja, Warszawa: Wydawnictwa Naukowo-Techniczne, 1982, s. 285–312.
  • D. Potter, Metody obliczeniowe fizyki, fizyka komputerowa, Warszawa: PWN, 1982, s. 19–43.
  • J. Szmelter, Metody komputerowe w mechanice, Warszawa: PWN, 1980, s. 150–157.
  • p
  • d
  • e
zwyczajne
cząstkowe
metody rozwiązań
powiązane pojęcia
twierdzenia
powiązane nauki
badacze
Encyklopedia internetowa (Adams–Bashforth methods):
  • SNL: Eulers_metode