Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_практичні_2011.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
2.14 Mб
Скачать

Контрольні питання:

  1. Що таке унімодальна функція?

  2. Пояснити зміст методу золотого перетину. Навести основні формули.

  3. У чому полягає різниця методів спуску і методу золотого перерізу?

Практична робота № 8

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

Мета: Придбання навичок роботи з методами вирозв’язку диференціальних рівнянь і систем диференціальних рівнянь в системі MathCad.

Теоретичні відомості

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

Нелінійні диференціальні рівняння та системи з такими рівняннями, як правило, не мають аналітичних методів розв’язку. Для їх розв’язку застосовуються чисельні методи, реалізація яких в системі MathCad здійснюється низкою функцій. Так для знаходження розв’язків звичайних диференціальних рівнянь, представлених в звичайній формі Коші, в MathCad передбачені наступні функції:

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

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

Функція rkfixed повертає матрицю з р +1 стовпцями (р - кількість рівнянь або порядок рівняння) і n рядками: перший стовпець (в MathCad - нульовий стовпець) - це n значень аргументу x від x1 до x2, наступні стовпчики - значення ординат розв’язку.

Можна розв’язати завдання більш точно (швидше), якщо зменшувати крок там, де похідна змінюється швидко, і збільшувати крок там, де вона веде себе більш спокійно. Для цього передбачена функція Rkadapt. Але, незважаючи на те, що вона при вирішенні диференціального рівняння використовує непостійний крок, функція Rkadapt надає відповідь для точок, що знаходяться на однаковій відстані, заданому користувачем. Аргументи і матриця, яка повертається функцією Rkadapt, такі ж, як при rkfixed. Диференціальні рівняння пов'язують аргументи, функції і похідні. Результат - це функція, яка при підстановці перетворює рівняння в тотожність. Дифрівняння має нескінченну безліч рішень. Для одержання частинного розв’язку із загального використовуються початкові умови. Для цього розв’язку в MathCad потрібно задати:

  • початкові умови,

  • список точок, в яких потрібно знайти розв’язку,

  • записати дифрівняння в спеціальній для MathCad формі,

  • застосувати одну з вбудованих функцій

Приклад пошуку розв’язку диференціального рівняння першого порядку:

Для пошуку матриці рішень дифрівнянь вищого порядку треба правильно задати вектор початкових умов і вектор F в символьній формі. Нехай дано диференціальне рівняння третього порядку з початковими умовами  

.

Приклад пошуку рішення даного рівняння в системі MathCad має вигляд:

Крайова задача формулюється так: нехай на відрізку [a,b] потрібно знайти рішення диференціального рівняння (для простоти виклад будемо вести на прикладі дифрівняння другого порядку): , при граничних умовах у(а) = А, у(b) = В.

У цьому випадку Mathcad пропонує використовувати функцію sbval, щоб знайти відсутні початкові умови в точці а.

Sbval (v, а, b, D, load, score) - повертає вектор, що містить відсутні початкові умови в точці а.

Вектор v задає початкові наближення, а, b - граничні точки інтервалу рішень, D (x, y) - функція-вектор з першими похідними невідомих функцій. load (а, v) - функція-вектор, що повертає значення початкових умов у точці а. score (b, y) - функція-вектор, кожен елемент якого містить різницю між початковою умовою заданою в точці b, і значенням шуканого рішення в цій точці.

Після того, як ці відсутні початкові умови будуть отримані, можна вирішувати звичайну задачу з початковими умовами - завдання Коші, використовуючи будь-яку з функцій, описаних вище. Приклад розв'язання крайової задачі: