Явные методы решения дифференциальных уравнений

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

Рассмотрим задачу Коши для системы обыкновенных дифференциальных уравнений $$ \begin \tag <1>\frac &= f_i (t, u_1, u_2, \ldots, u_n), \quad t > 0\\ \tag <2>u_i(0) &= u_i^0, \quad i = 1, 2, \ldots, m. \end $$

Используя векторные обозначения, задачу (1), (2) можно записать как задачу Коши $$ \begin \tag <3>\frac> &= \pmb(t, \pmb), \quad t > 0, \\ \tag <4>\pmb(0) &= \pmb_0 \end $$ В задаче Коши необходимо по известному решению в точке \( t = 0 \) необходимо найти из уравнения (3) решение при других \( t \).

Численные методы решения задачи Коши

Существует большое количество методов численного решения задачи (3), (4). Вначале рассмотрим простейший явный метод Эйлера и его программную реализацию. Затем будут представлены методы Рунге—Кутта и многошаговые методы.

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

Идея численных методов решения задачи (3), (4) состоит из четырех частей:

1. Вводится расчетная сетка по переменной \( t \) (время) из \( N_t + 1 \) точки \( t_0 \), \( t_1 \), \( \ldots \), \( t_ \). Нужно найти значения неизвестной функции \( \pmb \) в узлах сетки \( t_n \). Обозначим через \( \pmb^n \) приближенное значение \( \pmb(t_n) \).

2. Предполагаем, что дифференциальное уравнение выполнено в узлах сетки.

3. Аппроксимируем производные конечными разностями.

4. Формулируем алгоритм, который вычисляет новые значения \( \pmb^ \) на основе предыдущих вычисленных значений \( \pmb^k \), \( k 0 \) при \( \tau\to 0 \).

Явный метод Эйлера

Проиллюстрируем указанные шаги. Для начала введем расчетную сетку. Очень часто сетка является равномерной, т.е. имеет одинаковое расстояние между узлами \( t_n \) и \( t_ \): $$ \omega_\tau = \< t_n = n \tau, n = 0, 1, \ldots, N_t \>. $$

Затем, предполагаем, что уравнение выполнено в узлах сетки, т.е.: $$ \pmb^\prime (t_n) = \pmb(t_n, u(t_n)), \quad t_n \in \omega_\tau. $$

Заменяем производные конечными разностями. С этой целью, нам нужно знать конкретные формулы, как производные могут быть аппроксимированы конечными разностями. Простейший подход заключается в использовании определения производной: $$ \pmb^\prime(t) = \lim_ <\tau \to 0>\frac<\pmb(t+\tau) — \pmb(t)><\tau>. $$

В произвольном узле сетки \( t_n \) это определение можно переписать в виде: $$ \begin \pmb^\prime(t_n) = \lim_ <\tau \to 0>\frac<\pmb(t_n+\tau) — \pmb(t_n)><\tau>. \end $$ Вместо того, чтобы устремлять шаг сетки к нулю, мы можем использовать малый шаг \( \tau \), который даст численное приближение \( u^\prime(t_n) \): $$ \begin \pmb^\prime(t_n) \approx \frac<\pmb^ — \pmb^><\tau>. \end $$ Такая аппроксимация известна как разностная производная вперед и имеет первый порядок по \( \tau \), т.е. \( O(\tau) \). Теперь можно использовать аппроксимацию производной. Таким образом получим явный метод Эйлера: $$ \begin \tag <5>\frac<\pmb^ — \pmb^n> <\tau>= \pmb(t_n, \pmb^). \end $$

Четвертый шаг заключается в получении численного алгоритма. Из (5) следует, что мы должны знать значение \( y^n \) для того, чтобы решить уравнение (5) относительно \( y^ \) и получить формулу для нахождения приближенного значения искомой функции на следующем временном слое \( t_ \): $$ \begin \tag <6>\pmb^ = \pmb^n + \tau \pmb(t_n, \pmb^) \end $$

При условии, что у нас известно начальное значение \( \pmb^0 = \pmb_0 \), мы можем использовать (6) для нахождения решений на последующих временных слоях.

Программная реализация явного метода Эйлера

Выражение (6) может быть как скалярным так и векторным уравнением. И в скалярном и в векторном случае на языке Python его можно реализовать следующим образом

При решении системы (векторный случай), u[n] — одномерный массив numpy длины \( m+1 \) (\( m \) — размерность задачи), а функция F должна возвращать numpy -массив размерности \( m+1 \), t[n] — значение в момент времени \( t_n \).

Таким образом численное решение на отрезке \( [0, T] \) должно быть представлено двумерным массивом, инициализируемым нулями u = np.zeros((N_t+1, m+1)) . Первый индекс соответствует временному слою, а второй компоненте вектора решения на соответствующем временном слое. Использование только одного индекса, u[n] или, что то же самое, u[n, :] , соответствует всем компонентам вектора решения.

Функция euler решения системы уравнений реализована в файле euler.py:

Строка F_ = lambda . требует пояснений. Для пользователя, решающего систему ОДУ, удобно задавать функцию правой части в виде списка компонент. Можно, конечно, требовать чтобы пользователь возвращал из функции массив numpy , но очень легко осуществлять преобразование в самой функции решателе. Чтобы быть уверенным, что результат F будет нужным массивом, который можно использовать в векторных вычислениях, мы вводим новую функцию F_ , которая вызывает пользовательскую функцию F «прогоняет» результат через функцию assaray модуля numpy .

Неявный метод Эйлера

