у кроці. Однокроковими є метод Ейлера і методи Рунге - Кутта.
Застосувавши вищеописані знання на нашому прикладі, ми маємо:
диференціальне рівняння першого порядку
x=f (t, x)
з початковою умовою
(t0)=x0 (1)=16.
Виберемо крок h і введемо позначення:
ti=t0 + i.h і xi=x (ti),
де i=0, 1, 2, ... - вузли сітки, значення інтегральної функції у вузлах.
Для вирішення поставленого завдання методом Ейлера модифікованим:
При використанні модифікованого методу Ейлера крок h ділиться на два відрізки.
Ілюстрації до вирішення наведені на малюнку 1.
Малюнок 1 - Метод Ейлера модифікований
Проведемо рішення в кілька етапів.
Позначимо точки: A (ti, xi), C (ti + h/2, xi + h/2 * f (ti, xi)) і B (ti + 1, xi + 1).
Через точку А проведемо пряму під кутом?, де
tg? =F (ti, xi)
На цій прямій знайдемо точку C (ti + h/2, xi + h/2 * f (ti, xi)).
Через точку З проведемо пряму під кутом? 1, де
tg? 1=f (ti + h/2, xi + h/2 * f (ti, xi))
Через точку А проведемо пряму, паралельну останній прямій.
Знайдемо точку В (ti + 1, xi + 1). Будемо вважати В (ti + 1, xi + 1) рішенням диференціального рівняння при t=ti + 1.
Після проведення обчислень, отримаємо формулу для визначення значення xi + 1:
+ 1=xi + h * f (ti + h/2, xi + h/2 * f (ti, xi))
Модифікований метод Ейлера дає меншу похибку. На малюнку 4 це добре видно. Так величина? 1 характеризує похибка методу Ейлера, а?- Похибка методу Ейлера модифікованого.
Блок-схема процедури вирішення диференціального рівняння методом Ейлера модифікованим приведено малюнку 2.
(t, x) - задана функція - повинна бути описана окремо.
Вхідні параметри:, TK - початкове і кінцеве значення незалежної змінної; - значення x0 з початкової умови x (t0)=x0; - крок;
Вихідні параметри: - масив значень шуканого рішення у вузлах сітки.
Для вирішення поставленого завдання методом Рунге - Кутта:
Згідно з методом Рунге - Кутта четвертого порядку, послідовні значення xi шуканої функції x визначаються за формулою:
+ 1=xi +? xi
де
? xi=1/6 * (k1 + 2 * k2 + 2 * k3 + k4),=0, 1, 2, ...
а числа k1 (i), k2 (i), k3 (i), k4 (i) на кожному кроці обчислюються за формулами:
k1=h * f (ti, xi)=h * f (ti + h/2, xi + k1/2)=h * f (ti + h/2, xi + k2/ 2)
k4=h * f (ti + h, xi + k3)
Це явний четирёхетапний метод четвертого порядку точності.
Методи Рунге - Кутта легко програмуються і володіють значною точністю і стійкістю для широкого кола завдань.
На малюнку 3 наведена блок-схема процедури Runge (T0, TK, X0, h, X) для вирішення задачі Коші описаним вище методом Рунге - Кутта.
(x, y) - задана функція - повинна бути описана окремо.
Вхідні параметри:, TK - початкове і кінцеве значення незалежної змінної; - значення x0 з початкової умови x (t0)=x0; - крок; - кількість ітерацій.
Вихідні параметри: - масив значень шуканого рішення у вузлах сітки;
. Розробка алгоритму у вигляді блок-схеми
На малюнку 4 наведена блок-схема алгоритму основної програми для вирішення задачі Коші та отримання результатів з фіксованою кількістю відрізків розбиття N. В основній програмі відбувається звернення до процедур Eiler (T0, TK, X0, h, X ) і Runge (T0, TK, X0, h, X), що обчислює значення шуканої функції xj в точках tj методами Ейлера модифікованим і Рунге - Кутта.
Вихідними даними в даній задачі є:, TK - початкове і кінцеве значення незалежної змінної; - значення x0 з початкової умови x (t0)=x0; - крок.
Результати роботи програми виводяться у вигляді трьох стовпців: - масив значень вузлів сітки; - масив значень шуканого рішення у відповідних вузлах сітки, отриманий при вирішенні методом Ейлера модифікованим; - масив значень шуканого рішення у відповідних вузлах сітки, отриманий при вирішенні методом Рунге-Кутта.
. Розробка програми для ЕОМ
Лістинг програми:
program zadacha; crt, graphABC ;: array [0..11] of real ;: array [0..11] of real ;: array [0..11] of real ;, xn...