Metody Rungego-Kutty - Runge–Kutta methods
Równania różniczkowe |
---|
Klasyfikacja |
Rozwiązanie |
W analizie numerycznej , że Algorytm Rungego-Kutty ( angielski: / r ʊ ŋ ə k ʊ t ɑː / ( słuchać ) RUUNG -ə- KUUT -tah ) są rodziną ukrytych i jawnych metod iteracyjnych, które obejmują dobrze znaną procedurę zwaną metodą Eulera , używaną w dyskretyzacji czasowej do przybliżonych rozwiązań równań różniczkowych zwyczajnych . Metody te zostały opracowane około 1900 roku przez niemieckich matematyków Carla Runge i Wilhelma Kuttę .
Metoda Rungego-Kutty
Najbardziej znany członek rodziny Runge-Kutty jest ogólnie określany jako „RK4”, „klasyczna metoda Runge-Kutta” lub po prostu jako „metoda Runge-Kutta”.
Niech problem z wartością początkową będzie określony w następujący sposób:
Oto nieznana funkcja (skalarna lub wektorowa) czasu , którą chcielibyśmy przybliżyć; powiedziano nam, że , tempo, w jakim zmienia się, jest funkcją i od siebie. Na początku odpowiednia wartość to . Funkcja i początkowe warunki , podane.
Teraz wybierz rozmiar kroku h > 0 i zdefiniuj
dla n = 0, 1, 2, 3, ..., używając
- (Uwaga: powyższe równania mają różne, ale równoważne definicje w różnych tekstach).
Oto przybliżenie RK4 , a następna wartość ( ) jest określona przez wartość bieżącą ( ) plus średnią ważoną czterech przyrostów, gdzie każdy przyrost jest iloczynem wielkości przedziału h i szacunkowego nachylenia określonego przez funkcja f po prawej stronie równania różniczkowego.
- jest nachyleniem na początku przedziału, przy użyciu ( metoda Eulera );
- jest nachyleniem w punkcie środkowym przedziału, używając i ;
- to znowu nachylenie w punkcie środkowym, ale teraz używamy i ;
- jest nachyleniem na końcu przedziału, używając i .
Przy uśrednianiu czterech zboczy większą wagę przywiązuje się do zboczy w punkcie środkowym. Jeżeli jest niezależna od , tak że równanie różniczkowe jest równoważne całce prostej, to RK4 jest regułą Simpsona .
Metoda RK4 jest metodą czwartego rzędu, co oznacza, że lokalny błąd obcięcia jest rzędu , podczas gdy całkowity skumulowany błąd jest rzędu .
W wielu praktycznych zastosowaniach funkcja jest niezależna od (tzw. system autonomiczny lub system niezmienniczy w czasie, zwłaszcza w fizyce), a ich przyrosty w ogóle nie są obliczane i nie są przekazywane do funkcji , a do wykorzystania jest jedynie końcowa formuła .
Wyraźne metody Runge-Kutta
Rodzina wyraźnych metod Runge-Kutty jest uogólnieniem metody RK4 wspomnianej powyżej. Jest to podane przez
gdzie
- (Uwaga: powyższe równania mogą mieć różne, ale równoważne definicje w niektórych tekstach).
Aby określić konkretną metodę należy podać liczbę całkowitą s (liczbę stopni) oraz współczynniki a ij (dla 1 ≤ j < i ≤ s ), b i (dla i = 1, 2, ..., a ) i c i (dla i = 2, 3, ..., s ). Matryca [ ij ] nazywa się matrycę Runge-Kutty , natomiast b I i c i są znane jako obciążników i węzłami . Dane te są zwykle ułożone w urządzeniu mnemonicznym, znanym jako tableau Butchera (od Johna C. Butchera ):
Taylor serii przedstawiono rozszerzalności metoda Runge-Kutty są zgodne wtedy i tylko wtedy
Istnieją również wymagania towarzyszące jeśli wymaga metody, aby mieć pewien porządek s , co oznacza, że lokalny błąd obcięcia wynosi O ( h p +1 ). Można je wyprowadzić z samej definicji błędu obcięcia. Na przykład metoda dwuetapowa ma porządek 2, jeśli b 1 + b 2 = 1, b 2 c 2 = 1/2, a b 2 a 21 = 1/2. Zauważ, że popularnym warunkiem określania współczynników jest
Sam ten warunek nie jest jednak ani wystarczający, ani konieczny do zachowania spójności.
Ogólnie rzecz biorąc, jeśli jawna metoda -etapowa Runge-Kutta ma porządek , można udowodnić, że liczba etapów musi spełniać , a jeśli , to . Nie wiadomo jednak, czy granice te są ostre we wszystkich przypadkach; na przykład wszystkie znane sposoby rzędu 8 mają co najmniej 11 etapów, chociaż możliwe jest, że istnieją sposoby z mniejszą liczbą etapów. (Związana powyżej sugeruje, że nie może być metodą z 9 etapów, ale może to być również, że granica nie jest po prostu ostry). Rzeczywiście, jest problemem otwartym, co precyzyjnie minimalna liczba etapów jest dla wyraźnego Runge-Kutta metoda, aby mieć porządek w tych przypadkach, w których nie odkryto jeszcze metod, które spełniają powyższe granice równością. Niektóre znane wartości to:
Z powyższych granic dających się udowodnić wynika, że nie możemy znaleźć metod zleceń, które wymagają mniejszej liczby etapów niż metody, które już znamy dla tych zleceń. Można sobie jednak wyobrazić, że możemy znaleźć metodę porządkowania, która ma tylko 8 etapów, podczas gdy jedyne znane dziś mają co najmniej 9 etapów, jak pokazano w tabeli.
Przykłady
Metoda RK4 mieści się w tych ramach. Jego obrazem jest
0 1/2 1/2 1/2 0 1/2 1 0 0 1 1/6 1/3 1/3 1/6
Niewielka odmiana „metody” Rungego-Kutty jest również spowodowana Kuttą w 1901 roku i nazywana jest regułą 3/8. Główną zaletą tej metody jest to, że prawie wszystkie współczynniki błędów są mniejsze niż w popularnej metodzie, ale wymaga ona nieco więcej FLOP (operacji zmiennoprzecinkowych) na krok czasowy. Jego obraz rzeźnika to
0 1/3 1/3 2/3 -1/3 1 1 1 -1 1 1/8 3/8 3/8 1/8
Jednak najprostszą metodą Runge-Kutty jest metoda (w przód) Eulera , podana wzorem . Jest to jedyna spójna jawna metoda Runge-Kutta z jednym etapem. Odpowiednia tablica to
0 1
Metody drugiego rzędu z dwoma etapami
Przykład metody drugiego rzędu z dwoma etapami dostarcza metoda punktu środkowego :
Odpowiednia tablica to
0 1/2 1/2 0 1
Metoda punktu środkowego nie jest jedyną metodą Runge-Kutty drugiego rzędu z dwoma etapami; istnieje rodzina takich metod, sparametryzowana przez α i określona wzorem
Jego obraz rzeźnika to
0
W tej rodzinie podaje metodę punktu środkowego i jest metodą Heuna .
Posługiwać się
Jako przykład rozważmy dwustopniową metodę Runge-Kutty drugiego rzędu z α = 2/3, znaną również jako metoda Ralstona . Daje to tableau
0 | |||
2/3 | 2/3 | ||
1/4 | 3/4 |
z odpowiednimi równaniami
Ta metoda służy do rozwiązywania problemu z wartością początkową
przy wielkości kroku h = 0,025, więc metoda wymaga czterech kroków.
Metoda przebiega w następujący sposób:
Rozwiązania numeryczne odpowiadają wartościom podkreślonym.
Adaptacyjne metody Runge-Kutty
Metody adaptacyjne mają na celu oszacowanie lokalnego błędu obcięcia pojedynczego kroku Runge-Kutta. Odbywa się to za pomocą dwóch metod, jednej z zamówieniem, a drugiej z zamówieniem . Metody te przeplatają się ze sobą, tzn. mają wspólne etapy pośrednie. Dzięki temu oszacowanie błędu ma niewielki lub znikomy koszt obliczeniowy w porównaniu do kroku metodą wyższego rzędu.
Podczas integracji wielkość kroku jest dostosowywana w taki sposób, że oszacowany błąd pozostaje poniżej progu zdefiniowanego przez użytkownika: Jeżeli błąd jest zbyt wysoki, krok jest powtarzany z mniejszą wielkością kroku; jeśli błąd jest znacznie mniejszy, rozmiar kroku jest zwiększany, aby zaoszczędzić czas. Daje to (prawie) optymalny rozmiar kroku, co oszczędza czas obliczeń. Co więcej, użytkownik nie musi tracić czasu na znalezienie odpowiedniego rozmiaru kroku.
Krok niższego rzędu jest podany przez
gdzie są takie same jak dla metody wyższego rzędu. Więc błąd jest
czyli . Tabela rzeźnika dla tego rodzaju metody została rozszerzona o wartości :
0 | ||||||
Metoda Rungego-Kutty-Fehlberga ma dwie metody rzędu 5 i 4. Jej rozszerzona tablica rzeźnika to:
0 | |||||||
1/4 | 1/4 | ||||||
3/8 | 3/32 | 9/32 | |||||
12/13 | 1932/2197 | -7200/2197 | 7296/2197 | ||||
1 | 439/216 | -8 | 3680/513 | -845/4104 | |||
1/2 | −8/27 | 2 | −3544/2565 | 1859/4104 | -11/40 | ||
16/135 | 0 | 6656/12825 | 28561/56430 | -9/50 | 2/55 | ||
25/216 | 0 | 1408/2565 | 2197/4104 | -1/5 | 0 |
Jednak najprostsza adaptacyjna metoda Runge-Kutty polega na połączeniu metody Heuna , czyli rzędu 2, z metodą Eulera , która jest rzędu 1. Jej rozszerzona tablica Butchera to:
0 | |||
1 | 1 | ||
1/2 | 1/2 | ||
1 | 0 |
Inne adaptacyjne metody Runge-Kutty to metoda Bogackiego-Shampine'a (zamówienia 3 i 2), metoda Cash-Karp i metoda Dormand-Prince (obie z zamówieniami 5 i 4).
Niezlewne metody Runge-Kutty
Mówi się, że metoda Runge-Kutty jest niekonfluentna, jeśli wszystkie są różne.
Metody Rungego-Kutty-Nyströma
Metody Runge-Kutty-Nyströma są wyspecjalizowanymi metodami Runge-Kutty, które są zoptymalizowane pod kątem równań różniczkowych drugiego rzędu o następującej postaci:
Niejawne metody Runge-Kutta
Wszystkie metody Runge-Kutta wymienione do tej pory są metodami jawnymi . Wyraźne metody Runge-Kutty są na ogół nieodpowiednie do rozwiązywania sztywnych równań, ponieważ ich obszar absolutnej stabilności jest mały; w szczególności jest ograniczona. Zagadnienie to jest szczególnie ważne przy rozwiązywaniu równań różniczkowych cząstkowych .
Niestabilność wyraźnych metod Runge-Kutty motywuje rozwój metod niejawnych. Niejawna metoda Runge-Kutty ma postać
gdzie
Różnica w stosunku do metody jawnej polega na tym, że w metodzie jawnej suma po j wzrasta tylko do i − 1. Pokazuje to również w tabeli Butchera: macierz współczynników metody jawnej jest trójkątna dolna. W metodzie niejawnej suma nad j wzrasta do s, a macierz współczynników nie jest trójkątna, co daje tablicę Butchera w postaci
Zobacz metody Adaptive Runge-Kutta powyżej dla wyjaśnienia wiersza.
Konsekwencją tej różnicy jest to, że na każdym kroku trzeba rozwiązać układ równań algebraicznych. To znacznie zwiększa koszt obliczeniowy. Jeżeli do rozwiązania równania różniczkowego o składowych m zostanie zastosowana metoda z etapami s , to układ równań algebraicznych ma składowe ms . Można to skontrastować z niejawnymi liniowymi metodami wieloetapowymi (inna duża rodzina metod dla ODE): niejawna liniowa wieloetapowa metoda s- krokowa musi rozwiązać układ równań algebraicznych z tylko m składowymi, więc rozmiar układu nie wzrasta wraz ze wzrostem liczby kroków.
Przykłady
Najprostszym przykładem niejawnej metody Runge-Kutty jest wsteczna metoda Eulera :
Tableau Rzeźnika do tego jest po prostu:
Ta tableau Rzeźnika odpowiada formułom
które można przeorganizować, aby uzyskać wzór na metodę wsteczną Eulera wymienioną powyżej.
Innym przykładem niejawnej metody Runge-Kutty jest reguła trapezów . Jego stół rzeźnika to:
Reguła trapezów jest metodą kolokacyjną (omówioną w tym artykule). Wszystkie metody kolokacji są niejawnymi metodami Runge-Kutta, ale nie wszystkie niejawne metody Runge-Kutta są metodami kolokacji.
Metody Gaussa-Legendre'a tworzą rodzinę metod kolokacji opartych na kwadraturze Gaussa . Metoda Gaussa-Legendre'a z etapami s ma rząd 2 s (w ten sposób można konstruować metody o dowolnie wysokim rzędzie). Metoda z dwoma etapami (a więc kolejność cztery) ma tableau Butcher:
Stabilność
Zaletą niejawnych metod Runge-Kutty nad jawnymi jest ich większa stabilność, zwłaszcza w przypadku zastosowania do sztywnych równań . Rozważ równanie testu liniowego . Metoda Runge-Kutty zastosowana do tego równania sprowadza się do iteracji , z r podanym przez
gdzie e oznacza wektor jedynek. Funkcja r nazywana jest funkcją stabilności . Ze wzoru wynika, że r jest ilorazem dwóch wielomianów stopnia s, jeśli metoda ma s etapów. Metody jawne mają ściśle dolną macierz trójkątną A , co implikuje, że det( I − zA ) = 1, a funkcja stabilności jest wielomianem.
Numeryczne rozwiązanie równania testu liniowego zanika do zera, jeśli | r ( z ) | < 1 z z = h λ. Zbiór takich z nazywamy dziedziną stabilności absolutnej . W szczególności mówi się, że metoda jest absolutnie stabilna, jeśli wszystkie z z Re( z ) < 0 są w dziedzinie absolutnej stabilności. Funkcja stabilności jawnej metody Runge-Kutty jest wielomianem, więc jawne metody Runge-Kutty nigdy nie mogą być stabilne.
Jeśli metoda ta kolejność p , wówczas spełnia funkcji stabilności jak . W związku z tym interesujące jest badanie ilorazów wielomianów o danych stopniach, które najlepiej przybliżają funkcję wykładniczą. Są one znane jako aproksymacje Padé . Aproksymant Padé z licznikiem stopnia mi mianownikiem stopnia n jest A-stabilny wtedy i tylko wtedy, gdy m ≤ n ≤ m + 2.
Metoda Gaussa-Legendre'a ze stopniami s ma rząd 2 s , więc jej funkcją stabilności jest przybliżenie Padé z m = n = s . Wynika z tego, że metoda jest A-stabilna. To pokazuje, że A-stabilny Runge-Kutta może mieć dowolnie wysoki porządek. W przeciwieństwie do tego, kolejność liniowych metod wieloetapowych stabilnych A nie może przekraczać dwóch.
B-stabilność
Koncepcja A-stabilności dla rozwiązania równań różniczkowych jest powiązana z liniowym równaniem autonomicznym . Dahlquist zaproponował badanie stabilności schematów numerycznych w zastosowaniu do układów nieliniowych, które spełniają warunek monotoniczności. Odpowiednie koncepcje zdefiniowano jako stabilność G dla metod wieloetapowych (i powiązanych metod jednoetapowych) oraz stabilność B (Butcher, 1975) dla metod Runge-Kutty. Metoda Rungego-Kutty zastosowana do systemu nieliniowego , który weryfikuje , nazywa się B-stabilną , jeśli warunek ten oznacza dla dwóch rozwiązań numerycznych.
Niech , i będą trzema macierzami zdefiniowanymi przez
Mówi się, że metoda Runge-Kutty jest algebraicznie stabilna, jeśli macierze i obie są nieujemne określone. Wystarczającym warunkiem B-stabilności jest: i są nieujemne określone.
Wyprowadzenie metody czwartego rzędu Runge-Kutty
Ogólnie rzecz biorąc metodę Runge-Kutta porządku można zapisać jako:
gdzie:
są przyrostami uzyskanymi z wyceny pochodnych na -tym rzędzie.
Opracowujemy wyprowadzenie dla metody czwartego rzędu Runge-Kutty przy użyciu ogólnego wzoru z oceną, jak wyjaśniono powyżej, w punkcie początkowym, punkcie środkowym i punkcie końcowym dowolnego przedziału ; w ten sposób wybieramy:
i inaczej. Zaczynamy od zdefiniowania następujących wielkości:
gdzie i . Jeśli zdefiniujemy:
a dla poprzednich relacji możemy wykazać, że następujące równości utrzymują się do :
gdzie:
jest całkowitą pochodną względem czasu.
Jeśli teraz wyrazimy ogólną formułę za pomocą tego, co właśnie wyprowadziliśmy, otrzymamy:
i porównując to z szeregu Taylora z dookoła :
otrzymujemy układ ograniczeń na współczynniki:
które po rozwiązaniu daje jak podano powyżej.
Zobacz też
- Metoda Eulera
- Lista metod Runge-Kutty
- Metody numeryczne dla równań różniczkowych zwyczajnych
- Metoda Rungego-Kutty (SDE)
- Ogólne metody liniowe
- Integrator grupy kłamstw
Uwagi
Bibliografia
- Runge, Carl David Tolmé (1895), „Über die numerische Auflösung von Differentialgleichungen” , Mathematische Annalen , Springer , 46 (2): 167-178, doi : 10.1007/BF01446807.
- Kutta, Martin (1901), "Beitrag zur näherungsweisen Integracja totaler Differentialgleichungen" Zeitschrift für Mathematik und Physik , 46 : 435-453.
- Ascher, Uri M.; Petzold, Linda R. (1998), Metody komputerowe dla równań różniczkowych zwyczajnych i równań różniczkowo-algebraicznych , Filadelfia: Towarzystwo Matematyki Przemysłowej i Stosowanej , ISBN 978-0-89871-412-8.
- Atkinson, Kendall A. (1989), Wprowadzenie do analizy numerycznej (2nd ed.), New York: John Wiley & Sons , ISBN 978-0-471-50023-0.
- Rzeźnik, John C. (maj 1963), „Współczynniki do badania procesów integracji Runge-Kutta”, Journal of the Australian Mathematical Society , 3 (2): 185-201, doi : 10.1017/S1446788700027932.
- Rzeźnik, John C. (1975), „Właściwość stabilności ukrytych metod Runge-Kutta”, BIT , 15 (4): 358-361, doi : 10.1007/bf01931672.
- Rzeźnik, John C. (2008), Metody numeryczne dla równań różniczkowych zwyczajnych , New York: John Wiley & Sons , ISBN 978-0-470-72335-7.
- Cellier, F.; Kofman, E. (2006), Ciągła symulacja systemu , Springer Verlag , ISBN 0-387-26102-8.
- Dahlquist, Germund (1963), „Specjalny problem stabilności dla liniowych metod wieloetapowych”, BIT , 3 : 27-43, doi : 10.1007/BF01963532 , hdl : 10338.dmlcz/103497 , ISSN 0006-3835.
- Forsythe, George E.; Malcolm, Michael A.; Moler, Cleve B. (1977), Metody komputerowe obliczeń matematycznych , Prentice-Hall (patrz rozdział 6).
- Fryzjer, Ernst; Norsett, Syvert Paul; Wanner, Gerhard (1993), Rozwiązywanie równań różniczkowych zwyczajnych I: problemy niesztywne , Berlin, New York: Springer-Verlag , ISBN 978-3-540-56670-0.
- Fryzjer, Ernst; Wanner, Gerhard (1996), Rozwiązywanie równań różniczkowych zwyczajnych II: problemy sztywne i różniczkowo-algebraiczne (2nd ed.), Berlin, New York: Springer-Verlag , ISBN 978-3-540-60452-5.
- Iserles, Arieh (1996), pierwszy kurs analizy numerycznej równań różniczkowych , Cambridge University Press , ISBN 978-0-521-55655-2.
- Lambert, JD (1991), Metody numeryczne dla zwykłych układów różnicowych. Problem wartości początkowej , John Wiley & Sons , ISBN 0-471-92990-5
- Kaw, Autar; Kalu, Egwu (2008), Metody numeryczne z aplikacjami (wyd. 1), autarkaw.com.
- Prasa, William H.; Teukolsky, Saul A. ; Vetterling, William T.; Flannery, Brian P. (2007), "Sekcja 17.1 Metoda Runge-Kutty" , Przepisy numeryczne: The Art of Scientific Computing (3rd ed.), Cambridge University Press , ISBN 978-0-521-88068-8. Również sekcja 17.2. Adaptacyjna kontrola rozmiaru kroków dla Runge-Kutty .
- Stoer, Josef; Bulirsch, Roland (2002), Wprowadzenie do analizy numerycznej (3rd ed.), Berlin, New York: Springer-Verlag , ISBN 978-0-387-95452-3.
- Suli, Endre; Mayers, David (2003), Wprowadzenie do analizy numerycznej , Cambridge University Press , ISBN 0-521-00794-1.
- opalenizna, Delin; Chen, Zheng (2012), „O ogólnej formule metody Runge-Kutta czwartego rzędu” (PDF) , Journal of Mathematical Science & Mathematics Education , 7 (2): 1-10.
- zaawansowana matematyka dyskretna ignou podręcznik (code- mcs033)
- John C. Butcher: „Seria B: Analiza algebraiczna metod numerycznych”, Springer(SSCM, tom 55), ISBN 978-3030709556 (kwiecień 2021).
Zewnętrzne linki
- „Metoda Runge-Kutty” , Encyklopedia Matematyki , EMS Press , 2001 [1994]
- Metoda 4-go rzędu Runge-Kutta
-
Implementacja biblioteki komponentów Tracker w Matlab — Implementuje 32 wbudowane algorytmy Runge Kutta w
RungeKStep
, 24 wbudowane algorytmy Runge-Kutta Nyström wRungeKNystroemSStep
i 4 ogólne algorytmy Runge-Kutta Nyström wRungeKNystroemGStep
.