При построении неявного метода Эйлера значение функции \( F \) берется на новом временном слое, т.е. для решении задачи (5) используется следующий метод: $$ \begin \tag <7>\frac<\pmb^ — \pmb^n> <\tau>= \pmb(t_, \pmb^). \end $$

Таким образом для нахождения приближенного значения искомой функции на новом временном слое \( t_ \) нужно решить нелинейное уравнение относительно \( \pmb^ \): $$ \begin \tag <8>\pmb^ — \tau \pmb(t_, \pmb^) — y^n = 0. \end $$

Для решения уравнения (8) можно использовать, например, метод Ньютона.

Программная реализация неявного метода Эйлера

Функция backward_euler решения системы уравнений реализована в файле euler.py:

Отметим, что для нахождения значения u[n+1] используется функция fsolve модуля optimize библиотеки scipy . В качестве начального приближения для решения нелинейного уравнения используется значение искомой функции с предыдущего слоя u[n] .

Методы Рунге—Кутта

Одношаговый метод Рунге—Кутта в общем виде записывается следующим образом: $$ \begin \tag <9>\frac<\pmb^ — \pmb^n> <\tau>= \sum_^s b_i \pmb_i, \end $$ где $$ \begin \tag <10>\pmb_i = \pmb\left( t_n + c_i\tau, \pmb^n + \tau \sum_^s a_\pmb_j \right), \quad i = 1, 2, \ldots, s. \end $$ Формула (9) основана на \( s \) вычислениях функции \( \pmb \) и называется \( s \)-стадийной. Если \( a_ = 0 \) при \( j \geq i \) имеем явный метод Рунге—Кутта. Если \( a_ = 0 \) при \( j > i \) и \( a_ \ne 0 \), то \( \pmb_i \) определяется неявно из уравнения $$ \begin \tag <11>\pmb_i = \pmb\left( t_n + c_i\tau, \pmb^n + \tau \sum_^ a_\pmb_j + \tau a_ \pmb_i \right), \quad i = 1, 2, \ldots, s. \end $$ О таком методе Рунге—Кутта говорят как о диагонально-неявном.

Одним из наиболее распространенных является явный метод Рунге-Кутта четвертого порядка: $$ \begin \tag <12>\pmb_1 & = \pmb(t_n, \pmb^n), &\quad \pmb_2 &= \pmb\left( t_n + \frac<\tau><2>, \pmb^n + \tau \frac<\pmb_1> <2>\right),\\ \pmb_3 &= \pmb\left( t_n + \frac<\tau><2>, \pmb^n + \tau \frac<\pmb_2> <2>\right), &\quad \pmb_4 &= \pmb\left( t_n + \tau, \pmb^n + \tau \pmb_3 \right),\\ \frac<\pmb^ -\pmb^n> <\tau>&= \frac<1> <6>(\pmb_1 + 2\pmb_2 + 2\pmb_3 + \pmb_4) & & \end $$

Многошаговые методы

В методах Рунге—Кутта в вычислениях участвуют значения приближенного решения только в двух соседних узлах \( \pmb^n \) и \( \pmb^ \) — один шаг по переменной \( t \). Линейный \( m \)-шаговый разностный метод записывается в виде $$ \begin \tag <13>\frac<1> <\tau>\sum_^m a_i \pmb^ = \sum_^ b_i \pmb(t_, \pmb^), \quad n = m-1, m, \ldots \end $$ Вариант численного метода определяется заданием коэффициентов \( a_i \), \( b_i \), \( i = 0, 1, \ldots, m \), причем \( a_0 \ne 0 \). Для начала расчетов по рекуррентной формуле (13) необходимо задать \( m \) начальных значений \( \pmb^0 \), \( \pmb^1 \), \( \dots \), \( \pmb^ \) (например, можно использовать для их вычисления метод Эйлера).

Различные варианты многошаговых методов (методы Адамса) решения задачи с начальными условиями для систем обыкновенных дифференциальных уравнений могут быть получены на основе использования квадратурных формул для правой части равенства $$ \begin \tag <14>\pmb(t_) — \pmb(t_n) = \int_^> \pmb(t, \pmb) dt \end $$

Для получения неявного многошагового метода используем для подынтегральной функции интерполяционную формулу по значениям функции \( \pmb^ = \pmb(t_, \pmb^) \), \( \pmb^n \), \( \dots \), \( \pmb^ \), т.е. $$ \begin \tag <15>\frac<\pmb^ — \pmb^n> <\tau>= \sum_^ b_i \pmb(t_, \pmb^) \end $$

Для интерполяционного метода Адамса (15) наивысший порядок аппроксимации равен \( m+1 \).

Для построения явных многошаговых методов можно использовать процедуру экстраполяции подынтегральной функции в правой части (14). В этом случае приближение осуществляется по значениям \( \pmb^n \), \( \pmb^ \), \( \dots \), \( \pmb^ \) и поэтому $$ \begin \tag <16>\frac<\pmb^ — \pmb^n> <\tau>= \sum_^ b_i \pmb(t_, \pmb^) \end $$

Для экстраполяционного метода Адамса (16) погрешность аппроксимации имеет \( m \)-ый порядок.

На основе методов Адамса строятся и схемы предиктор–корректор. На этапе предиктор используется явный метод Адамса, на этапе корректора — аналог неявного метода Адамса. Например, при использовании методов третьего порядка аппроксимации в соответствии с (18) для предсказания решения положим $$ \frac<\pmb^ — \pmb^n> <\tau>= \frac<1> <12>(23 \pmb^ -16\pmb^ + 5\pmb^). $$ Для уточнеия решения (см. (17)) используется схема $$ \frac<\pmb^ — \pmb^n> <\tau>= \frac<1> <24>(9\pmb^ + 19\pmb^ — 5\pmb^ + \pmb^). $$ Аналогично строятся и другие классы многошаговых методов.

Жесткие системы ОДУ

При численном решении задачи Коши для систем обыкновенных дифференциальных уравнений (3), (4) могут возникнуть дополнительные трудности, порожденные жесткостью системы. Локальные особенности поведения решения в точке \( u = w \) передаются линейной системой $$ \begin \frac

= \sum_^ \frac<\partial f_i> <\partial u_j>(t, w) v + \bar(t), \quad t > 0. \end $$

Пусть \( \lambda_i(t) \), \( i = 1, 2, \ldots, m \) — собственные числа матрицы $$ \begin A(t) = \< a_(t) \>, \quad a_(t) = \frac<\partial f_i><\partial u_j>(t, w). \end $$ Система уравнений (3) является жесткой, если число $$ \begin S(t) = \frac <\max_<1 \leq i \leq m>|Re \lambda_i(t)|> <\min_<1 \leq i \leq m>|Re \lambda_i(t)|> \end $$ велико. Это означает, что в решении присутствуют составляющие с сильно различающимися масштабами изменения по переменной \( t \).

Для численное решения жестких задач используются вычислительные алгоритмы, которые имеют повышенный запас устойчивости. Необходимо ориентироваться на использование \( A \)-устойчивых или \( A(\alpha) \)-устойчивых методов.

Метод называется \( A \)-устойчивым, если при решении задачи Коши для системы (3) область его устойчивости содержит угол $$ \begin |\arg(-\mu)| —>

Методы явные и неявные

Дата добавления: 2015-06-12 ; просмотров: 15073 ; Нарушение авторских прав

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

Если задано дифференциальное уравнение

(3.1)

и начальные условия , то очередное значение может быть получено интегрированием (3.1):

(3.2)

Определенный интеграл в (3.2) численно равен площади под кривой на интервале (рис. 3.2).

Приближенно эта площадь может быть вычислена как площадь прямоугольника, высота которого равна значению функции на левой границе интервала или значению на правой границе интервала. Очевидно, площади обоих прямоугольников, ограниченных сверху отрезками 1 и 2 на рис. 3.3, будут тем ближе к точному значению интеграла, чем меньше шаг интегрирования .

Подставив в (3.2) приближенные значения интеграла, можно получить две формулы:

(3.3)

. (3.4)

Выражение (3.3) представляет собой формулу явного метода Эйлера. Называется метод явным потому, что неизвестное значение может быть непосредственно вычислено по известному значению в предыдущей точке.

Формула (3.4) соответствует неявному методу Эйлера. Здесь в правой части выражения используется неизвестное значение , поэтому вычислить его непосредственно по этой формуле нельзя.

Более точное значение интеграла (3.2) дает метод трапеций, которому соответствует отрезок 3 на рис. 3.3. Тогда

. (3.5)

Эта формула относится, очевидно, тоже к неявным.

Для явных методов процедура формирования модели для численного интегрирования ограничивается алгебраизацией исходных дифференциальных уравнений. В частности, формула (3.3) не требует дальнейших преобразований и готова для применения.

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

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

Пусть задано нелинейное алгебраическое уравнение

(3.6)

где – вектор переменных.

Разложение (3.6) в ряд Тэйлора с сохранением только линейных членов дает приближенную замену

(3.7)

где –начальное приближение, в качестве которого берутся значения переменных на предыдущем шаге интегрирования;

– неизвестное значение переменной на шаге интегрирования.

Выражение (3.7) может быть записано как линейное алгебраическое уравнение

,(3.8)

где – вычисляется для известных значений переменных на предыдущем шаге интегрирования;

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

, (3.9)

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

Рассмотрим пример связанный с подготовкой модели для численного решения нелинейного дифференциального уравнения второго порядка

Первым шагом является сведение данного уравнения к задаче Коши, т.е. к системе уравнений первого порядка за счет введения новой переменной :

Явные формулы метода Эйлера имеют вид

Неявные формулы запишутся следующим образом:

Для перехода к матричной записи выполним ряд преобразований:

Здесь ,

Матричная запись имеет вид

.

Формулу (3.7), вообще говоря, необходимо применять итерационно. Решение этого уравнения, найденное для заданного начального приближения , следует использовать в качестве очередного приближения в (3.7) и повторять формирование и решение линейного алгебраического уравнения до тех пор, пока два последовательных приближения не станут близкими с заданной точностью. При численном моделировании можно ограничиться только одной итерацией, выбирая достаточно малый шаг интегрирования и учитывая, что при этом значения переменных на предыдущем шаге являются достаточно хорошим приближением.

3.2.3. Выбор между явными и неявными методами
в процедурах моделирования технических систем

Выбор между явными и неявными методами представляет серьезную проблему. Многие специалисты считают неявные методы более мощным и универсальным инструментом для решения задач моделирования технических систем [23, 15]. Следует, однако, заметить, что лишь недавно появились достаточно мощные и универсальные системы автоматизированного моделирования, такие, как, например, MATLAB или МВТУ [17], допускающие выбор явного или неявного метода решения задачи. Раньше использовались либо явные, либо неявные методы, так как это требовало разных компонентных моделей.

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

Рассмотрим эту особенность неявных методов на примере явного и неявного методов Эйлера [21], определяемых формулами (3.3) и (3.4), соответственно.

Применим указанные формулы для численного интегрирования простейшего линейного дифференциального уравнения

.

Характеристическое уравнение данной динамической системы имеет вид

, или ,

где – постоянная времени системы.

Единственный полюс системы находится в левой полуплоскости, следовательно, исходная система устойчива. Соответственно, любое решение уравнения, при , стремится к нулю.

Разностное уравнение, соответствующее численному решению явным методом Эйлера, запишется как

.

Известно, что условием устойчивости полученного разностного уравнения является

или .

Это означает, что выбор может качественно изменить вид решения, превратив устойчивый процесс в неустойчивый.

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

Переход к методам более высокого порядка мало меняет картину. Для метода Рунге – Кутты 4-го порядка требование устойчивости ограничивает шаг величиной , или, в более общем виде, , где – максимальное собственное значение матрицы Якоби [29].

Применение неявного метода Эйлера к той же системе дает

,

где ограничение на величину шага выглядит по-другому:

,

что позволяет выбрать шаг любой величины, ориентируясь только на требуемый уровень погрешности.

Методы решения дифференциальных уравнений

Здесь мы рассмотрим методы решения обыкновенных дифференциальных уравнений. Это уравнения, зависящие от одной независимой переменной, зависимой переменной, и ее производных:
.
Основные определения, относящиеся к дифференциальным уравнениям, изложены на странице Основные понятия и определения дифференциальных уравнений.

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

Мы часто будем делить, и умножать уравнения на какие-то функции. В таких операциях нужно соблюдать осторожность. От этого могут появляться дополнительные решения, или исчезать имеющиеся. Например, если мы умножим все части уравнения на , то может появиться новое решение . Если мы разделим все части уравнения на , то может исчезнуть решение , если оно имелось в исходном уравнении. То есть, если мы умножаем или делим уравнение на некоторую функцию f , то всегда нужно особо рассматривать случай f = 0 . Здесь мы не будем заострять на этом внимание.

Дифференциальные уравнения первого порядка

Дифференциальное уравнение и его интеграл

Далее, если это особо не оговорено, мы считаем, что x – это независимая переменная, а y – зависимая. То есть y есть функция от x : . Однако, в уравнениях первого порядка, мы можем легко менять роли переменных. То есть можно считать y независимой переменной, а x – зависимой. Но по умолчанию, x – это независимая переменная, а y – зависимая.

Пусть у нас есть дифференциальное уравнение первого порядка, разрешенное относительно производной. Запишем его в следующем виде:
(1) .
Здесь p и q – заданные функции двух переменных.

Далее рассмотрим уравнение:
(2) ,
где φ – некоторая функция двух переменных; C – постоянная, то есть число. Положим, что y есть функция от x : . Тогда будет уже сложной функцией от одной переменной x . Обозначим ее буквой : .
Перепишем уравнение (2), выразив левую часть через переменную x :
(3) .
Дифференцируем это уравнение по x , применяя правило дифференцирования сложной функции:
;
.
Мы получили дифференциальное уравнение первого порядка, имеющее тот же вид, что и уравнение (1). Отсюда следует, что если , то функция , определяемая из уравнения , является решением исходного уравнения (1).

Заметим, что левая часть уравнения является производной от функции :
.
Тогда сама функция является интегралом по отношению к уравнению (1), точнее – к его левой части. По этой причине решение уравнения, записанного в виде , называется интегралом уравнения, а сам процесс решения называется интегрированием дифференциального уравнения.

Уравнения в дифференциалах

Воспользуемся свойством дифференциалов, согласно которому
.
Перепишем уравнение (1) и умножим его на dx :
(1) ;
(4) .
Мы получили уравнение, связывающее дифференциалы переменных x и y . По этой причине такие уравнения называются дифференциальными уравнениями. Такая форма записи называется уравнением в дифференциалах, или дифференциальной формой уравнения. Уравнения (1) и (4) эквивалентны. Можно использовать любую из этих форм.

Пусть
(5) ,
где – некоторая функция двух переменных. Подставим в (4):
(6) .
Отсюда видно, что левая часть уравнения (6) является дифференциалом функции : . Тогда уравнение (6) можно переписать в виде равенства нулю дифференциала:
.
Отсюда следует, что функция равняется постоянной, которую обозначим буквой C . Тогда общий интеграл уравнения (4), при условии (5), имеет вид:
(7) .

Уравнения в полных дифференциалах

Итак, мы нашли, что если в уравнении
(4) ,
функции p и q являются частными производными
(5)
от некоторой функции φ , то уравнение (4) имеет интеграл
(7) .
Такие уравнения называются дифференциальными уравнениями в полных дифференциалах.

Как правило интеграл уравнения (7) нам не известен, а известно лишь само уравнение, то есть известны функции и . Возникает вопрос, как по известным функциям p и q определить, что левая часть уравнения является полным дифференциалом? Оказывается, что сделать это достаточно просто. Для того, чтобы уравнение было в полных дифференциалах, необходимо и достаточно, чтобы выполнялось условие:
(8) .
Доказательство

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

Пример

Дано уравнение:
(П1) .
Требуется проверить, является ли это уравнение в полных дифференциалах. И если является, то решить его.

В нашем случае . Проверим, является ли это уравнение в полных дифференциалах. Находим частные производные.
;
.
Видно, что . То есть это уравнение в полных дифференциалах. Решаем его, последовательно выделяя дифференциал.

