Metoda Bogackiego-Shampine’a
Metoda Bogackiego-Shampine’a – metoda numeryczna do rozwiązywania równań różniczkowych zwyczajnych w postaci zaproponowana przez Przemysława Bogackiego i Lawrence’a Shampine’a w 1989[1]. Metoda Bogackiego-Shampine’a jest metodą Rungego-Kutty trzeciego rzędu z czterema współczynnikami (patrz dalej) z tzw. własnością pierwszy taki jak ostatni (ang. FSAL, first same as last), dzięki której w każdej iteracji funkcja wywoływana jest trzykrotnie. Metoda ta ma wbudowaną metodę rzędu drugiego dzięki czemu możliwa jest adaptacyjna zmiana kroku całkowania. Metoda Bogackiego-Shampine’a zaimplementowana jest jako funkcja ode23
w programie MATLAB[2].
W ogólności metody niższego rzędu są bardziej odpowiednie niż algorytmy wyższego rzędu jak np. Metoda Dormanda-Prince’a (piątego rzędu) do numerycznego rozwiązywania równań różniczkowych zwyczajnych, jeśli nie jest wymagana wysoka dokładność rozwiązania przybliżonego. Bogacki i Shampine twierdzą ponadto, że zaproponowana przez nich metoda przewyższa inne metody trzeciego rzędu z osadzonym metodami rzędu drugiego.
Tabela Butchera dla metody Bogackiego-Shampine’a wygląda następująco:
0 1/2 1/2 3/4 0 3/4 1 2/9 1/3 4/9 2/9 1/3 4/9 0 7/24 1/4 1/3 1/8
Rozważmy równanie różniczkowe w postaci Jeśli oznacza numeryczne rozwiązanie w chwili zaś jest krokiem czasowym zdefiniowanym jako wtedy jeden krok metody Bogackiego-Shampine’a jest dany jako:
gdzie jest przybliżeniem drugiego rzędu rozwiązania dokładnego. Sposób obliczania został wybrany za Ralstonem[3]. Z drugiej strony jest przybliżeniem trzeciego rzędu, więc różnica pomiędzy i może być użyta do adaptacyjnej zmiany długości kroku całkowania. Właściwość FSAL (pierwszy jak ostatni) oznacza, że w danym kroku jest równa w kroku następnym, stąd tylko trzy wywołania funkcji są potrzebne w każdej iteracji.
Przypisy
[edytuj | edytuj kod]- ↑ P. Bogacki, L.F. Shampine, A 3(2) pair of Runge–Kutta formulas, Applied Mathematics Letters, vol. 2, iss. 4, 1989.
- ↑ L.F. Shampine, M.W. Reichelt, The Matlab ODE Suite, SIAM Journal on Scientific Computing, vol. 18, iss. 1, 1997.
- ↑ A. Ralston, A First Course in Numerical Analysis, McGraw-Hill, Nowy Jork, 1965.