2. modyfikacje metody eulera
2. modyfikacje metody eulera
2. modyfikacje metody eulera
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>2.</strong> MODYFIKACJE METODY EULERA 1<br />
<br />
<strong>2.</strong> MODYFIKACJE METODY EULERA<br />
Metoda Heun`a<br />
W metodzie tej zamiast stałej wartości pochodnej obliczonej na początku przedziału, jak to było w<br />
metodzie Eulera, oblicza się pochodną również na końcu przedziału. Pierwsze oszacowanie wyniku<br />
nazywamy predyktorem, a następnie korektorem. Metoda ta, dzięki zabiegowi numerycznemu, daje sporą<br />
zmianę w dokładności wyniku i jest znacznie dokładniejsza niż klasyczna metoda Eulera.<br />
y<br />
y<br />
=f x i<br />
, y i<br />
<br />
0<br />
=f x i1<br />
, y i1<br />
<br />
= f x , y f x , y 0<br />
i i i1 i1<br />
2<br />
x i x i1 x<br />
x i<br />
x i1<br />
x<br />
Predyktor wyrażamy stosując metodę Eulera:<br />
Rys.<strong>2.</strong>1 Z lewej- predyktor (pierwszy strzał); z prawej- korektor<br />
dy<br />
dx<br />
Wzór (<strong>2.</strong>2) przedstawia wspomniany predyktor. Oznaczając przez:<br />
<br />
<br />
f x i<br />
, y i<br />
(<strong>2.</strong>1)<br />
0<br />
y i1<br />
= y i<br />
f x i<br />
, y i ⋅h (<strong>2.</strong>2)<br />
<br />
'<br />
0<br />
i1<br />
f xi<br />
1, y i1<br />
<br />
y (<strong>2.</strong>3)<br />
mamy:<br />
0<br />
x<br />
, y f x<br />
, y i1<br />
<br />
'<br />
yi<br />
yi1<br />
f<br />
i i<br />
i1<br />
y <br />
(<strong>2.</strong>4)<br />
2<br />
2<br />
y<br />
i<br />
Wzór (<strong>2.</strong>5) opisuje działanie korektora.<br />
0<br />
xi<br />
, yi<br />
<br />
f xi1<br />
, y i 1<br />
<br />
h<br />
f<br />
yi<br />
<br />
(<strong>2.</strong>5)<br />
1<br />
2<br />
Metody Komputerowe – Dominika Mejbaum, Anna Snela, Marek Komosa
<strong>2.</strong> MODYFIKACJE METODY EULERA 2<br />
<br />
Przykład <strong>2.</strong>1:<br />
Rozwiązać równanie różniczkowe postaci:<br />
dy<br />
dx<br />
2<br />
x<br />
3<br />
12<br />
x<br />
2<br />
20<br />
x 8,5<br />
Korzystając ze wzoru na korektor otrzymamy następujący wynik:<br />
y<br />
i1<br />
y<br />
i<br />
<br />
f<br />
0<br />
xi<br />
, yi<br />
<br />
f xi1<br />
, y i 1<br />
<br />
h<br />
2<br />
Zwróćmy uwagę, że gdy prawa strona równania różniczkowego (<strong>2.</strong>1) nie jest zależna od y to metoda Heun’a<br />
jest równoważna wzorowi wyprowadzonemu w poprzednim rozdziale, kiedy podaliśmy jedną z modyfikacji<br />
<strong>metody</strong> Eulera.<br />
Porównanie metod<br />
y<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
0 0,5 1 1,5 2 2,5 3 3,5<br />
x<br />
rozwiązanie Metoda Eulera Metoda Heun`a<br />
Rys.<strong>2.</strong>2 Porównanie dokładności rozwiązania <strong>metody</strong> Eulera i Heun’a dla h=0,5<br />
Przykład <strong>2.</strong>2:<br />
Rozwiązać równanie różniczkowe postaci:<br />
w przedziale od x=0 do x=4<br />
war. początkowy x=0 y=2<br />
krok całkowania h=1<br />
Rozwiązanie dokładne:<br />
y'<br />
4e<br />
0,8x<br />
0,5<br />
y<br />
Metody Komputerowe – Dominika Mejbaum, Anna Snela, Marek Komosa
<strong>2.</strong> MODYFIKACJE METODY EULERA 3<br />
<br />
y'<br />
4<br />
1.3<br />
0,8x<br />
0,5x<br />
0,5x<br />
e<br />
e <br />
e<br />
dok. <br />
2<br />
Do wzoru początkowego podstawiamy warunki brzegowe:<br />
0<br />
y'<br />
0<br />
4e<br />
0,5 (2)<br />
3<br />
Poniższa zależność opisuje nam pierwszy strzał, który wskazuje rozwiązanie<br />
Dla punktu x=1 mamy:<br />
y'<br />
1<br />
1<br />
<br />
1,31%<br />
1<br />
1<br />
f ( x , y<br />
y 2 <br />
y 2 <br />
<br />
3,03%<br />
i<br />
0<br />
i<br />
3<br />
4e<br />
3<br />
4e<br />
y<br />
0<br />
1<br />
) 4e<br />
0,8 (1)<br />
0,8 (1)<br />
2 3(1)<br />
5<br />
0,8 (1)<br />
3<br />
6,402164<br />
y ' <br />
4,701082<br />
3<br />
y 2 4,70182(1)<br />
6,701082<br />
0,5 (5)<br />
6,402164<br />
0,5<br />
(6,701082<br />
2<br />
0,5<br />
(6,275811<br />
2<br />
<br />
<br />
1<br />
6,275811<br />
1<br />
6,382129<br />
Dla większej liczby prób błąd zaczyna wyraźnie oscylować wokół jednej wartości. Wtedy możemy przerwać<br />
obliczenia. Iterację przerywamy gdy, np.:<br />
y<br />
n1<br />
y<br />
n<br />
100%<br />
5%<br />
Metoda trapezów<br />
Przy okazji omawiania <strong>metody</strong> Heun’a warto wspomnieć o metodzie całkowania funkcji metodą<br />
trapezów. Jest to metoda analogiczna do <strong>metody</strong> Heun’a polegająca również na przyjęciu średniej wartości<br />
dwóch po sobie następujących przedziałów, co umożliwia obliczenie pola ograniczonego wykresem. W<br />
gruncie rzeczy obliczamy pole trapezu, gdyż krzywą między kolejnymi przedziałami zastępujemy prostą.<br />
Metody Komputerowe – Dominika Mejbaum, Anna Snela, Marek Komosa
<strong>2.</strong> MODYFIKACJE METODY EULERA 4<br />
<br />
y<br />
f x i<br />
<br />
f x i1<br />
<br />
x i x i 1 x<br />
Rys <strong>2.</strong>3 Interpretacja graficzna <strong>metody</strong> trapezów<br />
y<br />
i1<br />
yi1<br />
<br />
yi<br />
y<br />
dy<br />
dx<br />
dy <br />
i1<br />
i<br />
<br />
y<br />
y <br />
<br />
f<br />
xi1<br />
xi<br />
i<br />
f<br />
<br />
f<br />
<br />
x i<br />
, y i<br />
<br />
x , y<br />
xi<br />
1<br />
xi<br />
i<br />
<br />
i<br />
<br />
dx<br />
f ( x)<br />
dx<br />
(<br />
1<br />
xi<br />
) f ( xi<br />
2<br />
)<br />
h<br />
x<br />
i<br />
f xi<br />
f xi<br />
1<br />
( ) (<br />
f x)<br />
dx <br />
2<br />
xi<br />
1<br />
(<br />
)<br />
h<br />
(<strong>2.</strong>6)<br />
Metoda punktu środkowego<br />
W metodzie punktu środkowego (mid-point method) „kierunek” k jest stały i obliczony w połowie<br />
przedziału (x i , x i+1 ):<br />
y<br />
y<br />
1<br />
i<br />
2<br />
i1<br />
y<br />
y<br />
i<br />
i<br />
f<br />
<br />
x , y<br />
i<br />
f ( x<br />
1<br />
i <br />
2<br />
i<br />
<br />
, y<br />
h<br />
<br />
2<br />
1<br />
i<br />
2<br />
) h<br />
(<strong>2.</strong>7)<br />
Metody Komputerowe – Dominika Mejbaum, Anna Snela, Marek Komosa
<strong>2.</strong> MODYFIKACJE METODY EULERA 5<br />
<br />
y<br />
=f x i1/2<br />
, y i1/2<br />
<br />
y<br />
=f x i1/2<br />
, y i1/2<br />
<br />
x i x i1/2 x i1 x<br />
x i x i1 x<br />
Rys.<strong>2.</strong>4 Metoda punktu środkowego<br />
Metoda ta jest dokładniejsza od <strong>metody</strong> Eulera a błąd aproksymacji wynosi E a ~ O(h 3 ), błąd globalny E t ~ O<br />
(h 2 ).Metody Rungego-Kutty można przedstawić za pomocą ogólnego wzoru :<br />
y<br />
i1<br />
y<br />
i<br />
h<br />
- współczynnik nachylenia, gdzie<br />
1) <br />
f ( x , y )<br />
i<br />
f ( xi,<br />
yi<br />
) f ( x<br />
2) <br />
2<br />
<br />
3) f <br />
1<br />
, <br />
x y<br />
1<br />
i<br />
i<br />
2 2 <br />
i<br />
i1<br />
, y<br />
0<br />
i1<br />
)<br />
h<br />
dla <strong>metody</strong> Eulera<br />
dla <strong>metody</strong> Heun' a<br />
dla <strong>metody</strong> punktu srodkowego<br />
Metoda Rungego-Kutty<br />
W metodzie Rungego-Kutty (R-K) ogólna postać sposobu całkowania równania różniczkowego ma postać:<br />
yi 1<br />
yi<br />
( xi<br />
, yi<br />
, h)<br />
h<br />
(<strong>2.</strong>8)<br />
gdzie jest tzw. funkcją przyrostową. Funkcja ma ogólną postać:<br />
gdzie:<br />
a k a k ... a k 1 1 2 2<br />
n n<br />
(<strong>2.</strong>9)<br />
Metody Komputerowe – Dominika Mejbaum, Anna Snela, Marek Komosa
<strong>2.</strong> MODYFIKACJE METODY EULERA 6<br />
<br />
k<br />
k<br />
k<br />
<br />
k<br />
1<br />
2<br />
3<br />
n<br />
f ( x , y )<br />
i<br />
f ( x<br />
i<br />
f ( x<br />
i<br />
f ( x<br />
i<br />
<br />
<br />
<br />
i<br />
p h;<br />
y<br />
p<br />
1<br />
p h;<br />
y<br />
2<br />
n 1<br />
i<br />
i<br />
h;<br />
y<br />
q<br />
q<br />
i<br />
11<br />
21<br />
q<br />
k h)<br />
1<br />
k h q<br />
1<br />
n1 1,<br />
1<br />
22<br />
2<br />
k h q<br />
k h)<br />
n 1,2<br />
k h ... q<br />
2<br />
n 1,<br />
n1<br />
k<br />
n1<br />
h)<br />
(<strong>2.</strong>10)<br />
p, q są stałymi, a n- wyznacza rząd <strong>metody</strong> Rungego- Kutty.<br />
Metody Komputerowe – Dominika Mejbaum, Anna Snela, Marek Komosa