.
Итак, мы нашли эквивалентное (П1) уравнение
.
Отсюда получаем его общий интеграл:
.

Решать подобные уравнения можно также и методом последовательного интегрирования. Решение этим методом можно найти на странице Дифференциальные уравнения в полных дифференциалах

Интегрирующий множитель

Итак, мы научились решать дифференциальные уравнения первого порядка
(4)
при условии
(8) .
Но если существует единственное решение уравнения (4), и условие (8) не выполняется, то оказывается, что существует такая функция , умножив на которую уравнение (4), оно становится уравнением в полных дифференциалах. Причем существует бесконечное множество таких функций. Доказательство

В качестве примера рассмотрим уравнение:
(П2) .
Перепишем его, сгруппировав члены:
.
Заметим, что . Поэтому разделим уравнение на , чтобы выделить полный дифференциал . При имеем:
.
Выделяем полный дифференциал:
;
.
Отсюда получаем общий интеграл исходного уравнения:
.
В уравнении (П2), интегрирующий множитель равен . Когда мы умножили на него уравнение, то оно стало уравнением в полных дифференциалах, которое мы и решили.

Заметим, что при умножении уравнения на множитель , мы получили другое уравнение. Оно эквивалентно исходному за исключением точек, в которых и . Уравнение корней не имеет. Поэтому этот случай отпадает. А уравнение имеет корень :
.
Поэтому умножение уравнения на множитель дает эквивалентное уравнение, за исключением точек . Другими словами, поскольку мы разделили уравнение на , то нужно проверить случай . Подстановкой в (П2) убеждаемся, что также является решением исходного уравнения. Поэтому общее решение имеет вид:
; .

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

Уравнения с разделяющимися переменными

Рассмотрим уравнение
(9) ,
где – некоторые заданные функции. Перепишем это уравнение в дифференциалах:
.
Разделим его на . При имеем:
(11) .
Уравнение имеет вид суммы, каждое слагаемое которой зависит только от одной переменной. Говорят, что переменные разделились, а уравнение (9), по этой причине, называют дифференциальным уравнением с разделяющимися переменными.

Нетрудно видеть, что уравнение (11) в полных дифференциалах. Действительно, поскольку множитель при dx не зависит от y , то . Поскольку множитель при dy не зависит от x , то .
Видно, что необходимое и достаточное условие для полных дифференциалов выполняется:
.

Таким образом мы нашли интегрирующий множитель: . Это позволяет нам выделить дифференциал и получить решение в квадратурах:
;
;
.
Отсюда получаем общий интеграл:
.

Пример

Решить уравнение:
(П3) .

Перепишем (П3) в дифференциалах:
.
Разделим на . При имеем:
.
Переменные разделились. Общий интеграл имеет вид:
.
Далее, см. Дифференциальные уравнения с разделяющимися переменными

Уравнения, приводящиеся к разделяющимся переменным

К уравнению с разделяющимися переменными приводятся уравнения вида
,
где f – функция; a, b, c – постоянные. Для решения подобного уравнения нужно от переменной y перейти к новой переменной u , сделав подстановку .

Пример

Решить уравнение:
(П4.1)

От переменной y перейдем к переменной u . Делаем подстановку:
(П4.2) .
Здесь и – функции от x . Дифференцируем (П4.2) по x , и подставляем (П4.1):
;
.
Тем самым мы получили дифференциальное уравнение с разделяющимися переменными.
См. далее Дифференциальные уравнения, приводящиеся к уравнениям с разделяющимися переменными

Однородные уравнения

Однородные дифференциальные уравнения первого порядка имеют вид
.
Чтобы определить, является ли уравнение однородным, нужно сделать замену . Здесь t – постоянная. Если t сократится, то это однородное уравнение. Для его решения нужно от переменной y перейти к переменной u , сделав подстановку . После этого, уравнение сводится к уравнению с разделяющимися переменными.

Пример

Проверим, является ли это уравнение однородным. Сделаем замену . Считаем, что постоянная :
;
;
.
Постоянная t сократилась. Она также сократится, если считать . Это однородное уравнение. Переходим от переменной y к переменной u . Для этого делаем подстановку , где u – функция от x . Дифференцируем по x :
.
Подставляем в(П5):
;
;
.
При , берем знак ′+′ . При – знак ′–′ . Мы получили уравнение с разделяющимися переменными, решать которое мы уже умеем.
Далее см. Однородные дифференциальные уравнения первого порядка

Уравнения, приводящиеся к однородным

Уравнение вида
.
приводится к однородному подстановками
,
где – новые переменные; – постоянные, которые выбираются из условий
.

Пример

От переменных x и y , переходим к переменным t и u . Делаем подстановку . Тогда ;
;
;
.
Решаем систему из двух линейных уравнений

Определив и , получаем однородное уравнение:
.
Метод решения такого уравнения мы только что рассмотрели. См. Дифференциальные уравнения первого порядка, приводящиеся к однородным

Обобщенные однородные уравнения

К однородным уравнениям приводятся уравнения вида
.
Чтобы определить, является ли дифференциальное уравнение обобщенным однородным, нужно ввести постоянную t и сделать замену: . Если удастся выбрать такое значение α , при котором постоянная t сократится, то это – обобщенное однородное дифференциальное уравнение. Для решения этого уравнения, нужно от переменной y перейти к переменной u , сделав подстановку . При этом уравнение сводится к разделяющимся переменным.

Пример

Проверим, является ли уравнение (П7) обобщенным однородным. Делаем замену: .
.
Подставляем в (П7):
.
Делим на :
.
Отсюда видно, что t сокращается, если положить .

