Metoda Runge
Transkrypt
Metoda Runge
1 METODY KOMPUTEROWE METODA RUNGEGO- KUTTY Michał PŁOTKOWIAK, Adam ŁODYGOWSKI Konsultacje naukowe dr inz. Witold Kąkol Poznań 2002/2003 METODY KOMPUTEROWE 3 Metoda Rungego- Kutty II rzędu W metodzie tej wzór na całkowanie równania różniczkowego ma postać: y i +1 = y i + (a1 k1 + a 2 k 2 )h (3.1) k1 = f ( x i , y i ) k 2 = f ( xi + p1 h; y i + q11k1h) (3.2) (3.3) gdzie: Zależności między współczynnikami są postaci: a1 + a 2 = 1 1 2 1 a 2 q11 = 2 a1 p1 = (3.4) Pokażemy teraz sposób wyznaczania współczynników a, p i q dla metody RK II rzędu. Wartości współczynników znajdziemy przez porównanie wyrazów w rozwinięciu funkcji w szereg Taylora a postacią (3.1-3.3). Rozwińmy funkcję f(x,y) w szereg Taylora. Otrzymamy: Politechnika Poznańska ® Michał Płotkowiak, Adam Łodygowski 2 METODY KOMPUTEROWE METODA RUNGEGO- KUTTY f ' ( xi , y i )h 2 + 0(h 3 ) 2! ∂f ( xi , y i ) ∂f ( xi , y i ) dy f ' ( xi , y i ) = + ∂x ∂y dx y i +1 = y i + f ( xi , y i )h + y i +1 = y i + f ( xi , y i )h + ( ∂f ∂f dy h 2 + ) ∂x ∂y dx 2! Dowolną ciągłą funkcję g(x,y) możemy przedstawić w postaci: g ( x + r , y + s ) = g ( x, y ) + r ∂g ∂g +s +Κ ∂x ∂y (3.5) Zatem (3.3) możemy zapisać w postaci: f ( xi + p1 h, y i + q11 k1 h) = f ( xi , y i ) + p1 h ∂f ∂f + q11 k1 h + 0(h 2 ) ∂x ∂y (3.6) gdzie 0(h2) oznacza wyrazy wyższego rzędu. Zgodnie ze wzorem metody RK (3.1) po podstawieniu (3.2) oraz (3.3) otrzymujemy: y i +1 = y i + a1 hf ( xi , y i ) + a 2 hf ( xi , y i ) + a 2 p1 h 2 + a 2 q11 h 2 ∂f f ( xi , y i ) + 0(h 3 ) ∂y ∂f + ∂x (3.7) Po pogrupowaniu odpowiednich wyrazów otrzymamy: ∂f ∂f y i +1 = y i + hf ( xi , y i )[a1 + a 2 ] + a 2 p1 + a 2 q11 f ( xi , y i ) + ∂x ∂y 3 + 0(h ) (3.8) Wyrażenie powyższe musi być równoważne z rozwinięciem funkcji w szereg Taylora y i +1 ∂f ∂f dx h 2 ) = y i + f ( xi , y i )h + ( + ∂x ∂y dy 2! Politechnika Poznańska ® Michał Płotkowiak, Adam Łodygowski METODY KOMPUTEROWE 3 METODA RUNGEGO- KUTTY Z tego wynika, że musi zachodzić: a1 + a 2 = 1 1 2 1 a 2 q11 = 2 a1 p1 = (3.9) Podobnie możemy wyprowadzić znane nam już wzory dla metod RK: 1. Heuns’a z jednym korektorem: a2=1/2 zgodnie z zależnościami() a1=1/2, p1=q11=1 1 1 y i +1 = y i + ( k1 + k 2 )h 2 2 k1 = f ( x i , y i ) k 2 = f ( xi + h; y i + k1 h) (3.10) (3.11) 2. Punktu pośredniego (mid-point method) a2=1 zgodnie z zależnościami() a1=0, p1=q11=1/2 y i +1 = y i + k 2 h k1 = f ( x i , y i ) 1 1 k 2 = f ( xi + h; y i + k1 h) 2 2 (3.12) (3.13) 3. Ralstona’a a2=2/3 zgodnie z zależnościami() a1=1/3, p1=q11=3/4 1 2 y i +1 = y i + ( k1 + k 2 )h 3 3 k1 = f ( x i , y i ) Politechnika Poznańska ® Michał Płotkowiak, Adam Łodygowski (3.14) 4 METODY KOMPUTEROWE METODA RUNGEGO- KUTTY k 2 = f ( xi + 3 3 h; y i + k1 h) 4 4 (3.15) PRZYKŁAD Obliczyć wartość funkcji w punkcie x=0.5 metodą Ralstona’a Założenia: war. pocz. y(0)=1, x należy do przedziału (0,4). f ( xi , y i ) = −2 x 3 + 12 x 2 − 20 x + 8,5 Zgodnie z zależnościami (3.9) 3 ⋅ 0,5 = 0,375 4 k1 = f (0) = 8,5 0+ k 2 = −2(0,375) 3 + 12(0,375) 2 − 20(0,375) + 8,5 = 2,58203125 Funkcja przyrostowa wynosi: 1 2 φ = ⋅ 8,5 + ⋅ 2,58203125 = 4,5546875 3 3 ostatecznie otrzymujemy y (0,5) = 1 + 4,5546875(0,5) = 3,27734375 błąd procentowy wynosi ε = 1,82% x y 0 0,5 1 1,5 2 2,5 3 3,5 4 y' 1 3,21875 3 2,21875 2 2,71875 4 4,71875 3 8,5 1,25 -1,5 -1,25 0,5 2,25 2,5 -0,25 -7,5 Politechnika Poznańska ® Euler 1 5,25 5,875 5,125 4,5 4,75 5,875 7,125 7 Heun 1 3,4375 5,1875 5,1875 4,9375 5,1875 5,9375 6,4375 5,1875 RKRalston RK-midpoint 1 3,109375 2,8125 1,984375 1,75 2,484375 3,8125 4,609375 3 0 0,5 1 1,5 2 2,5 3 3,5 4 1 3,277344 3,101563 2,347656 2,140625 2,855469 4,117188 4,800781 3,03125 Michał Płotkowiak, Adam Łodygowski 5 METODY KOMPUTEROWE METODA RUNGEGO- KUTTY dy = −2 x 3 + 12 x 2 − 20 x + 8,5 dx y = −0,5 x 4 + 4 x 3 − 10 x 2 + 8,5 x + 1 Metoda Rungego-Kutty 8 7 6 Y 5 4 3 2 1 Rozw. dokładne 0 Euler 0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 Heun RK-Midpoint X RK-Ralston Metoda R-K rzędu IV Metoda ta jest najbardziej popularna wśród metod RK. Wzór na całkowanie równania różniczkowego ma postać: 1 y i +1 = y i + (k1 + 2k 2 + 2k 3 + k 4 )h 6 k1 = f ( xi , yi ) 1 1 k 2 = f ( xi + h; y i + k1 h) 2 2 1 1 k 3 = f ( xi + h, y i + k 2 h) 2 2 Politechnika Poznańska ® Michał Płotkowiak, Adam Łodygowski (3.16) (3.17) (3.18) METODY KOMPUTEROWE 6 METODA RUNGEGO- KUTTY k 4 = f ( xi + h; y i + k 3 h) (3.19) Rys. 1. Graficzne przedstawienie metody RK IV rzędu Metody RK rzędu V (Butcher 1964) W metodzie RK V rzędu wzór na całkowanie ma postać: y i +1 = y i + 1 (7k1 + 32k 3 + 12k 4 + 32k 5 + 7 k 6 )h 90 Im wyższy rząd metody tym większa jej dokładność. Politechnika Poznańska ® Michał Płotkowiak, Adam Łodygowski (3.20)