Для вирішення диференціальних рівнянь Mathcad надає користувачеві бібліотеку вбудованих функцій Differential Equation Solving. призначених для чисельного рішення диференціальних рівнянь.
- Вбудовані функції, призначені для розв'язання задачі Коші і граничних задач для систем звичайних диференціальних рівнянь внормальной формі.
- Функція odesolve вирішує для рівнянь виду
a (x) y (n) + F (x, y, y '. y (n-1)) = f (x)
задачу Коші
y (x0) = y0. y '(x0) = y0,1. y '' (x0) = y0,2. y (n-1) (x0) = y0, n-1
або найпростішу граничну задачу
y (k) (a) = ya, k. y (m) (b) = yb, k. 0<= k<= n-1, 0<= m<= n-1 . - Функція odesolve вирішує поставлене завдання методом Рунге-Кутта з фіксованим кроком. Для вирішення завдання методом Рунге-Кутта з автоматичним вибором кроку потрібно клацнути в робочому документі на ім'я функції правою кнопкою миші і позначити у спливаючому меню пункт Adaptive.
- Звернення до функції має вигляд
Y: = odesolve (x, b, step) або Y: = odesolve (x, b).
де Y - ім'я функції, що містить значення знайденого рішення, x - змінна інтегрування, b - кінець проміжку інтегрування, step - крок, який використовується при інтегруванні рівняння методом Рунге-Кутта. - Перед зверненням до функції odesolve необхідно записати ключове слово Given. потім ввести рівняння і початкові або граничні умови. При введенні рівняння і умов завдання використовується знак символьного рівності (
+<=> ), А для запису похідних можна використовувати як оператор диференціювання, так і знак похідної, наприклад, другу похідну можна вводити у вигляді або у вигляді y '' (x). При цьому необхідно обов'язково записувати аргумент шуканої функції. - Для того щоб вивести в робочий документ значення рішення в будь-якій точці проміжку інтегрування, досить ввести ім'я функції Y. вказати в дужках значення аргументу і знак рівності.
- Значення рішення в будь-якій точці проміжку інтегрування можна використовувати в подальших обчисленнях, досить ввести в потрібному місці ім'я функції Y. вказавши в дужках значення аргументу.
Повну інформацію про правила використання функції odesolve можна отримати у вбудованому довіднику Mathcad в розділі Overview fnd Tutorials.
Приклад 1. Рішення задачі Коші за допомогою функції odesolve.
Приклад 2. Рішення граничної задачі за допомогою функції odesolve.
Вбудовані функції Mathcad, призначені для розв'язання задачі Коші і граничних задач, вирішують їх для нормальнихс і з т е м звичайних диференціальних рівнянь. Завдання для рівнянь вищих порядків зводяться до відповідних завданням для нормальних з собою та т м.
Розглянемо задачу Коші:
де - шукане рішення, - вектор початкових умов, а - вектор правих частин, запишемо систему диференціальних рівнянь у векторній формі:
У Mathcad вирішити задачу Ко ши для такої системи можна за допомогою наступних функцій:- rkfixed (y, x1, x2, npoints, D) -рішення задачі на відрізку методом Рунге-Кутта з постійним кроком;
- Rkadapt (y, x1, x2, npoints, D) -рішення задачі на відрізку методом Рунге-Кутта з автоматичним вибором кроку;
- rkadapt (y, x1, x2, acc, npoints, D, kmax, save) -рішення задачі в заданій точці методом Рунге-Кутта з автоматичним вибором кроку;
- Bulstoer (y, x1, x2, npoints, D) -рішення задачі на відрізку методом Булірша-Штера;
- bulstoer (y, x1, x2, acc, npoints, D, kmax, save) -рішення задачі в заданій точці методом Булірша-Штера;
- Stiffr (y, x1, x2, acc, D, J) - рішення задачі для жорстких систем на відрізку з використанням алгоритму Розенброка;
- stiffr (y, x1, x2, acc, D, J, kmax, save) -рішення завдань для жорстких систем на відрізку з використанням алгоритму Розенброка;
- Stiffb (y, x1, x2, acc, D, J) -рішення задачі для жорстких систем на відрізку з використанням алгоритму Булірша-Штера;
- stiffb (y, x1, x2, acc, D, J, kmax, save) -рішення завдань для жорстких систем в заданій точці з використанням алгоритму Булірша-Штера.
Сенс параметрів для всіх функцій однаковий і визначається математичної постановкою завдання:
y - вектор початкових умов,;
x1. x2 - початкова і кінцева точки відрізка інтегрування системи; для функцій, що обчислюють рішення в заданій точці, x1 - початкова точка, x2 - задана точка;
npoints - число вузлів на відрізку [x1, x]; при вирішенні задачі на відрізку результат містить npoints + 1 рядок;
D - ім'я вектор-функції D (x, y) правих частин,; (Ім'я D - від Derivative - похідна, ім'я вектора, що містить вирази для похідних (derivatives) шуканого рішення);
J - ім'я матриці-функції J (x, y) розмірності n x (n + 1). в першому стовпці якої зберігаються вираження приватних похідних по x правих частин системи, а в інших n шпальтах міститься матриця Якобі правих частин:
.
acc - параметр, який контролює похибка рішення при автоматичному виборі кроку інтегрування (якщо похибка рішення більше acc. то крок сітки зменшується; крок зменшується до тих пір, поки його значення не стане менше save);
kmax - максимальне число вузлів сітки, в яких може бути обчислено рішення задачі на відрізку, максимальне число рядків в результаті;
save - найменше допустиме значення кроку нерівномірної сітки.
Результат роботи функції - матриця, яка містить n + 1; її перший стовпець містить координати вузлів сітки, другий стовпець - обчислені наближені значення рішення y1 (x) у вузлах сітки, (k + 1) -й - значення решеніяyk (x) у вузлах сітки.
При вирішенні задачі Коші для диференціального рівняння першого порядку результат обчислень всіх наведених вище функцій - матриця, в першому стовпці якої містяться координати вузлів сітки x0. x1. xN. а в другому - значення наближеного рішення у відповідних вузлах.
Приклад 3. Рішення задачі Коші для ОДУ 1 порядку за допомогою функції rkfixed.
Приклад 4. Рішення задачі Коші для ОДУ 2 порядки за допомогою функції rkfixed.
Приклад 5. Рішення задачі Коші для системи ОДУ 1 порядку за допомогою функції rkfixed.
Приклад 6. Рішення жорсткої задачі Коші для системи ОДУ 1 порядку за допомогою функції Stiffr.
При дослідженні автономних систем диференціальних рівнянь другого порядку корисну інформацію можна отримати розглядаючи інтегральні і фазові криві системи.
При дослідженні автономних систем диференціальних рівнянь другого порядку корисну інформацію про властивості рішень можна отримати, побудувавши векторне поле системи.
Запишемо автономну систему другого порядку
Ця система повністю визначається завданням векторного поля, оскільки векторне поле задає в кожній точці напрямок дотичної до фазової кривої системи, що проходить через цю точку.