- •Івано - Франківський національний технічний університет нафти і газу
- •Д.Ф. Тимків, с.Ф. Кукурудз, в.Р.Процюк, р.Г. Онацко.
- •Глава 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.6. Розв’язок крєвої задачі
Нехай,
необхідно знайти розв’язок диференціального
рівняння
при
умові
і
.
При
значеннях параметрів
;
.
Для розв’язку краєвої задачі є вбудована функція sbval, що реалізує метод стрільб та дозволяє звести краєву задачу до задачі Коші. Функція sbval має наступні параметри:
v– вектор, що містить початкові наближення для недостающих початкових умов;
xmin, xmax – границі інтервалу, на якому шукаються розв’язки;
D(x,y) – вектор-функція, що містить праві частини системи диференціальних рівнянь першого порядку, що еквівалентні вихідному рівнянню, розмір вектора n співпадає з степеню старшої похідної диференціального рівняння;
load(xmin,v) – вектор-функція, елементи якої відповідають n значенням функцій на лівій границі інтервалу. Частина цих значень відома, а для частини задані початкові наближення у векторі v. Їх уточнені значення будуть знайдені в процесі обчислення;
score(xmax,y) – вектор-функція, що має ту ж кількість елементів, що і v. Кожне значення є різницею між початковими значеннями в кінцевій точці інтервалу і відповідній оцінці для розв’язку. Цей вектор показує, на скільки близько знайдений розв’язок до істинного.
Наша задача зводиться до системи двох диференціальних рівнянь першого порядку:
Тому функція D має вигляд рис.8.6.
Рис.9.6. Матриця похідних
Задача
Коші для диференціального рівняння
другого порядку містить дві початкових
умови. Нам відомо тільки одну. Початкове
наближення для недостающего
значення задаємо у векторі v,
який в нашому випадку складається тільки
з одного елементу. Не дивлячись на це,
індекс 0 повинен бути обов’язково
вказаний, щоб підкреслити векторний
характер цієї величини. На лівій границі
інтервалу нам відоме значення y(
)
і задано початкове наближення для
(
).
Рис.9.7. Пошук невідомої початкової умови
Це
значення записане у v0.
Задаємо вектор – функцію load.
Її нульовий елемент – початкове значення
для
,
перший – для
.
Тепер, коли нам стало відома початкова умова в задачі Коші, можна скористатись, наприклад, функцією rkfixed.
Рис.9.8. Знаходження результатів методом Рунге-Кутти
9.7. Розв’язок звичайних диференціальних рівнянь в Mathcad
Починаючи з версії
Mathсad 2000 запропоновано новий спосіб для
розв’язку звичайних диференціальних
рівнянь, розв’язаних відносно старшої
похідної. Для цих цілей служить вже
відомий нам блок given разом з
функцією odesolve (x,
b[кількість
кроків]), яка знаходить розв’язок
диференціального рівняння при заданих
початкових умовах і кінці інтервалу
інтегрування b.
Диференціальне рівняння разом з
початковими або граничними умовами
записується в блоці given.
Похідні можна позначати як штрихами
(Ctrl+F7),
так і з допомогою знака похідної
панелі Calculus.
Приклад використання функції для розв’язку задачі Коші приведений нижче.
Рис.9.9. Розв’язок диференціального рівняння другого порядку з допомогою функції odesolve
Зверніть увагу, в заданій функції явно заданий аргумент. Функція odesolve має три аргументи. Перший аргумент – незалежна змінна, другий – границя інтервалу, на якому шукається розв’язок, останній аргумент – крок, з яким шукається розв’язок. Останній аргумент можна не вказувати.
