Розв’язання звичайних диференціальних рівнянь та їх систем в MathCAD PRO

Главная » Каталог статей » Статьи на украинском » Програмування » Розв’язання звичайних диференціальних рівнянь та їх систем в MathCAD PRO

При розв’язанні багатьох динамічних задач лазерної та оптоелектронної техніки широкого застосування набули моделі на основі диференціальних рівнянь та їх систем, розв’язок яких повинен задовольняти певним початковим умовам (задача Коші). Проінтегрувати таке рівняння в скінченному вигляді вдається досить рідко. При цьому дістають здебільшого такий вираз, до якого шукана функція входить неявно, а тому користуватись ним незручно.

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

Задача Коші полягає в тому, щоб знайти розв’язок y(x) диференціального рівняння

Y‘ = f(x,y), (1)

який задовольняє початкову умову

y(x=x0) = y0 . (.2)

Геометрично це значить, що треба знайти ту інтегральну криву y(x) рівняння (1), яка проходить через точку (x0 , y0).

Система MathCAD 2000 має розвинуті засоби для чисельного розв’язання диференційних рівнянь та систем диференційних рівнянь.

В основі використаних засобів лежать так звані однокрокові чисельні методи розв’язування задачі Коші [17], в яких, щоб знайти наближений розв’язок в точці xk+1 = xk + h , досить знайти її розв’язок у точці xk . І оскільки розв’язок задачі в точці х0 відомий з початкових умов, то ці методи дають змогу обчислити послідовно значення розв’язку в наступних точках . З однокрокових методів найвідомішими є явні методи Рунге-Кутта, окремими представниками яких є методи типу Ейлера, які хронологічно передували методам Рунге-Кутта .

Функції системи MathCAD для розв’язання звичайних диференційних рівнянь та систем

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

rkadapt(y, x1, x2, acc, n, F, k, s) – повертає матрицю, яка містить таблицю значень розв’язку задачі Коші на інтервалі – від х1 до х2 для системи звичайних диференційних рівнянь, обчислену методом Рунге-Кутта із змінним кроком і початковими умовами в вигляді вектора у (праві частини системи записані у векторі F , n – кількість кроків, k – максимальна кількість проміжних точок розв’язку, s – мінімально допустимий інтервал між точками, асс – точність обчислень);

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

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

Порівнюючи наведені функції, необхідно зазначити, що завдяки автоматичній зміні кроку розв’язання функція Rkadapt дає більш точний результат, але за швидкістю програє функції rkfixed, хоча й не завжди. Якщо розв’язок змінюється повільно, то це може привести до значного зменшення кількості кроків. Таким чином, використання функції Rkadapt більш доцільне для розв’язання систем диференційних рівнянь, які мають розв’язки, що повільно змінюються.

Якщо розв’язок системи диференціальних рівнянь має вигляд гладких функцій, то замість функції rkfixed, описаної вище, доцільно застосовувати таку функцію:

Bulstoer (y, x1, x2, n, F).

Вона повертає матрицю розв’язку системи звичайних диференціальних рівнянь, права частина яких записана у вигляді вектора F(x,y) при заданих у векторі у початкових умовах і при розв’язкові на інтервалі від х1 до х2 для n точок розв’язку, не враховуючи початкової точки.

Оставьте комментарий к статье