- •Івано - Франківський національний технічний університет нафти і газу
- •Д.Ф. Тимків, с.Ф. Кукурудз, в.Р.Процюк, р.Г. Онацко.
- •Глава 1. Графічний інтерфейс . . . . . . . . . . . . . . . . . 10
- •Глава 2. Математичні вирази. Обчислення значень
- •Глава 3. Графіка в Mathcad . . . . . . . . . . . . . . . . . . . 57
- •Глава 9. Розв’язок диференціальних рівнянь . . . . . . 153
- •Глава 1. Графічний інтерфейс
- •1.1. Структура робочого вікна
- •1.3. Меню Edit
- •1.2. Панель меню File
- •1.4. Меню View
- •1.5. Меню Insert
- •1.6. Меню Format
- •1.7. Меню Tools
- •1.8. Меню Symbolics
- •1.9. Меню Windows
- •1.10. Меню Help
- •1.11. Панель форматування
- •1.12. Налаштування інтерфейсу користувача
- •1.13. Налаштування параметрів документа
- •Глава 2. Математичні вирази. Обчислення значень функції
- •2.1. Обчислення значення виразів
- •2.2. Форматування чисел
- •2.3. Комплексні числа
- •2.4. Системи числення
- •2.5. Стандартні математичні функції
- •2.6. Введення тексту
- •2.7. Редагування виразів
- •Завдання для практичної роботи №1 Математичн і вирази. Обчислення значень функції
- •3. Графіка в Mathcad
- •3.1. Побудова графіків
- •3.2. Створення двовимірних графіків
- •3.3. Відображення значень масиву
- •3.4. Форматування графіків
- •3.5. Графіки в полярній системі координат
- •3.6. Основні методи роботи з графіками
- •3.7. Ствлорення тривимірних графіків
- •Глава 4. Матриці та вектори
- •4.1. Матриці
- •4.2. Звертання до елементів масивів
- •4.3. Налаштування початкового індексу масиву
- •4.4. Операції з масивами
- •4.5. Перетворення масивів
- •Глава 5. Розв’язок рівнянь та систем
- •5.1. Розв’язок алгебраїчних рівнянь
- •5.2. Розв’язок систем рівнянь. Розв’язок нелінійної системи рівнянь
- •Глава 6. Обчислення похідних та інтегралів
- •6.1. Обчислення похідних
- •6.2. Обчислення інтегралів
- •Глава 7. Символьні обчислення
- •7.1. Команди меню Symbolics
- •7.2. Символьні операції з виокремленими виразами
- •7.3. Символьні операції з виокремленими змінними
- •7.4. Символьні операції з виокремленими матрицями
- •7.5. Символьні операції інтегральних перетворень
- •7.6. Команди підменю Evaluate
- •7.6.1. Команда Symbolicaly
- •7.6.2. Команда Floating Point
- •7.7.3. Команда Factor
- •7.7.4. Команда Collect
- •7.7.5. Обчислення коефіцієнтів поліномів
- •7.8. Математичні операції з виокремленими змінними
- •7.8.1. Диференціювання
- •7.8.2. Інтегрування
- •7.8.3. Розв’язок рівнянь
- •7.8.4. Підстановка
- •7.8.5. Розкладання в ряд Тейлора
- •7.8.6. Розкладання на правильні дроби
- •7.9. Матричні операції
- •7.10. Інтегральні перетворення
- •7.11. Розв’язок рівнянь та систем
- •7.12. Обчислення нескінченних сум та добутків
- •7.13. Обчислення границь
- •Питання для самоконтролю
- •Завдання для практичної роботи №6 Символьні обчислення
- •Глава 8. Програмування в середовищі Mathcad
- •8.1. Особливості прогорамування
- •8.2. Що таке програма?
- •8.3. Створення програми (Add Line).
- •8.3.1. Оператор програмування Add Line
- •8.3.2. Оператор локального присвоєння
- •8.3.3. Оператор умовного переходу
- •8.3.4. Otherwise – оператор альтернативного вибору
- •8.3.5. Оператор циклу з параметром (лічильний цикл)
- •8.3.6. Оператор циклу з передумовою
- •8.3.7. Оператор дострокової зупинки циклу
- •8.3.8. Оператор Continue
- •8.3.9. Оператор повідомлення про помилку
- •8.3.10. Оператор return
- •8.4. Рекурсія
- •8.5. Пошук помилок в програмах
- •Питання для самоконтролю
- •Завдання для практичної роботи №7 Розв’язок диференціальних рівнянь
- •Глава 9. Розв’язок диференціальних рівнянь
- •9.1. Звичайні диференціальні рівняння
- •9.2. Метод Ейлера для диференціальних рівнянь першого порядку
- •9.3. Розв’язок систем звичайних диференціальних рівнянь
- •9.4. Розв’язок диференціальних рівнянь методом Рунге–Кутти
- •9.5. Розв’язок диференціальних рівнянь другого порядку
- •9.6. Розв’язок крєвої задачі
- •9.7. Розв’язок звичайних диференціальних рівнянь в Mathcad
- •Питання для самоконтролю
- •Завдання для практичної роботи №8 Розв’язок диференціальних рівнянь
- •Перелік використаних джерел
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. Але реалізує інший числовий метод – метод Булірша – Штьора. Її слід застосовувати, якщо відомо, що розв’язок є гладкою функцією.
