Komputerowa analiza zagadnień różniczkowych 5. Metody Rungego-Kutty P. F. Góra http://th-www.if.u.edu.pl/zfs/gora/ 203
Definica metody Poszukuemy rozwiazania problemu zmienności pochodne (prawe strony standardowego problemu Cauchy ego) w trakcie wykonywania kroku całkowania. Postuluemy, że należy używać pewne średnie pochodne średnie ważone wyliczone z pochodnych w pewnych punktach pośrednich: y n+ = y n + h i= ( k i = f t n + hα i, y n + h w i k i + O(h p+ ), = (a) ) β i k. (b) Równania () definiua s-etapowa metodę Rungego-Kutty rzędu p. Liczby w i, α i, β i sa parametrami metody. y l, k i R N, f : R R N R N. Copyright c 2009-3 P. F. Góra 5 2
Zgodność metod RK Naważnieszym kryterium, akie musi spełniać każda metoda numerycznego całkowania równań różniczkowych, est zgodność metody wymaganie, aby metoda odtwrzała wyściowy problem Cauchy ego w granicy nieskończenie małych kroków. Dla metod RK z (a) mamy y lim n+ y n h 0 + h = w i i= dt lim k h 0 + i. (2) Granica lewe strony (2) est oczywiście dy = f(t n, y n ). Z (b) wynika, n że lim k h 0 + i = f(t n, y n ), a zatem warunkiem zgodności metod RK est i= w i =. (3) Copyright c 2009-3 P. F. Góra 5 3
Zapis metod RK w postaci tabeli Współczynniki metody RK zapisue się na ogół w postaci tabeli α β β 2... β s α 2. β 2. β 22..... β 2s. α s β s β s2... β ss w w 2... w s = α B w T. (4) Copyright c 2009-3 P. F. Góra 5 4
Jawne i nieawne metody RK Jeżeli macierz B ma niezerowe elementy na i powyże diagonali, metoda est nieawna: do obliczenia pochodne w punkcie pośrednim trzeba znać tęże pochodna (diagonala) i ewentualnie pochodne w kolenych punktach pośrednich (wyrazy ponad diagonala), tak więc proces obliczania wektorów k i stae się rozwiazywaniem skomplikowanego (na ogół nieliniowego) układu równań na te wielkości. Wymiar tego układu wynosi s N. Jeżeli macierz B ma niezerowe elementy tylko pod diagonala, metoda est awna: do obliczenia kolenych k i potrzebna est wyłacznie znaomość k <i. Copyright c 2009-3 P. F. Góra 5 5
Zwiazek pomiędzy liczba etapów (s) a rzędem metody (p) Na pierwszy rzut oka może się wydawać, że każde dodatkowe obliczenie prawe strony równania, czyli każde obliczenie pochodne w punkcie pośrednim, zwiększa rzad metody o eden. W rzeczywistości tak nie est. Dla metod awnych zawsze zachodzi p s; minimalna liczbę etapów potrzebych do zrealizowania metody awne danego rzędu podae poniższa tabela: Rzad metody 2 3 4 5 6 7 8 Minimalna liczba etapów 2 3 4 6 7 9 Podana wyże zależność uzasadnia szczególna popularność awnych metod czteroetapowych aby uzyskać metodę rzędu wyższego, niż czwarty, trzeba wyliczyć więce punktów pośrednich, niż wynosi rzad metody. Copyright c 2009-3 P. F. Góra 5 6
Przykłady metod RK Metody Eulera, awna i nieawna, sa, formalnie rzecz biorac, ednoetapowymi metodami RK rzędu. Ich tabelki maa postać 0 0 (awna) (nieawna) (5) Copyright c 2009-3 P. F. Góra 5 7
Jawna metoda punktu środkowego est dwuetapowa metoda rzędu drugiego k = f(x n, y n ), (6a) k 2 = f ( x n + 2 h, y n + 2 hk ), (6b) y n+ = y n + h k 2 + O(h 3 ) (6c) 0 0 0 2 2 0 0 Copyright c 2009-3 P. F. Góra 5 8
Nieawna metoda punktu środkowego est ednoetapowa metoda rzędu drugiego k = f ( t n + 2 h, y n + 2 hk ), (7a) y n+ = y n + hk + O(h 3 ). (7b) Tabelka dla te metody ma postać 2 2 Copyright c 2009-3 P. F. Góra 5 9
Klasyczna metoda czteroetapowa Naczęście stosowana metoda RK est klasyczna metoda czteroetapowa większość ludzi uważa, że termin metoda Rungego-Kutty określa tylko tę metodę k = f (t n, y n ), (8a) k 2 = f ( t n + 2 h, y n + 2 hk ), (8b) k 3 = f ( t n + 2 h, y n + 2 hk 2), (8c) k 4 = f (t n + h, y n + hk 3 ), (8d) y n+ = y n + h ( 6 k + 3 k 2 + 3 k 3 + 6 k 4) + O ( h 5 ). (8e) Copyright c 2009-3 P. F. Góra 5 0
Tabelka dla klasyczne metody czteroetapowe 0 0 0 0 0 2 2 0 0 0 2 0 2 0 0 0 0 0 6 3 3 6 Copyright c 2009-3 P. F. Góra 5
Zasady wyprowadzania współczynników metod RK Współczynniki metod RK rzędu p otrzymue się rozwiaac obie strony wyrażenia y n+ y n = h i w i k i (9) w szereg potęgowy względem h z dokładnościa do wyrazów rzędu O(h p+ ) i żada ac równości współczynników rozwinięcia. Ponieważ pochodne w punktach pośrednich, k i, sa wyrażone przez funkcę f (prawa stronę równania), żadamy, aby funkca f była klasy co namnie C p. Te zasady sa słuszne dla równań skalarnych. Okazue się, że niekiedy, dla układów równań otrzymue się inne wyrażenia na rzad metody, niż w przypadku skalarnym. W ninieszym wykładzie pominiemy to zastrzeżenie. Copyright c 2009-3 P. F. Góra 5 2
Lewa strona Rozwiaac lewa stronę wyrażenia (9) otrzymuemy y n+ y n = p l= l! d l y dt l tn h l + O(h p+ ). (0) Mamy teraz dy = f(t, y) (a) dt d 2 y dt 2 = d f f(t, y) = dt t + dy f dt y = f t + f f y ( = t + f ) f(t, y) (b) y Copyright c 2009-3 P. F. Góra 5 3
d 3 y dt 3 = d 4 y dt 4 = ( t + f ) ( y t + f ) f(t, y) y = 2 f t 2 + 2f 2 f t y + f 2 2 f y 2 + f t ( t + f ) ( y t + f y f y + f ) ( t + f y = 3 f t 3 + 3f 3 f t 2 y + 3f 2 3 f t y 2 + f 3 3 f y 3 + f 2 f y t 2 + 3 f 2 f f 2 f f + 5f + 3f t t y y t y t + f t ) ( ) 2 f (c) y f(t, y) 2 f + 4f 2 f 2 f y2 y y 2 ( ) 2 ( ) 3 f f + f. (d) y y Copyright c 2009-3 P. F. Góra 5 4
Prawa strona h i w i k i = h i = p l=0 p w i l=0 l! i l! d l k i dh l w i d l k i dh l 0 h l + O(h p ) 0 h l+ + O(h p+ ), (2) a zatem musimy obliczyć pochodne k i tylko do rzędu p, nie zaś p. Różniczkuac (b) i korzystaac z twierdzenia o funkcach uwikłanych otrzymuemy dk i dh = α f i t + f y β i k + h β i dk dh. (3a) Copyright c 2009-3 P. F. Góra 5 5
(3a) nie est awnym wyrażeniem na pochodne dk i /dh, ale układem równań, z którego pochodne te można wyliczyć. W wyrażeniu tym wszystkie k oraz pochodne f określone sa w punkcie (t n + α l h, y n + h m ) β lmk m, gdzie indeks l est równy, odpowiednio, i. Postępuac analogicznie otrzymuemy Copyright c 2009-3 P. F. Góra 5 6
d 2 ( k i dh 2 = α d f i dh t + f y = α 2 i + 2 f y 2 + f y d dh ) + [ d dh ( f y β i k + h 2 f t 2 + 2α 2 f i t y 2 β i k + h β i dk dh + h )] β i dk dh β i k + h β i k + h β i dk dh 2 β i d 2 k dh 2 β i dk dh β i dk dh (3b) Copyright c 2009-3 P. F. Góra 5 7
( ) [ ( )] d 3 k i = α 2 d 2 f d 2 f dh 3 i + 2α dh t 2 i dk β i k + h β i dh t y dh 2 f d + 2α i dk β i k + h β i t y dh dh [ ( )] d 2 f + 2 dk β dh y 2 i k + h β i + 2 f d β dh y 2 i k + h dh [ ( )] d f + 2 dk β i dh y dh + h d 2 k β i dh 2 + f d 2 dk β i y dh dh + h d 2 k β i dh 2 β i dk dh 2 Copyright c 2009-3 P. F. Góra 5 8
= α 3 i 3 f t 3 + 3α2 i + 3α i 3 f t y 2 3 f t 2 y β i k + h 2 f + 3α i 2 t y + 3 2 f β y 2 i k + h + f 3 y β i dk dh + h β i d 2 k dh 2 + h β i k + h β i dk dh β i dk dh β i d 3 k dh 3 2 d 2 k β i dh 2 2 dk β i dh + 3 f y 3 β i dk dh + h β i k + h β i d 2 k dh 2 β i dk dh 3 (3c) Copyright c 2009-3 P. F. Góra 5 9
Jak uż powiedziano, powyższe wzory nie daa awnych wyrażeń na pochodne k i, a tylko układ równań, z których pochodne te możnaby wyliczyć. Jednak dla h = 0 sytuaca znacznie się upraszcza: położenie h = 0 usuwa z prawe strony człony nawyższego rzędu, wobec czego otrzymuemy awne wyrażenia na pochodne w zerze. I tak Copyright c 2009-3 P. F. Góra 5 20
k i (0) = f, dk i f dh = α i 0 t + d 2 k i dh 2 = α 2 i 0 + 2 β i f f y, 2 f t + 2α 2 i β i f 2 f t y + f f β i α t y + 2 q (4a) (4b) ( ) 2 β i f 2 2 f y 2 ( ) 2 f β i β q f, (4c) y Copyright c 2009-3 P. F. Góra 5 2
d 3 k i dh 3 = α 3 i 0 3 f t 3 + 3α2 i ( β i f 3 f t 2 y + 3α i 3 f ) 2 β i f 2 t y + 2 ( β i ) 3 f 3 3 f y 3 + 3 β i α 2 f 2 f y t + 6α f 2 f 2 i β i α t t y + 6 β i (α i + α )β q f f 2 f y t y + 6 β i β iq α q f f 2 f t y 2,q q ( ) ( ) 2 + 3 β i β q + 2 β i β iq β qr f 2 f 2 f y y 2 q q,r ( ) 2 f f ( ) 3 f + 6 β i β q α q + 6 β i β q β qr f. (4d) t y y,q,q,r Funkcę f i e pochodne należy teraz obliczać w punkcie (t n, y n ). Copyright c 2009-3 P. F. Góra 5 22
Warunki Pozostae nam teraz uzgodnić współczynniki rozwinięcia (9) w kolenych potęgach h. Zauważmy, że ponieważ metoda ma działać dla dowolnych f spełniaacych podane założenia, współczynniki występuace po obu stronach (9) przy pewne kombinaci f i e pochodnych musza być sobie równe. Copyright c 2009-3 P. F. Góra 5 23
p = W naniższym rzędzie uzgadniamy tylko współczynniki przy wyrazach rzędu h. Otrzymuemy! f = 0! i= w i f, czyli i= w i =, (5) co, ak uż wiemy, est warunkiem zgodności metody RK. Widać zatem, że każda zgodna metoda RK, bez względu na to, czy zachodza akieś dodatkowe zwiazki pomiędzy e współczynnikami, czy nie, est metoda rzędu co namnie pierwszego. Copyright c 2009-3 P. F. Góra 5 24
p = 2 Aby metoda była rzędu drugiego, żadamy spełnienia (5) oraz następua- cych warunków dodatkowych, wynikaacych z postulatu zgodności współczynników przy wyrazach rzędu h 2 : i= w i i= = w i α i = 2, (6a) β i = 2. (6b) Copyright c 2009-3 P. F. Góra 5 25
Punkt ten wymaga pewne dyskusi. otrzymuemy Odemuac stronami (6a), (6b) i= α i β i = w i = 0. (7) Gdyby w i były liniowo niezależne, powyższy warunek oznaczałby, że koniecznie α i = s = β i. Ale w i nie sa liniowo niezależne, ako że wiaże e warunek zgodności (5)! W te sytuaci (7) narzuca pewne dodatkowe więzy na współczynniki metody: można go potraktować ako dodatkowy więz na wagi w i (tylko s 2 est wówczas liniowo niezależnych), ednak znacznie wygodnie est potraktować to ako warunek znikania współczynników kombinaci liniowe stoace po prawe stronie (7) i tak też uczynimy. Copyright c 2009-3 P. F. Góra 5 26
Można też na to sporzeć i od inne strony: Zgodność wyrazów rozwinięcia ma zachodzić w każdym rzędzie niezależnie, co est możliwe tylko, gdy α i = s = β i. Wszystkie metody RK rzędu drugiego opisane sa zatem układem równań i= i= = w i =, (8a) w i α i = 2, (8b) β i = α i. (8c) Zauważmy, iż z (8c) wynika, że we wszystkich metodach awnych α = 0. Copyright c 2009-3 P. F. Góra 5 27
p = 3 W trzecim rzędzie dostaemy w i i= i= = w i α 2 i = 3, (9a) β i α = 6, (9b) gdzie skorzystaliśmy z (8c) w celu zmnieszenia ilości niezależnych równań. Równania te, wraz z równaniami (8a) (8c), opisua wszystkie metody RK rzędu trzeciego. Widać, że o ile równania (8a) (8c) narzucały zwiazki liniowe na współczynniki α, β, równania (9a) (9b) narzucaa zwiazki kwadratowe. Copyright c 2009-3 P. F. Góra 5 28
p = 4 W czwartym rzędzie, po skorzystaniu z (8c), ako nietrywialne równania dostaemy w i α i i= i= = w i i= = w i β i i= = l= w i α 3 i = 4, (20a) β i α = 8, (20b) β i α 2 = 2, (20c) β l α l = 24. (20d) Warto zaznaczyć, iż po zastosowaniu (8c) niektóre z równań na współ- Copyright c 2009-3 P. F. Góra 5 29
czynniki sa spełnione tożsamościowo, co stanowi nieako test wewnętrzne spóności teorii. Równania (20a) (20d), łacznie z równaniami (9a) (9b) oraz (8a) (8c), opisua wszystkie metody RK rzędu czwartego. Równania określaace metody czwartego rzędu narzucaa sześcienne zwiazki pomiędzy współczynnikami α, β. Wyrażenia, które musza spełniać współczynniki metod wyższego rzędu, wyprowadza się na te same zasadzie co powyższe, sa one ednak bardzie skomplikowane. W dowolnym rzędzie p równania te zawieraa człon i= i narzucaa zwiazki rzędu p. w i α p i = p (2) Copyright c 2009-3 P. F. Góra 5 30
Przykład: Rzad awne metody punktu środkowego (6) 0 0 0 2 2 0 0 Sprawdzamy: w + w 2 = 0 + = metoda est co namnie rzędu pierwszego w α + w 2 α 2 = 0 0 + 2 = 2 β + β 2 = 0 = α ; β 2 + β 22 = 2 + 0 = 2 = α 2 metoda est co namnie rzędu drugiego w α 2 + w 2α 2 2 = 0 0 + () 2 2 = 4 3 trzeciego (ani wyższego). metoda nie est rzędu Copyright c 2009-3 P. F. Góra 5 3
Przykład: Rzad nieawne metody punktu środkowego (7) 2 2 w = = metda est rzędu co namnie pierwszego w α = 2 = 2 β = 2 = α metoda est co namnie rzędu drugiego w α 2 = () 2 2 = 4 wyższego). 3 metoda nie est rzędu trzeciego (ani Copyright c 2009-3 P. F. Góra 5 32
Metody awne tego samego rzędu i o te same liczbie punktów pośrednich Można udowodnić, że wszystkie awne s-etapowe metody rzędu p, sa, w pewnym sensie, równoważne: Wymagaa takie same liczby obliczeń prawe strony równania, maa taki sam rzad i dla ustalonych s i p maa takie same obszary stabilności (patrz następny wykład). Na przykład awna metoda punktu środkowego i awna metoda trapezowa sa w tym sensie równoważne. Jaki est więc sens używania obu tych metod? Metody co prawda sa równoważne pod wymienionymi wyże względami, ale uzyskiwane wyniki sa numerycznie inne. Z rozmaitych powodów edna z metod może być wygodniesza w użyciu od innych naczęście chodzi o inna obsługę błędów. Możliwe sa także inne powody, dla których któraś z metod może być preferowana względem innych. Copyright c 2009-3 P. F. Góra 5 33
Metoda Gilla 0 0 0 0 0 2 2 2 0 0 0 2 2 0 6 2 2 2 0 0 2 2+ 2 2 2 0 2 2 6 2+ 2 6 6 (22) Jest to metoda awna, tego samego rzędu, co klasyczna metoda czteroetapowa (8), o takie same złożoności obliczeniowe i takim samym obszarze stabilności. Co zatem, potencalnie, przemawia za używaniem metody (22)? Okazue się, iż metodę tę można zaprogramować tak, aby zaoszczędzić pamięć przydzielana na eden wektor pośredni. Copyright c 2009-3 P. F. Góra 5 34
Rozpiszmy metodę Gilla awnie: k = f (x n, y n ), (23a) k 2 = f k 3 = f ( ( ( x n + 2 h, y n + 2 hk ), (23b) x n + 2 h, y n + 2 h ( ( 2 )k + (2 2)k 2 ) ) (23c) k 4 = f x n + h, y n + 2 h ( 2k 2 + (2+ ) ) 2)k 3, ( y n+ = y n + h 6 k + 2 2 k 2 + 2 + 2 k 3 + 6 6 6 k 4 ) (23d). (23e) Copyright c 2009-3 P. F. Góra 5 35
Do prawidłowego działania algorytmu trzeba, ak się wydae, zarezerwować pamięć potrzebna do przechowywania wektorów k,2,3,4. Można się ednak obyć bez zapamiętywania ednego z tych wektorów. Klucz polega na obserwaci, iż ostatnie wyrażenie można przepisać w ten sposób: y n+ = y n + 6 h ( k + 2k 2 + ( 2k 2 + (2 + 2)k 3 ) + k4 ). (24) W wyrażeniu (24) występue taka sama kombinaca wektorów, co w wyrażeniu (23d). Możemy wobec tego metodę Gilla zaprogramować przy użyciu następuacego pseudokodu: Copyright c 2009-3 P. F. Góra 5 36
k = f (x n, y n ), (25a) ( ) k 2 = f x n + 2 h, y n + 2 hk, (25b) ( k 3 = f x n + 2 h, y n + 2 h ( ( 2 )k + (2 ) ) 2)k 2 (25c) k 3 = 2k 2 + (2+ 2)k 3, (25d) k 2 = k + 2k 2, (25e) ( k = f x n + h, y n + ) 2 hk 3, (25f) y n+ = y + 6 h (k 2 + k 3 + k ). (25g) W ten sposób nie musimy przydzielać osobne pamięci do zapamiętania k 4, ako że recykluemy pamięć użyta do zapamiętania k. W czasach, gdy pamięci (ferrytowe) były koszmarnie drogie, miało to istotne znaczenie. Copyright c 2009-3 P. F. Góra 5 37