Итак, мы нашли, что это обобщенное однородное уравнение с . Решаем его. От переменной y переходим к переменной u , выполняя подстановку .
;
;
.
Подставляем в (П7):
(П7) ;
;
;
;
.
Мы получили уравнение с разделяющимися переменными.
См. далее Обобщенные однородные дифференциальные уравнения первого порядка

Линейные уравнения

Дифференциальные уравнения, вида
(11)
называются линейными дифференциальными уравнениями первого порядка.

Решение с помощью интегрирующего множителя

Уравнение (11) имеет интегрирующий множитель .
См. Решение линейных дифференциальных уравнений первого порядка
Продемонстрируем это на примере.

Пример

Это линейное уравнение первого порядка. Решаем его с помощью интегрирующего множителя. Разделим (П8.1) на x :
(П8.2) .
Тогда . Находим интегрирующий множитель :
; .
Пусть . Тогда . Умножаем (П8.2) на и выделяем полный дифференциал:
;
;
;
.
Отсюда , или .

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

Решение методом Бернулли

Линейное уравнение первого порядка можно решить красивым приемом, введя две функции и , зависящие от переменной x . Сделаем подстановку . Тогда . Подставим в исходное уравнение (11):
(11) ;
;
(12) .
Наложим условие
(13) .
Уравнение (13) с разделяющимися переменными. Решаем его, и возьмем любое, отличное от нуля частное решение. Так мы определим функцию . Учитывая (13), уравнение (12) примет вид:
.
Теперь здесь уже известная функция, и это уравнение с разделяющимися переменными. Решая его, найдем общее решение . Вместе с этим получаем общее решение исходного уравнения (11): .
Подробнее, см. Решение линейного ДУ первого порядка методом Бернулли

Решение методом Лагранжа

Метод Лагранжа интересен тем, что указывает путь поиска решения от простого к сложному. Рассмотрим линейное уравнение:
(11) .
Давайте его упростим. Сначала рассмотрим однородное уравнение – то есть уравнение с :
(14) .
Это уравнение с разделяющимися переменными, и мы можем его решить:
;
;
;
;
.
Заменим постоянную на C . Тогда общее решение примет вид:
(15) , где .

Теперь вернемся к исходному неоднородному уравнению (11). Попытаемся найти его решение, используя решение более простого, однородного уравнения (14). Для этого в (15) заменим постоянную C на функцию, зависящую от переменной x : . То есть будем искать решение в виде
.
Подставляя в (11), получим для дифференциальное уравнение с разделяющимися переменными, которое решается в квадратурах. Решив его, получаем решение исходного уравнения. Такой метод решения называется методом вариации постоянных, или методом Лагранжа.
См. Решение линейных ДУ первого порядка методом Лагранжа

Дифференциальное уравнение Бернулли

Дифференциальное уравнение Бернулли имеет вид:
,
где и – заданные функции от x . Можно убедиться, что оно сводится к линейному уравнению подстановкой .
См. Дифференциальное уравнение Бернулли и методы его решения

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

Пример

Это уравнение Бернулли. Решаем методом Бернулли. Ищем решение в виде произведения двух функций: . Тогда
. Подставляем в (П9.1):
;
(П9.2) .
Одну из этих функций мы можем выбрать произвольным образом. Выберем v так, чтобы выражение в круглых скобках равнялось нулю:
(П9.3) .
Тогда уравнение (П9.2) превратится в уравнение с разделяющимися переменными.

Решаем уравнение (П9.3). Разделяем переменные.
;
;
;
;
.
Возьмем решение , или .

Подставим в (П9.2), учитывая (П9.3), и разделяем переменные:
(П9.2) ;
;
;
.
При имеем:
;
;
;
;
;
.
Заменим постоянную интегрирования: . Тогда решение уравнения (П9.1) примет вид:
.

Теперь рассмотрим случай . Нетрудно увидеть, что это также решение уравнения (П9.2). Тогда является решением исходного уравнения. Получаем общее решение исходного уравнения:
.

Уравнения, не разрешенные относительно производной

Существует несколько типов уравнений, не разрешенных относительно производной, которые допускают решение. При этом они должны быть разрешены относительно одной из переменной. Далее перечислены типы этих уравнений, и даны ссылки на страницы с методами их решений.

Дифференциальные уравнения второго и высших порядков

Уравнения, допускающие понижение порядка

Уравнения, не содержащие y в явном виде

Рассмотрим уравнения вида
.
Если сделать подстановку , то . То есть мы понизили на единицу порядок такого уравнения.
См. Дифференциальные уравнения, не содержащие функцию в явном виде

Уравнения, не содержащие x в явном виде

Рассмотрим уравнения, которые не содержат независимую переменную x в явном виде:
.
Мы можем понизить порядок таких уравнений, если от переменных x и y перейдем к независимой переменной y и зависимой переменной y′ . То есть, считаем, что все производные являются функциями от y .

Пример

Это уравнение не содержит независимую переменную x в явном виде. Переходим к новым переменным. Пусть независимой переменной является y , а зависимой y′ . Введем для нее обозначение:
. Тогда по правилу дифференцирования сложной функции, имеем:
.

Подставляем в (П10.1):
.
Мы получили дифференциальное уравнение первого порядка с разделяющимися переменными.
Далее, см. Дифференциальные уравнения высших порядков, не содержащие переменную в явном виде

Уравнения, однородные относительно функции и ее производных

