Контрольная работа: Дослідження однокрокових методів розвязання звичайних диференційних рівнянь
Ітераційні формули для цих методів мають вигляд, відповідно:
(5)
І
(6)
Де
(7)
Це методи другого порядку, їх похибка має третій ступінь, що досягається покращенням апроксимації похідної. Ідея полягає у спробі зберегти або оцінити член другого порядку у формулі Тейлора. Однак збільшення точності вимагає додаткових витрат машинного часу на обчислення . Ще більш висока точність може бути досягнута при обчисленні вищих похідних і збереженні більшої кількості членів ряду Тейлора. Такими методами є методи Рунге-Кутта.
Принцип на якому побудований модифікований метод Ейлера, можна пояснити, користуючись рядом Тейлора і зберігаючи в ньому член з . Апроксимація другої похідної
здійснюється кінцевою різницею
(8)
Аналогічно обчисленню другої похідної в кінцево-різницевому вигляді можна обчислити більш високі похідні: значення n-ї за значеннями попередньої (n-1)-ї.
Метод Рунге-Кутта дає набір формул для обчислення координат внутрішніх точок, які потрібні для реалізації цієї ідеї. Оскільки існує ряд способів знаходження цих точок, то метод Рунге-Кутта об’єднує цілий клас методів для розв’язання диференціальних рівнянь першого порядку.
Найбільш розповсюджений класичний метод четвертого порядку точності:
(9)
Де
(10)
(11)
Метод Ейлера і його модифікації ще називають методами Рунге-Кутта першого і другого порядку. Метод Рунге-Кутта має значно більш високу точність, що дозволяє збільшити крок розв’язання. Його максималу величину визначає допустима похибка. Такий вибір часто здійснюється автоматично і включається як складова частина, вбудована в алгоритм, побудований за методом Рунге-Кутта.
Раніше було відзначено, що помилка зрізання при використанні методу Рунге-Кутта n-го порядку . Обчислення верхніх границь для коефіцієнта с являє собою складну задачу, пов’язану з необхідністю оцінки ряду додаткових параметрів. Існує декілька способів для оперативного обчислення с. Найбільшого поширення набув екстраполяційний метод Річардсона (ще його називають методом Рунге), коли послідовно знаходять
з кроком h і з кроком
, а після цього прирівнюють отримані величини та визначають с з рівняння:
(12)
що відповідає точному значенню .
Отримаємо оціночне співвідношення:
(13)
2. Алгоритми методів
В курсовій роботі розроблена програма, що розв’язує задане диференційне рівняння першого порядку трьома методами:
Ейлера : - прямим
- ЗворотнімтаРунге-Кутта
Також, програма рахує похибку на кроці та загальну похибку методу.
В основі алгоритму лежить використання однокрокових методів, в основі яких лежить знаходження наступної точки на кривій лише за значенням попередньої. Основу методу складає розкладання функції в ряд Тейлора.
Програма використовує основні функції Borland C++ 3.1, а саме:
· Цикли: while ()
for()
· Оператори безумовного переходу: If ()