И другие программы этой серии
Определение ОДУ
Анализ поведения многих систем и устройств в динамике, а также решение многих задач в теории колебаний и в поведении упругих оболочек обычно базируется на решении систем обыкновенных дифференциальных уравнений (ОДУ), или,
Обыкновенные дифференциальные уравнения (ОДУ) 417
в оригинале, ordinary differential equations (ODEs). Их, как правило, представляют в виде системы из дифференциальных уравнений первого порядка в форме Коши [51, 52]:
с граничными условиями y(t0, tend, p)=b, где tend, t0 – начальные и конечные точки интервалов. Параметр t (независимая переменная) необязательно означает время, хотя чаще всего решение дифференциальных уравнений ищется во временной области. Система дифференциальных уравнений в форме Коши записывается аналогично (8.1), но под y в этом случае подразумевается вектор-столбец зависимых переменных. Вектор p задает начальные условия.
Для решения дифференциальных уравнений второго и высшего порядка их нужно свести к системе дифференциальных уравнений первого порядка. Как это делается, хорошо известно (см. примеры ниже).
Возможны дифференциальные уравнения, не разрешенные относительно производной:
F(t, y, dy/dt) = 0. (8.2)
Уравнения (8.2) аналитически к форме (8.1) обычно привести не удается. Однако численное решение особых трудностей не вызывает – достаточно для определения f(y,t) решить (8.2) численно относительно производной при заданных y и t.
Наряду с ОДУ MATLAB может оперировать с дифференциальными алгебраическими уравнениями (ДАУ, или differential-algebraic equations – DAEs). ОДУ и ДАУ являются основой математического моделирования динамических нелинейных (и линейных) систем. Автоматическое их составление и решение реализованы в специальном расширении Simulink.
Ниже коротко описаны численные методы решения обыкновенных дифференциальных уравнений (ОДУ) и некоторые вспомогательные функции, полезные для решения систем ОДУ.
Начало в части 1