Курсовая работа: Деякі скінченно-різнецеві методи розвязування звичайних диференціальних рівнянь
Конкретний метод визначається числом s і коефіцієнтами bi , aij i ci . Ці коефіцієнти часто впорядковують в таблицю
0
c2 a21
c3 a31 a32
∙ ∙ ∙ ∙
∙ ∙ ∙ ∙
∙ ∙ ∙ ∙
cs as1 as2 ∙ ∙ ∙ as,s − 1
b1 b2 bs − 1 bs
Для коефіцієнтів методу Рунге — Кутта мають справджуватись умови
Якщо ми хочемо, щоб метод мав порядок p , то варто так само забезпечити умову — наближення, отримане по методу Рунге — Кутти. Після багаторазового диференціювання ця умова перетвориться в систему поліноміальних рівнянь на коефіцієнти методу.
5. Неявні схеми Рунге-Кутта
Викладений тут алгоритм є неявна схема Рунге-Кутта четвертого порядку. У неї, як завжди, вбудована оцінка погрішності, яка дорівнює різниці відповідей четвертого і третього порядків точності, вычисленних по використаних точках. Іншими словами, в порівнянні з рекомендованим вище явним методом Рунге-Кутта п'ятого порядку, усі порядки в точності на одиницю менше. Нагадаємо, що в методі Рунге-Кутта п’ятого порядку використовується шість точок. У неявній схемі точок буде значно менше, оскільки для неявних схем зв'язок порядку точності з кількістю використаних точок не така, як для явних схем. Наприклад, як ми вже бачили, одноточкова неявна схема може мати другий порядок точності. У нашій неявній схемі четвертого порядку ми обійдемося всього-навсього трьома точками:
На перший погляд, слід спочатку вичислити матрицю , а потім застосовувати її потрібну кількість разів до усім f j . Проте, як ми знаєм (див. частину I, розділ "Системи лінійних рівнянь"), це не є правильний спосіб рішення СЛР "про запас". Правильний спосіб рішення СЛР з цією матрицею раз і назавжди (для довільної правої частини) - це LU - розкладання матриці . При цьому матриця розкладається на ліву нижню трикутну матрицю L і праву верхню трикутну матрицю U. Після цього рішення будь-хто СЛР з матрицею будується за допомогою прямої підстановки (для матриці L) і потім зворотної підстановки (для матриці U). Кожна з підстановок вимагає N2 операцій. У нашому випадку має сенс скомбінувати праві частини усіх СЛР так, щоб кількість застосувань матриці (точніше, кількість СЛР, які потрібно вирішити) була мінімальною. Для цього досить ввести проміжні змінні . В результаті ми отримаємо наступний рецепт для одного кроку за часом t→t + h.
Алгоритм:
Для поточної точки обчислюваний
Крім того, вираховуєм
Виконуємо LU - розкладання матриці А. (Це робиться один раз і назавжди для цього кроку за часом t→t + h ).
За допомогою LU-розкладання обчислюємо . Обчислюваний . Обчислювано . З допомогою LU - розкладання обчислюваний
Обчислюємо
Обчислюваний .