Чисельне рішення звичайних диференційних рівнянь
Багато задач фізики, хімії, екології, механіки й інших розділів науки й техніки при їхньому математичному моделюванні зводяться до диференціальних рівнянь. Тому розв’язання диференціальних рівнянь є однієї з найважливіших математичних задач. В обчислювальній математиці вивчаються чисельні методи розв’язання диференціальних рівнянь, які особливо ефективні в сполученні з використанням персональних комп’ютерів.
Серед безлічі чисельних методів розв’язання диференціальних рівнянь найбільш прості – це явні однокрокові методи. До них відносяться різні модифікації методу Рунге-Кутта.
Постановка задачі:
Потрібно знайти функцію , що задовольняє рівнянню
(5.3) |
і приймаючу при задане значення :
(5.4) |
При цьому розв’язок необхідно одержати в інтервалі . З теорії диференціальних рівнянь відомо, що розв’язання задачі Коші (5.3), (5.4) існує, єдино і є гладкою функцією, якщо права частина задовольняє деяким умовам гладкості. Чисельний розв’язок задачі Коші методом Рунге-Кутта 4-го порядку полягає в наступному. На заданому інтервалі вибираються вузлові точки. Значення розв’язку в нульовій точці відомо . У наступній точці визначається по формулі
(5.5) |
Тут
(5.6) |
– крок сітки;
тобто даний варіант методу Рунге-Кутта вимагає на кожному кроці чотириразового обчислення правої частини рівняння (5.3). Цей алгоритм реалізований у програмі ode 45. Крім цієї програми МАТLAB має у своєму розпорядженні великий набір аналогічних програм, що дозволяють успішно розв’язувати звичайні диференціальні рівняння.
Приклад 5.5
Розв’язати задачу Коші
на при | (5.7) |
Точний розв’язок має вигляд
Приведемо розв’язання даної задачі чисельно за допомогою програми ode 45. Спочатку в М-файлі записуємо праву частину рівняння (5.7), сам М-файл оформляється як файл-функція, даємо йому ім’я
Для чисельного розв’язання задачі Коші у вікні команд набираються наступні оператори
Протокол програми
% Дескриптор @ забезпечує зв’язок з файлом-функцією правої частини
% [0 1] – інтервал, на якому необхідно одержати розв’язок
% [1] – початкове значення розв’язання
>> % Побудова графіка чисельного розв’язку задачі Коші (5.7)
% Команда дозволяє за допомогою миші нанести на графік напис y(x)
>> % Остання команда виводить таблицю чисельного розв’язку задачі
Результати розв’язання. Графік розв’язання задачі Коші (5.7) показаний на рис.5.4. Чисельний розв’язок представлений в таблиці 5.9, де наведені тільки окремі точки. У програмі за замовчуванням інтервал розбивається на 40 точок із кроком .
Рис. 5.4 |
Таблиця 5.9
хi | Метод Рунге-Кутта | Точний розв’язок |
0.0 | 1.0 | 1.0 |
0.1 | 1.2221 | 1.2221 |
0.2 | 1.4977 | 1.4977 |
0.3 | 1.8432 | 1.8432 |
0.4 | 2.2783 | 2.2783 |
0.5 | 2.8274 | 2.8274 |
0.6 | 3.5202 | 3.5202 |
0.7 | 4.3928 | 4.3928 |
0.8 | 5.4895 | 5.4895 |
0.9 | 6.8645 | 6.8645 |
1.0 | 8.5836 | 8.5836 |
Як видно з табл. 5.9 чисельний розв’язок програмою ode 45 є точним.
Варіанти завдань. Побудувати графік і вивести у вигляді таблиці розв’язок задачі Коші на інтервалі [0;1] методом Рунге-Кутта 4-го порядку.
Дані взяти з таблиці 5.10
1 | 0.0 | |
2 | 0.1 | |
3 | 2.0 | |
4 | 0.3 | |
5 | 0.4 | |
6 | 0.0 | |
7 | 0.1 | |
8 | 0.2 | |
9 | 0.3 | |
10 | 0.4 | |
11 | 0.5 | |
12 | 0.0 | |
13 | 0.5 | |
14 | 0.4 | |
15 | 0.3 | |
16 | 0.2 | |
17 | 0.1 | |
18 | 0.0 | |
19 | 0.1 | |
20 | 0.2 | |
21 | 0.3 | |
22 | 0.4 | |
23 | 0.5 | |
24 | 0.6 | |
25 | 0.7 | |
26 | 0.0 | |
27 | 0.1 | |
28 | 0.2 | |
29 | 0.3 | |
30 | 0.4 |
Нашли опечатку? Выделите и нажмите CTRL+Enter