Деякі скінченно-різнецеві методи розв’язування звичайних диференціальних рівнянь

курсовая работа

1. Чисельна ітерація рівнянь Ньютона

Для спрощення запису розглянемо одновимірний рух частини і запишемо рівняння Ньютона у виді:

(1)

(2)

Метою усіх скінцеворізнецевих методів являється знаходження значень x n+1 і v n+1(точка в "фазовому просторі") у момент часу tn+1=tn+?t Нам вже відомо, що величину кроку ?t потрібно вибирати таким чином, щоб метод інтегрування породжував приймати однакове рішення. Один із способів перевірки стійкості методу полягає в контролі величини повною енергії і забезпеченні того, щоби вона не відхилялася від початкового значення у разі, коли повна енергія зберігалась. Досить велике значення кроку приводить до не збереження повної енергії і до різних розвязків для хn+1 i vn+1, тобто до таких розвязків, які все більше відхиляються з потоком часу від істинного розвязку.

Суть багатьох алгоритмів, можна зрозуміти, розкладаючи

vn+1 ? v(tn+?t) i

xn+1 ? x(tn+?t ) в ряд Тейлора. Запишемо

(3)

і

(4)

Добре відомий метод Ейлера еквівалентний збереженню в формулі (3) членів

(5)

і

(6)

Оскільки ми утримали у формулах (5-6) члени порядку ?t, то «локальна» погрішність (погрішність на кроці) складає величину O(?t)2

Оскільки ми від кроку до кроку погрішності накопичуються, позтому можна припускати, що «глобальна» погрішність, що є сумарною погрішністю за розглядом проміжок часу, буде величиной O(?t). Ось ця оцінка погрішності цілком правдоподібна, оскільки число кроків, на яке розбивається часовий інтервал, пропорційна 1/?t. Звідси випливає, порядок глобальної погрішності збільшується в ?t разів по відношенню до локальної погрішності. Оскільки прийнято "говорити, що метод має n-й порядок аппроксимації, якщо ця локальна погрішність рівна О((?t)n+1), то метод Ейлера відноситься до методів першого порядку.

Метод Ейлера являється асиметричним, оскільки він просуває вирішення на один часовий крок ?t, а використовує при цьому інформацію про похідну тільки в початковій точці інтервалу. Ми вже переконалися в тому, що точність методу Ейлера обмежується і частенько породжуване його рішення нестійке. На щастя, як правило, немає необхідності використовувати більш складні алгоритми. Наприклад, швидше ми знайшли, що проста модифікація методу (5-6), запропонована Кромером і іншими авторами, породжує стійке рішення для коливальних систем. Для закріплення повторимо алгоритм Ейлера-Кромера або наближення по «останній точці»:

(7)

і

(8)

Мабуть найбільш очевидний шлях удосконалення методу Ейлера, полягає в використанні для обрахування нового значення координати середини на відрізку швидкості. Відповідний метод середньої точки можна записати в вигляді:

(9)

і

(10)

Замітимо, що якщо підставити вираз (9) для vn+1 в (10) то отримаємо

(11)

Звідси випливає, що метод середньої точки другого порядку точності по координаті і першого порядку по швидкості. Хоча наближення по середній точці дає точні результати для випадку постійного прискорення, взагалом він не приводить до значного покращення результату, ніж метод Ейлера. На справді оці два методи однаково погані, оскільки з кожним кроком погрішність збільшується.

Метод напівкроку відноситься до методів більше за високого порядок точностіз обмеженою погрішністю. Приймається, що средияя скорість на відрізку рівна значенню швидкості в середиие відрізок. Метод напівкроку можна записати у виді:

(12)

і

(13)

Замітио, що метод напів кроку не являє собою «самостартючим», так чи однакще фомули не дозволять порахвати v1/2. Цю незручність модна здолати поклавши

(14)

Оскільки формули (12-14) можна повторювати до безмежності, то метод напів кроку отримав широке розповсюдження в навчальній літературі.

Один із найбільш відомих алгоритмів вищого порядку привласнюєтья Верле. Запишемо в ряд Тейлора для хn-1

(15)
Якщо скласти формули інтегрування вперед і назад (вирази (3) і (14) відповідно) то отримаємо

(16)

або

(17 )

Аналогічно розвязання розкладу в ряд Тейлора для xn+1 i xn-1 дає

(18)

Підмітимо, що звязок з алгоритом Верле (18) велика погрішність має третій порядок для координати і другий порядок для швидкості. Проте швидкість не бере участі в інтегруванні рівнянь руху. В літературі по чисельному аналізу алгоритм Верле називається «неявна симетричність різновидної схеми».

Менш відомим, про те математично еквівалентної версії алгоритму Верле являє собою схема

(19)

і

(20)

Видно, що схема (19-20), називається швидкісною формулою алгоритму Верле, являється самостартуючою і не приводить до накопичення погрішностей округлення. Формули (19-20) можна вивести із формул (16-19) наступним чином.. Спочатку додамо і віднімемо із рівнянь (16-19) по (1/2)хn+1 і запишемо:

(21)

Тут ви використаємо вираз (18). Із (17) знайдемо аn для метода Верле:

(22)

Легко помітити, що підстановка (22)в вираз (21) приводить до (19). В томуж дусі перепишемо (17) для vn+1

(23)

Тепер перепишемо формулу (17) для хn+2 і підтавимо її в отриманий результат формули (23). Отримуємо:

(24)

Тоді використовуємо вираз (17) для xn+1, повторимо цю процедуру і поставимо xn+1 в (24); після не важких перестановок отримаємо потрібний результат (20)

Делись добром ;)