![]()
Главная Обратная связь Дисциплины:
Архитектура (936) ![]()
|
Чисельне розв'язування диференційних рівняння
Для чисельного розв'язування рівняння існує декілька функцій. Питання про використання тієї чи іншої функції залежить від відомостей про характер поведінки диференційної функції. Перелік функції можна отримати зі справочної системи Mathcad. Z:=rkfixed(y,x1,x2,n,D) –обчислює таблицю значень з (m+1) стовпцями і n рядками (m-число рівнянь у системі). Нульовий стовпець таблиці – це поточні значення незалежної змінної х. Вони визначаються через х1, х2 і n. Наступні стовпці розв'язку визначають значення шуканих функцій у1(х), у2(х), ... для відповідних поточних значень аргументу; у – вектор початкових наближень; х1, х2 – інтервал інтегрування; n – кількість кроків; D – вектор похідних (рівняння, представлені у прийнятній для Mathcad формі). Z:=Rkadаpt(y,x1,x2,n,D)– обчислює таблицю значень розв'язку методом Рунге-Кутта зі змінним кроком, початкові умови задані у векторі у, інтервал х1..х2, n- кількість кроків, D – праві частини рівняння. Z3:=Bulstoer(y,x1,x2,n,D) – обчислює таблицю значень розв'язку методом Булирша-Штера, більш точніше, ніж методом Рунге-Кутта застосовується, якщо заздалегідь відомо, про гладкий вигляд функції.
Приклад 1.Розв'язати задачу Коші для рівняння першого порядку:
§ Задайте початкову умову (матрицю у): § Введіть матрицю похідних. Вона складається з одного елемента і співпадає з правою частиною рівняння: § Задайте інтервали інтегрування х1:=0 х2:=1 § Розв'язуємо диференційне рівняння: Отримали матрицю Z. Перший стовпчик містить точки, в яких отримали розв'язок, а другий стовпчик – самі розв'язки. § Побудуйте графік Приклад 2. Розв'язати задачу Коші для рівняння другого порядку: Підготовчий етап: § Перед розв'язуванням диференційного рівняння його треба представити у вигляді системи рівнянь першого порядку методом заміни. диф рів. Проведемо заміни: у0=у(х) Отримаємо систему двох рівнянь першого порядку:
Розв'язування диференційних рівнянь за допомогою блоку Given § Введіть слово Given § Задайте диференціальне рівняння і його обмеження, використовуючи логічні оператори = (ctrl+=) § Введіть функцію odesolve(х,b,[step]), де х – змінна, b – кінцева точка. За замовчуванням функція використовує метод Рунге-Кутта з фіксованим кроком. Щоб застосувати адаптивний метод, виберіть з контекстного меню функції odesolveпункт Adaptive. Обмеження можуть бути задані в будь-якому порядку, але диференціальному рівнянню n-го порядку повинні відповідати n незалежні початкові умови. Умови типу нерівностей не дозволяються. Приклад 3.Розв'язати рівняння
Given
![]() |