Это уравнения вида
.
Чтобы распознать такое уравнение, нужно сделать замены , и т.д. Если постоянная t сократится, то это уравнение однородное относительно функции и ее производных.

Для решения, мы от зависимой переменной y переходим к новой зависимой переменной u с помощью подстановки
,
где – функция от x .

Пример

Проверим, является ли это уравнение однородным относительно функции и ее производных. Заменим в исходном уравнении y на ty , y′ на ty′ , y′′ на ty′′ :
;
.
Постоянная t сокращается. Значит это уравнение однородное относительно функции и ее производных.

Делаем подстановку , где – функция от x .
.
(П11.1) ;
.
Делим на . При имеем:
;
;
.
Мы получили линейное дифференциальное уравнение первого порядка. См. далее ДУ высших порядков, однородные относительно функции и ее производных

Линейные уравнения с постоянными коэффициентами

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

Общие свойства линейных уравнений

Рассмотрим линейное однородное дифференциальное уравнение n-го порядка с постоянными коэффициентами:
(Л1) ,
где – постоянные, то есть не зависящие от переменной x коэффициенты (числа). При этом . Это уравнение имеет n линейно независимых решений:
(Л2) .
Они называются фундаментальной системой решений. Когда n линейно независимых решений найдены, то общее решение однородного уравнения (Л1) имеет вид:
.

Теперь рассмотрим более общее – линейное неоднородное дифференциальное уравнение n-го порядка с постоянными коэффициентами:
(Л3) ,
где – непрерывная функция на некотором отрезке . Тогда, на этом отрезке, уравнение (Л3) имеет решение, удовлетворяющее заданным начальным условиям:
, где – любые действительные числа; .

Пусть есть частное (любое) решение уравнения (Л3). Тогда общее решение неоднородного уравнения (Л3) равно сумме частного решения неоднородного уравнения, и общего решения однородного:
,
где – общее решение однородного уравнения (Л1).

Если, в уравнении (Л3), неоднородную часть можно представить в виде суммы p слагаемых:
,
то частное решение равно сумме отдельных частных решений: . Здесь – частное решение уравнения
.

Решение однородного уравнения

Рассмотрим линейное однородное ДУ n-го порядка с постоянными коэффициентами:
(Л1) .
Чтобы найти его общее решение, нам нужно найти n линейно независимых решений. Или, как говорят, найти фундаментальную систему решений. Ищем решение в виде . Подставляя в (Л1), получаем уравнение степени n, которое называют характеристическим уравнением:
(Л4) .
Оно имеет n корней , и может быть записано в виде:
.
Каждому корню соответствует частное решение, входящее в состав фундаментальной системы. При этом корни могут быть кратными и комплексными. Рассмотрим правила составления линейно независимых решений.

Действительному единственному корню соответствует решение .
Действительному корню кратности p , соответствуют p линейно независимых решений:
.
Если есть единственный комплексный корень , то имеется и комплексно сопряженный корень . Им соответствуют два линейно независимых решения
.
Если есть кратный комплексный корень кратности p , то имеется и комплексно сопряженный корень, кратности p : . Им соответствуют 2 p линейно независимых решений
;
;
;
.
.

Пример

Ищем решение в виде . Составляем характеристическое уравнение и преобразуем его:
;
(П12.2) .
Решаем квадратное уравнение :
.
Перепишем характеристическое уравнение (П12.2) в эквивалентном виде:
.
Корням кратности 2 соответствуют два линейно независимых решения:
;
.
Комплексно сопряженным корням , соответствуют решения
.
Общее решение:
.

Решение уравнений со специальной неоднородностью

Рассмотрим, часто встречающееся в приложениях, линейное неоднородное уравнение с постоянными коэффициентами со специальной неоднородностью:
(Л5.1) ,
где правая часть представлена в виде произведений степенной функции, экспоненты, косинусов и синусов:
(Л5.2) .
Здесь – многочлены степеней и , соответственно.

Общее решение (Л5.1) – (Л5.2) имеет вид:
.
Здесь – общее решение однородного уравнения (с ); – частное решение неоднородного уравнения (Л5.1)–(Л5.2). Как найти общее решение , мы рассмотрели в предыдущем пункте. Изложим метод нахождения частного решения.

Ищем методом неопределенных коэффициентов. Известно, что для уравнения (Л5.1) – (Л5.2), частное решение имеет следующий вид:
(Л6) .
Здесь ; и – многочлены степени s . Если среди корней характеристического уравнения (Л4) ⇑ нет корня , то . Если такой корень есть, то m – его кратность.

Метод нахождения частного решения заключается в том, что мы ищем решение в виде (Л6). Для этого записываем многочлены в общем виде:
;
.
Здесь коэффициенты (числа), которые нужно определить. Далее мы выписываем (Л6) в общем виде:

.
Находим n производных , и подставляем их выражения в исходное уравнение (Л5.1) – (Л5.2). В левой части мы получим сумму из членов с множителями , и членов с множителями . Здесь . В правой, неоднородной части, также имеется членов с множителями , и членов с множителями . При этом часть из них может равняться нулю. Приравнивая коэффициенты при этих множителях, получим систему из уравнений, решая которую, мы определяем неизвестные коэффициенты .

Если , то правая часть имеет более простой вид:
(Л5.3) .
Тогда частное решение содержит неопределенных коэффициентов:
.
Здесь , если характеристическое уравнение (Л4) ⇑ не имеет действительного корня . Если характеристическое уравнение имеет действительный корень , то m – его кратность.
Далее находим выражения для n производных , и подставляем их в исходное уравнение (Л4.1) – (Л4.2). В левой части мы получим сумму из членов с множителями . В правой, неоднородной части, также имеется членов с множителями . Часть из них может равняться нулю. Приравнивая коэффициенты при этих множителях, получим систему из уравнений, решая которую, мы определяем неизвестные коэффициенты .

