Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
навчальний посібник.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать
☆

9.2. Метод Ейлера для диференціальних рівнянь першого порядку

Розв’яжемо задачу Коші для диференціального рівняння першого порядку методом Ейлера. Нехай права частина рівняння рівна .

Задамо границі зміни x: .

Задамо кількість точок та величину кроку: ,

Задамо початкові умови: , (див. рис.8.1.).

Рис.9.1 Метод Ейлера для диференціальних рівнянь першого порядку

9.3. Розв’язок систем звичайних диференціальних рівнянь

Для розв’язку систем диференціальних рівнянь Mathсad має ряд вбудованих функцій, а саме rkadapt, Rkadapt, rkfixed.

rkadapt(y,x1,x2,acc,n,F,k,s) повертає матрицю, що містить таблицю значень розв’язку задачі Коші в інтервалі від до для системи звичайних диференціальних рівнянь, обчислену методом Рунге–Кутти з змінним кроком і початковими умовами в векторі (праві частини системи записані у векторі F, n – число кроків, k – максимальна кількість проміжних точок розв’язку, s – мінімально допустимий інтервал між точками);

Rkadapt(y,x1,x2,acc,n,F) – повертає матрицю розв’язків методом Рунге–Кутти з змінним кроком для системи звичайних диференціальних рівнянь з початковими умовами в векторі праві частини яких записані в символьному векторі F на інтервалі від до при фіксованому числі кроків n.

rkfixed реалізує метод Рунге–Кутти четвертого порядку з фіксованим кроком. Фактично ця функція призначена для розв’язку систем диференціальних рівнянь першого порядку.

Функція rkfixed(y, x1, x2, n, F) повертає матрицю розв’язків методом Рунге–Кутти системи звичайних диференціальних рівнянь з змінним кроком і початковими умовами в векторі , праві частини яких записані в символьному векторі F на інтервалі від до при фіксованому числі кроків n. Перший стовбець цієї матриці містить точки, в яких отримано розв’язок, а інші стовбці – розв’язки та його перші похідні.

В якості прикладу розглянемо розв’язок системи двох диференціальних рівнянь методом Рунге–Кутти з фіксованим кроком та адаптивним методом.

Рис.9.2. Розв’язок системи з двох диференціальних рівнянь методом Рунге–Кутти

Рис.9.3. Розв’язок системи з двох диференціальних рівнянь адаптивним методом Рунге–Кутти

9.4. Розв’язок диференціальних рівнянь методом Рунге–Кутти

Розв’яжемо ще раз задачу Коші для диференціального рівняння першого порядку методом Рунге–Кутти. Задамо границі зміни x: , ; число точок всередині інтервалу ; початкову умову .

Зверніть увагу на позначення! Оскільки ми розв’язуємо тільки одне диференціальне рівняння першого порядку, а не систему диференціальних рівнянь, матриця містить тільки один елемент, однак запис був би неправильний. Необхідно явно вказувати на те, що величина – матриця, тобто необхідно вказувати індекс.

Визначимо тепер матрицю похідних. Ця матриця також складається тільки з одного елемента. Цей елемент з точністю до позначень співпадає з правою частиною вихідного диференціального рівняння: . Розв’язок диференціального рівняння показано на фрагменті рис.9.4.

Рис.9.4. Розв’язок диференціального рівняння

9.5. Розв’язок диференціальних рівнянь другого порядку

В якості прикладу розв’яжемо диференціальне рівняння другого порядку

перетворимо до системи з двох диференціальних рівнянь першого порядку

Рис.9.5. Розв’язок диференціального рівняння другого порядку

Примітка: MathCad має ще одну функцію для розв’язку задачі Коші. Це функція Bulstoer, вона має ті ж самі аргументи і повертає розв’язок в тій ж формі, що і функція rkfixed. Але реалізує інший числовий метод – метод Булірша – Штьора. Її слід застосовувати, якщо відомо, що розв’язок є гладкою функцією.