2. modyfikacje metody eulera

Transkrypt

2. modyfikacje metody eulera
1
2. MODYFIKACJE METODY EULERA

2. MODYFIKACJE METODY EULERA
Metoda Heun`a
W metodzie tej zamiast stałej wartości pochodnej obliczonej na początku przedziału, jak to było w
metodzie Eulera, oblicza się pochodną również na końcu przedziału. Pierwsze oszacowanie wyniku
nazywamy predyktorem, a następnie korektorem. Metoda ta, dzięki zabiegowi numerycznemu, daje sporą
zmianę w dokładności wyniku i jest znacznie dokładniejsza niż klasyczna metoda Eulera.
y
y
0
=f x i1 , y i1 
0
=
f  x i , y i f x i 1 , y i 1 
2
=f  x i , y i 
xi
x i 1
xi
x
x i 1
x
Rys.2.1 Z lewej- predyktor (pierwszy strzał); z prawej- korektor
Predyktor wyrażamy stosując metodę Eulera:
dy
 f  xi , yi 
dx
y 0i1= y i  f  x i , y i ⋅h
(2.1)
(2.2)
Wzór (2.2) przedstawia wspomniany predyktor. Oznaczając przez:

y 'i 1  f xi 1 , y 0 i 1

(2.3)
mamy:
y' 

y i  y i 1
f x i , y i   f xi1 , y 0 i1

2
2
y i 1  y i 


f  x i , y i   f x i 1 , y 0 i 1
h
2
Wzór (2.5) opisuje działanie korektora.
Metody Komputerowe – Dominika Mejbaum, Anna Snela, Marek Komosa

(2.4)
(2.5)
2
2. MODYFIKACJE METODY EULERA

Przykład 2.1:
Rozwiązać równanie różniczkowe postaci:
dy
 2  x 3  12  x 2  20  x  8,5
dx
Korzystając ze wzoru na korektor otrzymamy następujący wynik:
y i 1  y i 


f  x i , y i   f x i  1 , y 0 i 1
h
2
Zwróćmy uwagę, że gdy prawa strona równania różniczkowego (2.1) nie jest zależna od y to metoda Heun’a
jest równoważna wzorowi wyprowadzonemu w poprzednim rozdziale, kiedy podaliśmy jedną z modyfikacji
metody Eulera.
Porównanie metod
7
6
5
y
4
3
2
1
0
0
0,5
1
1,5
2
2,5
3
3,5
x
rozwiązanie
Metoda Eulera
Metoda Heun`a
Rys.2.2 Porównanie dokładności rozwiązania metody Eulera i Heun’a dla h=0,5
Przykład 2.2:
Rozwiązać równanie różniczkowe postaci:
y '  4  e 0,8 x  0,5  y
w przedziale od x=0 do x=4
war. początkowy x=0 y=2
krok całkowania h=1
Rozwiązanie dokładne:
Metody Komputerowe – Dominika Mejbaum, Anna Snela, Marek Komosa
2. MODYFIKACJE METODY EULERA
3

y 'dok . 


4 0,8 x
e
 e 0,5 x  2  e 0,5 x
1 .3
Do wzoru początkowego podstawiamy warunki brzegowe:
y '0  4  e 0  0,5  (2)  3
Poniższa zależność opisuje nam pierwszy strzał, który wskazuje rozwiązanie
y 01  2  3  (1)  5
Dla punktu x=1 mamy:
y '1  f ( xi , y 0 i )  4  e 0,8(1)  0,5  (5)  6,402164
3  6,402164
 4,701082
3
y1  2  4,70182  (1)  6,701082
y '
y1  2 
3  4  e
 0,5  (6,701082
1  6,275811
2
0 ,8(1)
 0,5  (6,275811
1  6,382129
2
  1,31%
y1  2 
3  4  e

0 ,8(1)

  3,03%
Dla większej liczby prób błąd zaczyna wyraźnie oscylować wokół jednej wartości. Wtedy możemy przerwać
obliczenia. Iterację przerywamy gdy, np.:
y n 1
yn
 100%  5%
Metoda trapezów
Przy okazji omawiania metody Heun’a warto wspomnieć o metodzie całkowania funkcji metodą
trapezów. Jest to metoda analogiczna do metody Heun’a polegająca również na przyjęciu średniej wartości
dwóch po sobie następujących przedziałów, co umożliwia obliczenie pola ograniczonego wykresem. W
gruncie rzeczy obliczamy pole trapezu, gdyż krzywą między kolejnymi przedziałami zastępujemy prostą.
Metody Komputerowe – Dominika Mejbaum, Anna Snela, Marek Komosa
2. MODYFIKACJE METODY EULERA
4

y
f xi
f  x i 1 
xi
x i 1
Rys 2.3 Interpretacja graficzna metody trapezów
x
dy
 f xi , yi 
dx
yi 1
xi1
yi
xi
 dy   f x , y dx
i
yi 1  yi 
i
xi 1
 f ( x)dx
xi
yi 1  yi 
xi1
 f ( x)dx 
xi
f ( xi )  f ( xi 1 )
h
2
f ( xi )  f ( xi 1 )
h
2
(2.6)
Metoda punktu środkowego
W metodzie punktu środkowego (mid-point method) „kierunek” k jest stały i obliczony w połowie
przedziału (xi, xi+1):
y
i
1
 yi  f xi , yi  
2
y i 1  y i  f ( x
i
1
2
,y
i
h
2
1
)h
2
Metody Komputerowe – Dominika Mejbaum, Anna Snela, Marek Komosa
(2.7)
2. MODYFIKACJE METODY EULERA
5

y
y
=f x i 1/2 , y i 1/2 
xi
=f x i 1/2 , y i 1/2 
x i 1/ 2 x i 1
xi
x
x i 1
x
Rys.2.4 Metoda punktu środkowego
Metoda ta jest dokładniejsza od metody Eulera a błąd aproksymacji wynosi Ea ~ O(h3), błąd globalny Et ~ O
(h2).Metody Rungego-Kutty można przedstawić za pomocą ogólnego wzoru :
y i 1  y i    h
 - współczynnik nachylenia, gdzie
1)   f ( xi , yi )
dla metody Eulera
f ( xi , yi )  f ( xi 1 , y
2


3)   f  x 1 , y 1 
 i 2 i 2 
2)  
0
i 1
)
h
dla metody Heun' a
dla metody punktu srodkowego
Metoda Rungego-Kutty
W metodzie Rungego-Kutty (R-K) ogólna postać sposobu całkowania równania różniczkowego ma postać:
y i 1  y i   ( x i , y i , h)h
(2.8)
gdzie  jest tzw. funkcją przyrostową. Funkcja  ma ogólną postać:
  a1 k1  a 2 k 2  ...  a n k n
gdzie:
Metody Komputerowe – Dominika Mejbaum, Anna Snela, Marek Komosa
(2.9)
2. MODYFIKACJE METODY EULERA
6

k 1  f ( xi , yi )
k 2  f ( xi  p1h; y i  q11k1 h)
k 3  f ( x i  p2 h; y i  q 21k 1 h  q22 k 2 h)

k n  f ( xi  p n 1 h; yi  q n 1 ,1 k1 h  q n 1, 2 k 2 h  ...  q n 1 , n1 k n1h)
p, q są stałymi, a n- wyznacza rząd metody Rungego- Kutty.
Metody Komputerowe – Dominika Mejbaum, Anna Snela, Marek Komosa
(2.10)