12.11.2014 Views

2. modyfikacje metody eulera

2. modyfikacje metody eulera

2. modyfikacje metody eulera

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!