logo
mathcad

Системы дифференциальных уравнений более высокого порядка

Методика решения системы дифференциальных уравнений, каждое из которых может содержать производные от неизвестных функций выше первого порядка, та же, что описана выше. Заметим, что любое уравнение вида

x(n) = f( t, x(n-1), x(n-2),..., x,...)

посредством замены

x1(t) = x(t)

x2(t) = x'(t)

...

xn(t) = x(n-1)(t)

может быть приведено к совокупности уравнений

x'1(t) = x2(t)

x'2(t) = x3(t)

...

x'n(t) = f( t, xn, xn-1,... x1,...)

Заметьте, что в приведённых выше уравнениях не встречаются производные выше первого порядка. Преобразовав подобным образом каждое из уравнений, входящих в исходную систему, получим систему с большим количеством неизвестных функций, но с производными только первого порядка. Методика решения таких систем описана в предыдущем подразделе. Пример на Рисунке 6 показывает, как поступать при решении системы дифференциальных уравнений второго порядка:

u''(t) = 2v(t)

v''(t) = 4v(t) - 2u(t)

Рисунок 6: Система линейных дифференциальных уравнений второго порядка.

Функция rkfixed возвращает матрицу, в которой:

Функция rkfixed, описанная выше, использует универсальный метод для решения дифференциальных уравнений. Хотя метод Рунге-Кутты, используемый этой функцией, не всегда является самым быстродействующим, он почти всегда приводит к искомому результату. Однако имеются случаи, в которых можно попробовать использовать некоторые специальные функции Mathcad, предназначенные для решения дифференциальных уравнений. Эти случаи относятся к трем широким категориям задач:

Можно также пробовать решать дифференциальное уравнение разными методами, чтобы понять, какой из них работает лучше всего. Иногда имеются тонкие различия между дифференциальными уравнениями, которые делают один метод решения предпочтительнее другого.

Следующие разделы описывают использование различных методов решения дифференциального уравнения и те случаи, в которых они могут быть полезны.