In [1]:
%pylab inline
from nesode import *
Populating the interactive namespace from numpy and matplotlib

Дифференциальные уравнения

Совместный бакалавриат ВШЭ-РЭШ, 2013-14 учебный год

И. В. Щуров, П. Ф. Соломатин, И. А. Хованская, А. Петрин, Н. Солодовников

Лекция 10. Простейшие линейные дифференциальные уравнения

Линейное и нелинейное: кто матери-теории более ценен?

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

Великая наука матанализ учит нас: сложное нелинейное становится простым и линейным, если посмотреть на него в микроскоп. Поэтому изучение линейного — первый шаг на пути к познанию нелинейного.

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

Мотивирующий пример: изучение постоянного решения одномерного уравнения

Рассмотрим уравнение $$\tag{*} \dot x=f(x,t),\quad x\in \mathbb R^1,\quad f(0,t)\equiv 0$$

Рассмотрим функцию $x=\varphi(t;x_0)$, задающую решение уравнения (*) с начальным условием $x(t_0) = \varphi (t_0;x_0)=x_0$. Очевидно, $\varphi(t;0)\equiv 0$.

Пусть теперь нас интересует зависимость решения от начального условия $x_0$ при $x_0$ близком к 0.

Зафиксируем какое-нибудь $t_1>t_0$. Нас интересует отображение, которое ставит в соответствие точке $x_0$ точку $\varphi(t_1;x_0)$.

В одномерном случае ответ на вопрос «как ведёт себя функция в точке» даётся производной этой функцией в данной точке. Её-то мы и хотим найти.

Будем действовать смело и решительно. Пусть

$$y(t)=\left.\frac{\partial \varphi(t;x_0)}{\partial x_0}\right|_{x_0=0}.$$

Контрольный вопрос. Чему равно $y(t_0)$?

In [61]:
axes4x4()
rcParams['figure.figsize']=(8,6)
for x0 in [1,0.5,-0.5,0]:
    eulersplot(lambda t,x: x*cos(t), -3, 4, x0,color='red',lw=2)
text(-3,1,"$x_0$", fontsize=20)
text(-3,0,"$t_0$",fontsize=20,horizontalalignment='right',verticalalignment="bottom")
plot([-3,-3],[-4,4],lw=2,color='blue')
text(2,3,"$\\varphi(t_1;x_0)$",fontsize=20)
plot([2,2],[-4,4],lw=2,color='blue')
Out[61]:
[<matplotlib.lines.Line2D at 0xd351e90>]

Ответим на более сложный вопрос: что вы можете сказать про знак $y(t_1)$? Очевидно, $y(t_1)>0$, поскольку $\varphi(t_1;x_0)$ является возрастающей по $x_0$. Действительно, если предположить, что существуют точки $x_0^2>x_0^1$ такие, что $\varphi(t_1;x_0^2)<\varphi(t_1;x_0^1)$, по теореме о промежуточном значении найдётся такая точка $t_*\in (t_0, t_1)$, что $\varphi(t_*;x_0^2)=\varphi(t_*,x_0^1)$ (см. картинку ниже). А это бы противоречило теореме единственности решения дифференциального уравнения.

In [73]:
axes4x4()
rcParams['figure.figsize']=(8,6)
for x0 in [1]:
    eulersplot(lambda t,x: x*cos(t), -3, 4, x0,color='red',lw=2)
mplot(linspace(-3,4),lambda x: cos(0.5*(x+3))*2,color='red', lw=2) #fake integral curve
text(-3,1,"$x_1$", fontsize=20, horizontalalignment='right')
text(-3,2,"$x_2$", fontsize=20, horizontalalignment='right')
text(-3,0,"$t_0$",fontsize=20,horizontalalignment='right',verticalalignment="bottom")
plot([-3,-3],[-4,4],lw=2,color='blue')
text(2,3,"$\\varphi(t_1;x_1)$",fontsize=20)
text(2,-1.5,"$\\varphi(t_1;x_2)$",fontsize=20)
plot([2,2],[-4,4],lw=2,color='blue')
title("This is imposible!")
Out[73]:
<matplotlib.text.Text at 0x117ad050>

Найдём уравнение на производную $y$ по $t$ (получим так называемое уравнение в вариациях в его простейшей форме):

$$\dot y=\frac{d}{d t} \left.\frac{\partial \varphi(t;x_0)}{\partial x_0}\right|_{x_0=0} = \left.\left(\frac{\partial}{\partial x_0} \frac{d\varphi(t;x_0)}{dt}\right)\right|_{x_0=0}=\left.\left(\frac{\partial}{\partial x_0} f(\varphi(t;x_0),t)\right)\right|_{x_0=0}=\left.\left(\frac{\partial f}{\partial x}\right)\right|_{x=0} \left.\frac{\partial \varphi(t;x_0)}{\partial x_0}\right|_{x_0=0}=f'_x(0,t) y(t)$$

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

