Завершимо наше обговорення оротким викладом двох методів, які зазвичай приводяться в підручниках по чисельному аналізу. Один приклад метода предиктор:
(26а)
Передбучуване значення коодринати дозволить оприділити прискорення
Тоді, використовуючи
коректор:
(26б)
Скоректироване значення xn+1 використовується для визначення нового передбачуваного значення аn+1 і, значить, нових передбачених значень vn+1 i xn+r Ця процедура повторяється до тих пір, доки передбачення і скоррективонане значення xn+1 відрізняються менше ніж на задану величину! Даний метод можна розробити на схемі більш високого порядку, які зв’язуються між собою не тільки xn+1 , xn і vn , але і так само значеннями vn-1 і vn-2. Замітимо, що метод предиктора-коректора не являється самостартуючим.
3. Метод Рунге-Кутта
Для пояснення методу Рунге-Кутта подивимось спочатку розв’язок диференціального рівняння першого порядку
Метод Рунге-Кутти другого порядку для розв’язку рівняння (27) модна, використовуючи стандартні значення, записати наступним чином:
Сенс формул (28) полягає у наступному: В методі Ейлера допускається, що для екстаполяції в наступну точку модна використовувати нахил кривої f(xn,yn)в точці (xn,yn) так чи однакше yn+1=yn+f(xn,yn)*∆x. Однак можна повисити почність оцінки нахилу, якщо методом Ейлера повести екстраполяцію в середню точку відрізку, а потім використати центральну похідну на всьому відрізку. Звідси оцінка нахилу в методі Рунге-Котти рівна
Застосування методу Рунге-Кутти до рівнянь руху Ньютона дає
Оскільки методи Руиге-Кутти є такими, що самостартуючими, то їх часто використовують для вираховання декількох перших кроків для несамостартуючих алгоритмів.
4. Метод Рунге — Кутта 4-го порядку
Цей метод настільки широко розповсюджений, що його часто називають просто методом Рунге — Кутта.
Розглянемо задачу Коші для системи диференціальних рівнянь довільного порядку, що записується у векторній формі як:
Тоді значення невідомої функції в точці xn+1 обчислюється відносно значення в попередній точці xn по такій формулі:
де h— крок інтегрування, а коефіцієнти k n розраховуються наступним чином:
Це метод 4-го порядку, тобто похибка на кожному кроці становить O(h5), а сумарна похибка на кінцевому інтервалі інтегрування є величиною O(h4) .
Прямі методи Рунге — Кутта
Група прямих методів Рунге — Кутта є узагальненням методу Рунге — Кутти 4-го порядку. Воно задається формулами
де
Конкретний метод визначається числом s і коефіцієнтами bi,aij i ci . Ці коефіцієнти часто впорядковують в таблицю
c2 a21
c3 a31 a32
∙ ∙ ∙ ∙
∙ ∙ ∙ ∙
∙ ∙ ∙ ∙
cs as1 as2 ∙ ∙ ∙ as,s − 1
b1 b2 bs − 1 bs
Для коефіцієнтів методу Рунге — Кутта мають справджуватись умови
Якщо ми хочемо, щоб метод мав порядок p, то варто так само забезпечити умову
5. Неявні схеми Рунге-Кутта
Викладений тут алгоритм є неявна схема Рунге-Кутта четвертого порядку. У неї, як завжди, вбудована оцінка погрішності, яка дорівнює різниці відповідей четвертого і третього порядків точності, вычисленних по використаних точках. Іншими словами, в порівнянні з рекомендованим вище явним методом Рунге-Кутта п'ятого порядку, усі порядки в точності на одиницю менше. Нагадаємо, що в методі Рунге-Кутта п’ятого порядку використовується шість точок. У неявній схемі точок буде значно менше, оскільки для неявних схем зв'язок порядку точності з кількістю використаних точок не така, як для явних схем. Наприклад, як ми вже бачили, одноточкова неявна схема може мати другий порядок точності. У нашій неявній схемі четвертого порядку ми обійдемося всього-навсього трьома точками:
На перший погляд, слід спочатку вичислити матрицю
Алгоритм:
Для поточної точки
Крім того, вираховуєм
Виконуємо LU - розкладання матриці А. (Це робиться один раз і назавжди для цього кроку за часом t→t + h).
За допомогою LU-розкладання обчислюємо
Обчислюємо
Обчислюваний
За допомогою LU розкладання обчислюємо
За допомогою LU розкладання обчислюваний
Обчислюємо значення
Обчислюємо погрішність