Дифференциа́льное уравне́ние — уравнение, связывающее значение некоторой неизвестной функции в некоторой точке и значение её производных различных порядков в той же точке. Дифференциальное уравнение содержит в своей записи неизвестную функцию, ее производные и независимые переменные; однако не любое уравнение, содержащее производные неизвестной функции, является дифференциальным уравнением.
Порядок, или степень дифференциального уравнения — наибольший порядок производных, входящих в него.
Решением (интегралом) дифференциального уравнения порядка n называется функция y(x), имеющая на некотором интервале (a, b) производные y'(x),y''(x),...,y(n)(x) до порядка n включительно и удовлетворяющая этому уравнению.
Все дифференциальные уравнения можно разделить на обыкновенные (ОДУ), в которые входят только функции (и их производные) от одного аргумента, и уравнения с частными производными (УРЧП), в которых входящие функции зависят от многих переменных.
Обыкновенные дифференциальные уравнения (ОДУ) — это уравнения вида
или ,
где — неизвестная функция (возможно, вектор-функция; в таком случае часто говорят о системе дифференциальных уравнений), зависящая от переменной времени , штрих означает дифференцирование по . Число называется порядком дифференциального уравнения.
Дифференциальные уравнения в частных производных (УРЧП) — это уравнения, содержащие неизвестные функции от нескольких переменных и их частные производные. Общий вид таких уравнений можно представить в виде:
,
где — независимые переменные, а — функция этих переменных.
Простой пример решения ДУ в MatLab:
В качестве самого простого примера приведем решение следующего уравнения с начальным условием и аналитическим решением .
Возможный формат вызова процедуры решателя в MatLab:
Снимок экрана, который соответствует численному решению этой задачи в системе MatLab.
Файл-функция, описывающая правую часть уравнения, – текстовый файл с расширением func1.m – содержит всего две строки
Знаком % начинаются комментарии. Вызываться такая функция может из другойпрограммы, функции, или, как в этом случае, из командного окна
Здесь задан временной интервал от Tstart=0 до Tfinal=2 и начальное значение функции StartVector=1. График полученной таким образом функции Y(T) воспроизводится вызовом встроенной функции plot
Следующей строкой мы кружочками нарисовали на том же графике точное решение в точках полученного вектора-столбца T:
В общем случае, процедура ode45 может решать систему уравнений следующего вида:
функция-столбец, зависящая отвремени и компонент вектора x.
Заметим, что уравнение (1) можно решить в MatLab и символьно. Приведем часть командного окна, где была вызвана стандартная процедура dsolve
Здесь также использовано начальное условие.
Видим, что с точностью до переобозначения x → t результат совпадает с приведенным выше.