Метод Рунге-Кутти-Фельберга (або метод Фельберга) — чисельний метод для чисельного розв'язання звичайних диференціальних рівнянь. Він був розроблений німецьким математиком Ервіном Фельбергом і базується на великому класі методів Рунге-Кутти.

Новизна методу Фельберга полягає в тому, що це вбудований метод із сімейства методів Рунге-Кутти, тобто він повторно використовує ті самі проміжні обчислення для отримання двох оцінок різної точності, що дозволяє автоматично оцінювати похибку. Цей метод, вперше представлений Фельбергом у статті 1969 рокуЗгідно з Hairer et al. (1993, §II.4), метод був вперше запропонований Fehlberg (1969), а Fehlberg (1970) є лише витягом з цієї публікації., називають методом RKF45 або RKF4(5), він має порядок O(h4) з оцінкою похибки порядку O(h5). Виконуючи одне додаткове обчислення, похибку в розв'язку можна оцінити та контролювати за допомогою вбудованого методу вищого порядку, який дозволяє автоматично визначати адаптивний розмір кроку.

Таблиця Бутчера для методу 4(5) Фельберга Будь-який метод Рунге — Кутти однозначно визначається своєю таблицею Бутчера. Пара вкладених методів, запропонована Фельбергом: +Коефіцієнти для RK4(5), Формула 2 (Fehlberg) κ ακ βκλ cκ (4-го порядку) ĉκ (5-го порядку) λ=0 λ=1 λ=2 λ=3 λ=4 0 0 0 25/216 16/135 1 1/4 1/4 0 0 2 3/8 3/329/32 1408/2565 6656/12825 3 12/13 1932/2197 −7200/2197 7296/2197 2197/4104 28561/56430 4 1 439/216 −8 3680/513 −845/4104 −1/5 −9/50 5 1/2 −8/27 2 −3544/2565 1859/4104 −11/40 2/55

Реалізація алгоритму RK4(5) Коефіцієнти, знайдені Фельбергом для Формули 1 (з параметром α2 =1/3), наведено в таблиці нижче. Зауважте, що хоча оригінальні таблиці Фельберга починаються з 0, стандартна математична домовленість для методів Рунге — Кутти, встановлена Бутчером, використовує коефіцієнти, що позначаються як з і . Тому, під час реалізації цих методів у мовах програмування, що використовують індексацію масивів від 0, відбувається зсув між математичною нотацією та індексами масивів: те, що виглядає як у математичному формулюванні відповідає індексу 0 у запрограмованих масивах. +Коефіцієнти для RK4(5), Формула 1 (Фельберг) κ ακ βκλ cκ (4-го порядку) ĉκ (5-го порядку) λ=0 λ=1 λ=2 λ=3 λ=40001/947/45012/92/90021/31/121/49/2012/2533/469/128−243/128135/6416/4532/22541 -17/1227/4 -27/516/151/121/3055/665/432 -5/1613/164/275/1446/25 Фельберг refer to окреслює розв'язок системи з n диференціальних рівнянь вигляду: для ітеративного розв'язання для де h — адаптивний розмір кроку, який визначається алгоритмічно:

Розв'язком є середньозважене значення шести приростів, де кожен приріст є добутком розміру інтервалу на розрахований нахил, що визначається функцією f у правій частині диференціального рівняння.

Тоді середньозважене значення дорівнює:

Оцінка похибки відсікання:

де і  — це ваги 4-го та 5-го порядку пари вкладених методів Рунге — Кутти, а  — розраховані раніше похідні в проміжних точках.

Після завершення кроку обчислюється новий розмір кроку:

Якщо , то заміняють на і повторюють крок. Якщо , то крок завершують. На наступному кроці заміняють на .

Коефіцієнти, знайдені Фельбергом для Формули 2 (з параметром α2 = 3/8), наведено в таблиці нижче: +Коефіцієнти для RK4(5), Формула 2 (Фельберг) κ ακ βκλ cκ (4-го порядку) ĉκ (5-го порядку) λ=0 λ=1 λ=2 λ=3 λ=400025/216 16/13511/41/40 023/83/329/32 1408/2565 6656/12825312/131932/2197 -7200/21977296/2197 2197/4104 28561/5643041439/216 -83680/513 -845/4104 -1/5 -9/5051/2 -8/272 -3544/25651859/4104 -11/40 2/55 В іншій таблиці Фельберга наведено коефіцієнти для RKF4(5), отримані Д. Сарафяном: +Коефіцієнти для RK4(5) Сарафяна, таблиця IV у Фельберга κ ακ βκλ cκ (4-го порядку) ţ κ (5-го порядку) λ=0 λ=1 λ=2 λ=3 λ=4 0 0 01/6 1/24 1 1/2 1/20 0 2 1/2 1/4 1/4 1/4 2/3 0 3 1 0 -1 2 1/6 5/48 4 2/37/2710/2701/27 27/56 5 1/5 28/625 -1/5 546/625 54/625 -378/625 125/336

Див. також Метод Рунге — Кутти Список методів Рунге — Кутти Чисельні методи розв'язання звичайних диференціальних рівнянь

Примітки

Посилання

Fehlberg, Erwin (1968) Classical fifth-, sixth-, seventh-, and eighth-order Runge-Kutta formulas with stepsize control. NASA Technical Report 287. https://ntrs.nasa.gov/api/citations/19680027281/downloads/19680027281.pdf Fehlberg, Erwin (1969) Low-order classical Runge-Kutta formulas with stepsize control and their application to some heat transfer problems. Vol. 315. National aeronautics and space administration.

Fehlberg, Erwin (1970) Some experimental results concerning the error propagation in Runge-Kutta type integration formulas. NASA Technical Report R-352. https://ntrs.nasa.gov/api/citations/19700031412/downloads/19700031412.pdf Fehlberg, Erwin (1970). «Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung auf Wärmeleitungsprobleme», Computing (Arch. Elektron. Rechnen), vol. 6, pp. 61–71. doi:10.1007/BF02241732

Sarafyan, Diran (1966) Error Estimation for Runge-Kutta Methods Through Pseudo-Iterative Formulas. Technical Report No. 14, Louisiana State University in New Orleans, May 1966.

Література

. . .