- •4.3. Основні теоретичні відомості 33
- •5.3. Основні теоретичні відомості 41
- •Зміст та оформлення лабораторних робіт
- •Лабораторна робота №1
- •1.4 Індивідуальні завдання до лабораторної роботи
- •1.5 Контрольні питання
- •2.3.2 Побудова емпіричної формули
- •2.3.3 Вибір ступеня многочлена
- •2.4 Індивідуальні завдання до лабораторної роботи
- •2.5 Контрольні питання
- •3.3 Короткі теоретичні відомості
- •3.3.1 Чисельне диференціювання функцій
- •3.3.2 Метод Рунге збільшення порядку точності формул
- •3.3.3 Функції matlab для чисельного диференціювання
- •3.4 Індивідуальне завдання до лабораторної роботи
- •3.5 Контрольні питання
- •4.3 Основні теоретичні відомості
- •Обчислення визначених інтегралів в системі MatLab
- •4.4 Індивідуальні завдання до лабораторної роботи
- •4.5 Контрольні питання
- •5.3.2 Метод Ейлера
- •5.3.3 Методи Рунге-Кутта
- •5.3.4 Рішення задачі Коші в MatLab
- •5.4 Індивідуальні завдання до лабораторної роботи
- •5.5 Контрольні питання
- •Список літератури
5.3.2 Метод Ейлера
Цей метод є простим чисельним методом рішення задачі Коши. Розглянемо його на прикладі рішення звичайного диференціального рівняння першого порядку (5.1) з відповідною початковою умовою (5.2).
Розрахункову формулу методу Ейлера можна отримати, використовуючи розкладання функції в ряд Тейлора в околиці деякої точки :
. (5.3)
Якщо приріст малий (тобто ), то членами ряду, починаючи з доданку, що включає можна нехтувати, тоді
(5.4)
Скористаємося формулою (5.4), застосувавши її до єдиної відомої з умови завдання точки .Знайдемо в похідну, підставив (5.2) в (5.1):
.
Підставивши останній вираз в (5.4) і вважаючи , отримаємо
чи, скорочуючи позначення, в остаточному виді
.
Таким чином, початкова умова (5.2) при відомому значенні функції у початковій точці дозволяє знайти наближене значення при малому зміщенні від . На рис. 5.1 графично показан початковий крок вирішення методом Ейлера.
Рішення можна продовжити, використовуючи знайдене значення функції для обчислення наступного значення . Поширюючи ці міркування на наступні точки, запишемо розрахункову формулу методу Ейлера у виді
(5.5)
Рисунок 5.1 – Сімейство кривих, що представляють рішення методом Ейлера
Из рисунка 5.1 видно, що помилка методу Ейлера на кроці пов'язана з лінійною апроксимацією , яку використано.Помилка методу Ейлера на кожному кроці має порядок ,оскільки члени, що містять у другій і вищих мірах, відкидаються. Зменшуючи можна понизити локальну помилку на кроці.
Оцінка погрішності методу Ейлера.
Правило Рунге оцінки похибок. Для практичної оцінки похибок проводять обчислення з кроками h і h/3. За оцінку похибки рішення, отриманого з кроком h/2, приймають величину, рівну
де p - порядок методу. Для методу Ейлера р=1.
5.3.3 Методи Рунге-Кутта
Подальше зниження похибки рішення можна отримати за рахунок використання кращої апроксимації ,що враховує доданки високих порядків. Ця ідея покладена в основу методів Рунге-Кутта. Суть побудови групи методів Рунге-Кутта, полягає в апроксимації рішення диференціального рівняння сумою
,
де –коефіцієнти розкладання, –послідовність функцій
,
,
,
………………………………………,
.
де ,,–деякі параметри.
Одним з найбільш відомих являється варіант методу Рунге-Кутта, відповідний .Це метод четвертого порядку точності, для якого помилка на кроці має порядок .Його розрахункові формули мають наступний вигляд:
, (5.8)
Де
,
,
,
.
Незважаючи на збільшення об'єму обчислень метод Рунге-Кутта має перевагу перед методомЕйлера, оскільки він забезпечує малу локальну помилку. Це дозволяє збільшувати крок інтеграції і, отже, скорочувати час розрахунку.
Приклад 5.1. Рішення задачі методом Ейлера. Застосовуючи метод Ейлера, знайти рішення задачі Коши :
у трьох послідовних точках (t1 = 0.2, t2 = 0.4, t3 = 0.6). Знайти точне рішення задачі і знайти величину абсолютної похибки у вказаних точках.
Рішення.
Візьмемо крок h=0.2. Використовуючи розрахункову формулу Ейлера, знайдемо наближене рішення задачі Коші :
, ,.
Таким чином, отримали чисельне рішення задачі Коші з кроком h:
|
0 |
0.2 |
0.4 |
0.6 |
|
1.5 |
1.8 |
3.12 |
3.464 |
У цьому завданні легко знаходиться точне рішення, наприклад, методом варіації постійної y(t) = 0.5 e t + t + 1. Вичислимо значення точного рішення у вказаних точках:
|
0 |
0.2 |
0.4 |
0.6 |
|
1.5 |
1.811 |
3.146 |
3.511 |
Абсолютну похибку обчислимо так: . Тоді,,.Таким чином, максимальна величина похибки дорівнює ≈ 0.05.
Приклад 5.2. Оцінка похибки за правилом Рунге.
% Вирішити задачу Коші методом Ейлера і оцінити похибку за правилом Рунге.
% Введемо функцію
f = inline('y-t');
% Початкові умови
y0 = 1.5;
% Точне рішення
ye = dsolve('Dy=y-t','y(0)=1.5');
% Наближене рішення по методу Ейлера,
t=0.1n = 100;
h = 1 / n;
y = [];
t0 = 0;
for i=1:n
y(end+1) = y0;
y0 = y0 + h * f(t0, y0);
t0 = t0 + h;
end
% Знайдемо похибку рішення
t = linspace(0, 1, n);
dy = max(abs(y - subs(ye, t)))