Наконец, если и , и , то
(Л5.4) .
Частное решение, как и в предыдущем случае, имеет неопределенных коэффициентов:
.
Если характеристическое уравнение не имеет действительного корня , то . Если характеристическое уравнение имеет такой корень, то m – его кратность. Находим выражения для n производных ; подставляем их в исходное уравнение (Л4.1) – (Л4.2). В левой части мы получим сумму из членов с множителями . В правой, неоднородной части, также имеется членов с множителями . Часть из них может равняться нулю. Приравнивая коэффициенты при этих множителях, получим систему из уравнений, решая которую, определяем неизвестные коэффициенты .

Решение неоднородных уравнений общего вида

Теперь рассмотрим методы решения линейного неоднородного ДУ n-го порядка с постоянными коэффициентами с неоднородностью общего вида:
(Л3) .
В отличие от предыдущего случая со специальной неоднородностью, в этом разделе мы считаем, что неоднородность имеет произвольный вид.

Решение методом Бернулли

Метод Бернулли заключается в том, что мы ищем решение уравнения
(Л3)
в виде произведения двух функций и , зависящих от переменной x :
.
Если в качестве v взять частное решение однородного уравнения
,
то такая подстановка приводит к понижению порядка исходного уравнения (Л3).

Пример

Ищем решение в виде произведения двух функций; подставляем в уравнение (П13.1) и группируем члены:
(П13.2) ;
;
.
(П13.1) ;
;
(П13.3) ;

Решаем однородное уравнение
(П13.4) .
Ищем решение в виде . Составляем и решаем характеристическое уравнение:
;
.
Получаем два кратных корня . Общее решение уравнения (П13.4):
.
В качестве v мы можем взять любое, отличное от нуля решение. Поэтому положим
. Тогда ; .

Понижение порядка линейной подстановкой

Порядок линейного уравнения с постоянными коэффициентами можно понизить с помощью подстановки . Более подробно этот материал изложен на странице «Понижение порядка в линейных неоднородных ДУ с постоянными коэффициентами». Здесь мы рассмотрим пример применения этого метода.

Пример

Решить уравнение, применяя линейную подстановку
(П14.1)

Перепишем левую часть уравнения (П14.1), введя оператор дифференцирования :
.
Подставим в (П14.1). Исходное уравнение принимает вид
.
Сделаем подстановку . В результате для переменной u получаем уравнение первого порядка:
;
.

Итак, подстановкой
(П14.2) ,
мы получили уравнение первого порядка:
(П14.3) .

Решаем уравнение (П14.3), умножая его на интегрирующий множитель :
;
;
;
;
.

Подставляем в уравнение (П14.2) и решаем его с помощью интегрирующего множителя .
;
;
;
;
;
.

Метод вариации постоянных Лагранжа

Выпишем еще раз линейное неоднородного ДУ n-го порядка с постоянными коэффициентами:
(Л3) .
Метод вариации постоянных, который мы применили для уравнения первого поряддка, также применим и для уравнений произвольного порядка.

Для решения уравнения (Л3), мы вначале решаем однородное уравнение
.
Получаем его общее решение, которое имеет вид:
(Л7) .
Далее мы считаем, что постоянные являются функциями от x . То есть заменяем постоянные на некоторые, пока не известные, функции . Подставляем в (Л7), и ищем решение исходного уравнения (Л3) в следующем виде:
(Л8) .
Подставляем (Л8) в (Л3). При этом на функции накладываем дополнительные ограничения:
.
В результате получаем систему n линейных уравнений относительно неизвестных . Решая эту систему, получаем значения производных , как функций от x . Интегрируя, получаем выражения для самих функций . Подставляя в (Л8), получаем общее решение исходного уравнения (Л3).

Уравнение Эйлера

Уравнение
(Л9)
называется дифференциальным уравнением Эйлера. Подстановкой
(Л10)
оно приводится к уравнению с постоянными коэффициентами.

В некоторых случаях, уравнение Эйлера проще решать напрямую, не прибегая к подстановке (Л10). При решении неоднородного уравнения, к уравнению Эйлера применимы методы двух функций Бернулли, и метод вариации постоянных Лагранжа.

Рассмотрим однородное уравнение Эйлера:
(Л11) .
Его тоже проще решить без подстановки (Л10). Для этого мы ищем решение в виде . Находим производные, и подставляем в уравнение (Л11). В результате получаем характеристическое уравнение степени n . Оно имеет n корней.

Действительному корню , кратности p , соответствуют p линейно независимых решений
;
.
Если есть комплексный корень кратности p , то есть и комплексно сопряженный корень кратности p . Им соответствуют линейно независимых решений
;
;
.
.
Определив фундаментальную систему решений , получаем общее решение однородного уравнения (Л11):
.

Использованная литература:
В.В. Степанов, Курс дифференциальных уравнений, «ЛКИ», 2015.
Л.Э. Эльсгольц, Дифференциальные уравнения и вариационное исчисление, М., 1969.

Автор: Олег Одинцов . Опубликовано: 31-05-2020


источники:

http://life-prog.ru/2_14933_metodi-yavnie-i-neyavnie.html

http://1cov-edu.ru/differentsialnye-uravneniya/