Получается, что уравнение на производную по начальному условию имеет вид

$$\dot y=a(t)y$$

Это — линейное однородное уравнение первого порядка с переменными коэффициентами.

Оно, кстати, легко решается, её решением является функция

$$y(t)=Ce^{\int_{t_0}^t a(s) ds}$$

Отступление: в теории дифференциальных уравнений слово однородное встречается в двух разных контекстах. С одной стороны, это представленное выше уравнение, которое линейно относительно $y$. С совсем другим использованием слова однородное мы познакомились ранее в уравнениях вида $\dot x = F(x/t)$. Не путайте эти два использования одного слова!

Ещё бывает линейное неоднородное уравнение первого порядка с переменными коэффициентами, вот такое:

$$\dot y=a(t) y+b(t)$$

Общие определения

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

Примеры

Пусть $f(t)\in \mathbb R$

$(Df)(t)=\frac{d}{dt}f(t)-a(t)f(t)$ — линейный дифференциальный оператор

$(Sf)(t)=\frac{d}{dt} f(t)+f^2(t)$ — не является линейным оператором

Пусть $f(t)\in \mathbb R^n$

$(Df)(t)=\frac{d}{dt}-Af(t)$ — линейный дифференциальный оператор (здесь $A$ — некоторый фиксированный линейный оператор $A\colon \mathbb R^n\to \mathbb R^n$).

Определение. Однородное линейное дифференциальное уравнение — это уравнение вида

$$Dx=0,$$

где $D$ — некоторый линейный дифференциальный оператор.

Неоднородное линейное дифференциальное уравнение — это уравнение вида

$$Dx=b(t).$$

Философия. Как подсказывает нам мотивирующий пример, чтобы исследовать линеаризацию решения надо исследовать линейные дифференциальные уравнения. Этим мы и займёмся.

Пара теоремок про линейные уравнения (очень простых):

Теорема 1. Множество всех решений автономного линейного дифференциального уравнения — линейное пространство.

Доказательство. Напомним факт из линейной алгебры, что это означает, что 1) сумма решений является решением, 2) умноженное решение на число — тоже решение. Пусть $x$ и $y$ — решения, $\lambda$ — константа. Тогда $D(x+y)=Dx+Dy=0+0=0$. Ну и с константой то же самое: $D(\lambda x)=\lambda Dx=0$.

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

$$\tag{***} Dx=b(t)$$

Найдётся такое частное решение $x^*(t)$ уравнения $(***)$, что любое решение уравнения $(***)$ представляется в виде $x^*(t)+x^0(t)$, где $x^0(t)$ — некоторое решение уравнения $Dx=0$. (По правде говоря, в качестве частного решения можно взять любое решение неоднородного уравнения.)

Доказательство. Пусть $x^1(t)$ — фиксированное решение решение, $x^2(t)$ какое-то другое решение. Пусть $x^0=x^2-x^1$ Тогда $D(x^0)= D(x^2-x^1)=D(x^2)-D(x^1)=b-b=0$. Таким образом, $x^0$ — решение однородного уравнения, и любое решение $x^2$ представляется в виде суммы $x^1$ и какого-то решения однородного уравнения $x^0$.

Наоборот, если $x^0$ — решение однородного уравнения, то прибавляя его к решению $x^1$ неоднородного уравнения получим какое-то другое решение неоднородного уравнения.

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

Сейчас мы будем делать то, что нельзя: менять постоянные.

Рассмотрим уравнение $$\dot x=a(t)x+b(t)$$

Как его решить? Решим сперва уравнение

$$\dot x=a(t)x$$

Его решение, как мы уже сказали, такое:

$$x^0(t)=Ce^{\int_{t_0}^t a(s) ds}$$

Скажем теперь, что $C$ — не константа, а функция от времени. И подставим функцию

$$x(t)=C(t)e^{\int_{t_0}^t a(s) ds}$$

в исходное уравнение.

Получается:

$$\dot C e^{\int_{t_0}^t a(s) ds}+Ca(t)e^{\int_{t_0}^t a(s) ds}=a(t)Ce^{\int_{t_0}^t a(s) ds}+b(t)$$

Два слагаемых магическим образом сокращаются, и получается уже простое уравнение на $C$:

$$\dot C=b(t)e^{-\int_{t_0}^t a(s) ds}$$

решая его, имеем:

$$C(t)=\int_{t_0}^ t b(h)e^{-\int_{h_0}^h a(s) ds} dh+C^0$$

Контрольный вопрос. Что будет, если попытаться применить метод вариации постоянных к нелинейному уравнению — например, $\dot x=x^2+t$?