-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathchapter01.qq
411 lines (349 loc) · 30.5 KB
/
chapter01.qq
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
\chapter Понятие дифференциального уравнения \label chap:notion_of_ODE
\section Примеры моделей, приводящих к дифференциальным уравнениям
Прежде чем говорить о дифференциальных уравнения в общем виде, обсудим
несколько простых примеров, в которых они возникают естественным образом.
\subsection Рост населения. Мальтузианская модель \label par:1:Malthus
Пусть скорость роста популяции какого-нибудь вида (например, рыб в пруду или
бактерий в чашке Петри) в любой момент времени пропорциональна количеству особей
в популяции в этот момент времени. Это предположение кажется разумным (какая-то
часть популяции за единицу времени воспроизводится), если есть достаточное
количество ресурсов. Обозначим размер популяции в момент времени $t$ через
$x(t)$. Тогда мгновенная скорость роста равна $\frac{dx(t)}{dt}$. Обычно
производная по переменной $t$ обозначается точкой $\dot x(t)$, а не штрихом.
Таким образом, наш закон роста размера популяции можно записать так:
\equation
\dot x(t)=kx(t),
где $k>0$ — коэффициент пропорциональности (константа).
\snippet \hidden \label snip:Malthus \flabel Мальтузианская модель
\backref par:1:Malthus
\em{Мальтузианская модель} роста населения предполагает, что в каждый момент
времени скорость прироста популяции пропорциональна размеру популяции: $\dot
x=kx$
Зависимость от $t$ обычно опускают и пишут просто
\equation
\dot x=kx.
Это — одно из простейших (и важнейших) дифференциальных уравнений. Неизвестной
величиной в ней является не число (как в обычных алгебраических уравнениях) и не
вектор (как в линейной алгебре), а функция $x(t)$.
\subsection Рост экономики. Модель Солоу
\snippet \label snip:Solow \flabel Модель Солоу
Согласно \em{модели Солоу}, скорость прироста капиталовооруженности экономики
(количества капитала в расчёте на одного трудоспособного человека) в
предположении отсутствия внешней торговли, технического прогресса и роста
населения, описывается формулой
\eq
\dot k=sf(k)-\delta k,
где $k=k(t)$ — капиталовооруженность экономики в момент времени $t$, $s$ —
норма сбережения, $\delta$ — норма выбытия капитала.
\subsection Механическая система. Падающий шарик
\label par:1:freefall
Если я возьму в руку маленький тяжелый шарик, что с ним произойдёт, когда я его
отпущу? Не нужно проводить этот эксперимент на практике и даже решать
дифференциальное уравение, чтобы ответить: он станет падать вниз.
Это подскажет нам наша физическая интуиция. Использование интуиции и ранее
накопленного опыта очень важно при решении задач, поэтому мы время от времени
будем обращаться к механическим примерам.
Пусть вертикальная координата шарика (высота) в момент времени $t$ есть $y(t)$.
Известно, что на тело, находящееся в поле тяготения земли (на не слишком большой
высоте) действует сила тяжести, равная
\eq
F=-mg,
где $m$ — масса тела, $g$ — ускорение свободного падения (примерно равно
9.8 \rawhtml{м/с<sup>2</sup>}),
знак «-» выбран, поскольку сила тяжести действует в направлении «вниз» (против
направления роста $y$). Трением мы будем пренебрегать и считать, что никаких
других сил на шарик не действует.
Чтобы перейти к дифференциальным уравнениям, нужно вспомнить второй закон
Ньютона, который гласит, что \emph{ускорение} тела пропорционально действующей
на него силе и обратно пропорционально массе:
\eq
a=F/m\quad\Leftrightarrow\quad F=ma.
Ускорение — это вторая производная от координаты по времени, она обозначается
двумя точками. Таким образом, мы имеем дифференциальное уравнение, описывающее
движение шарика:
\equation \label eq:1:ddot
\ddot y=-g.
\section Простейшие дифференциальные уравнения \label sec:1:simple
Вернёмся к математической точке зрения на дифференциальные уравнения. Начнём с
относительно общего определения.
\subsection Дифференциальное уравнение общего вида \label ssec:1:general
Дифференциальным уравнением называется соотношение вида
\equation \label{eq:1:general}
\dot x=f(t, x),
где $x=x(t)$ — неизвестная функция, $f(t, x)$ — известная функция двух
переменных. Мы пока что будем рассматривать уравнения, в которых областью
значений неизвестной функции являются вещественные числа $\mathbb R$, но чуть
позже обсудим и более сложные случаи, когда $x$ принимает значение в многомерных
пространствах. Также отметим, что в уравнении \ref{eq:1:general} фигурирует
только первая производная неизвестной функции — это уравнение \emph{первого
порядка}. Позже мы обсудим, что делать с уравнениями более высоких порядков
(например, таких как \ref{eq:1:ddot}). Пока же остановимся на рассмотрении
уравнений вида \ref{eq:1:general}.
\em{Решением} дифференциального уравнения называется дифференцируемая функция
$x=\ph(t)$, такая, что при подстановке её в уравнение получается верное
равенство:
\equation
\dot \ph(t)=f(t, \ph(t))\quad \forall t\in D(f),
где $D(f)$ — область определения функции $f$: это может быть вся числовая ось,
луч, отрезок, интервал или полуинтервал.
\remark \nonumber
Мы будем предполагать, что областью определения решения дифференциального
уравнения является связное множество (то есть, например, объединение двух
непересекающихся отрезков запрещено): всё-таки дифференциальные уравнения
пришли из реальных физических задач и описывают модель реального процесса —
трудно представить себе, что функция, описывающая состояние некоторой
системы, была бы сначала определена, потом не определена, а потом снова
определена.
Рассмотрим несколько примеров.
\subsection Нулевая правая часть \label ssec:1:zero-rhs
Простейшее дифференциальное уравнение, которое только можно придумать, имеет вид
\eq
\dot x=0.
Его решениями являются функции $x(t)=C$, где $C$ — любая константа.
Действительно, если функция имеет нулевую производную и при этом всюду
дифференцируема, то она не меняется и значит равна константе. Заметим, что даже
в таком простейшем случае мы имеем не одно, а сразу целое семейство решений.
Аналогичная ситуация будет и в более сложных примерах.
\subsection Постоянная правая часть \label ssec:1:const-rhs
Чуть более сложное уравнение:
\eq
\dot x=k,
где $k$ — константа. Это уравнение движения с постоянной скоростью, его
решениями являются всевозможные линейные функции
\eq
x(t)=kt+C,
Заметим, что в этом случае константа $C$ задаёт значение функции в начальный
момент времени $t=0$.
\subsection Правая часть, зависящая только от времени
\label par:1:onlytime
Рассмотрим несколько более сложный пример: пусть функция $f(t,x)$ в правой части
\ref{eq:1:general} на самом деле не зависит от $x$.
\equation
\label{eq:1:int}
\dot x=f(t).
Задачу отыскания решения такого дифференциального уравнения можно сформулировать
следующим образом: \em{для каждого значения независимой переменной $t$ известна
производная некоторой функции; найти эту функцию}. Нетрудно видеть, что это
в точности задача интегрирования (отыскания первообразной). Решение такого
уравнения задаётся таким образом \em{неопределенным интегралом}, который можно
записать в виде
\equation
\label{eq:1:intsol}
x(t)=\int f(t) dt=\int_{t_0}^t f(\tau)d\tau+C.
Неопределенный интеграл по определению является семейством функций, а при записи
его в виде определенного интеграла с переменным верхним пределом нужно указывать
константу интегрирования явным образом.
\subsection Начальные условия. Задача Коши \label par:1:Cauchy_problem
\idx Задача Коши
Чтобы выделить среди семейства решений дифференциального уравнения одно, обычно
вместе с самим дифференциальным уравнением рассматривают дополнительное
соотношение, называемое \em{начальным условием} — значение решения в какой-то
момент времени (не обязательно $t=0$) полагают равным константе.
Когда задано дифференциальное уравнение и начальное условие, говорят, что
поставлена \em{задача Коши} (по-английски \em{Initial Value Problem}).
\snippet \hidden \label snip:Cauchy_problem \flabel Задача Коши
\backref par:1:Cauchy_problem
Если вместе с дифференциальным уравнением вида $\dot x = f(t, x)$ задано
\em{начальное условие} $x(t_0)=x_0$, где $t_0$ и $x_0$ — некоторые
константы, то говорят, что поставлена \em{задача Коши} (англоязычный термин
\em{Initial Value Problem}). Само дифференциальное уравнение имеет целое
семейство решений, но начальному условию из них удовлетворяет только одно
(если дифференциальное уравнение не слишком плохое).
Например, можно рассмотреть такую задачу:
\equation
\label{eq:1:Cauchy}
\dot x=f(t),\quad x(5)=0
Eё решением будет уже только одна функция:
\equation
\label{eq:1:Cauchy_sol}
x(t)=\int_5^t f(\tau)d\tau
Действительно, любой интеграл вида \ref{eq:1:intsol} является решением уравнения
\ref{eq:1:int}, а значит, и функция в \ref{eq:1:Cauchy_sol} им является.
Остаётся проверить начальное условие. При подстановке $t=5$ решение
$x(5)=\int_5^5 f(\tau)d\tau = 0$, то есть начальное условие выполняется.
\question
Каким будет решение уравнения \ref{eq:1:int} при начальном условии $x(5)=1$?
\quiz
\choice
$x(t)=\int_5^1 f(\tau)d\tau$
\comment Неверно, эта функция вообще является константой.
\choice \correct
$x(t)=\int_5^t f(\sigma)d\sigma + 1$
\comment Верно!
\choice $x(t)=\int_t^t f(\tau)d\tau + 1$
\comment Неверно, обратите внимание на пределы интегрирования.
\subsection Простейшее линейное уравнение \label par:1:xdotx
Положим в уравнении роста населения $k=1$. Получим следующее уравнение:
\equation
\label{eq:1:xdotx}
\dot x=x
Какие функции будут его решениями? Словами можно сказать, что условие,
накладываемое этим уравнением, звучит так: «Производная функции равна самой этой
функции». Одна известная функция обладает таким свойством — это экспонента
$x(t)=e^t$. Нетрудно видеть, что если умножить экспоненту на любое число,
получающаяся функция $x(t)=Ce^t$ также будет решением этого уравнения. В
частности, очевидно, что решением будет функция $x(t)\equiv 0$.
\question
Является ли решением уравнения \ref{eq:1:xdotx} функция $x(t)=e^t+C$ при $C\ne 0$?
\quiz
\choice Да, при любых $C\ne 0$.
\comment
Это неверно, попробуйте подставить функцию в уравнение и
посчитать производную.
\choice При некоторых $C\ne 0$ является, а при других нет.
\comment
Это неверно, попробуйте подставить функцию в уравнение и
посчитать производную.
\choice \correct
Не является ни при каких $C\ne 0$.
\comment
Верно, если подставить функцию в уравнение, $C$
уничтожится при дифференцировании в левой части, но не уничтожится в
правой. Таким образом, уравнение \ref{eq:1:xdotx} принципиально
отличается от уравнений вида \ref{eq:1:int}, рассмотренных ранее.
\remark \nonumber
Мы пока не доказали, что других решений, кроме перечисленных, у этого
уравнения нет. Мы вернемся к этому вопросу в \ref[главе][chap:3:eu], когда
будем обсуждать существование и единственность решений дифференциальных
уравнений.
\section Геометрические объекты \label{par:1:geoms}
В рассмотренных выше примерах неизвестная функция $x(t)$ принимала значения во
множестве вещественных чисел. В общем случае функция $x(t)$ может принимать
значения в других множествах — например, в многомерных пространствах. Множество,
в котором принимает значение неизвестная функция (или, иными словами, множество
всевозможных значений $x(t)$ при каком-нибудь фиксированном $t$) называется
\em{фазовым пространством} дифференциального уравнения. Множество точек вида
$(t, x)$ (декартово произведение фазового пространства на ось времени) называется
\em{расширенным фазовым пространством}. График решения называется \em{интегральной
кривой}. Интегральные кривые живут в расширенном фазовом пространстве.
\snippet \hidden \label snip:integral_curve \flabel Интегральная кривая
\backref par:1:geoms
\em{Интегральная кривая} дифференциального уравнения — это просто график его
решения. Интегральная кривая лежит в расширенном фазовом пространстве и в
каждой своей точке касается поля направлений, соответствующего
дифференциальному уравнению.
Построим некоторые интегральные кривые для уравнения $\dot x=x$. Как мы уже
знаем, ими будут графики экспонент.
\figure \label fig:1:exp \showcode
\pythonfigure
plt.rcParams['figure.figsize'] = (8, 6)
ob.axes4x4()
initials = list(range(-5, -1)) + [0.15] + [x/np.exp(1) for x in [1, 2, 3]]
initials.extend([-x for x in initials])
initials.append(0)
for C in initials:
ob.mplot(np.linspace(-4,4),lambda t, C=C: C * np.exp(t),
color='steelblue', linewidth=1.5)
\caption Графики решений дифференциального уравнения $\dot x=x$
\snippet \hidden \label snip:direction_field \flabel Поле направлений
\em{Полем направлений} для уравнения $\dot x=f(t, x)$ называется такая
картинка: через каждую точку $(t_0, x_0)$ проведём прямую, угловой
коэффициент которой равен $f(t_0, x_0)$. Вся совокупность этих прямых
и будет полем направлений. График решения уравнения касается прямой из
поля направлений в каждой своей точке.
Если бы мы не знали, какие на самом деле решения нашего дифференциального
уравнения (а это наиболее распространенный случай, чаще всего дифференциальные
уравнения не решаются явно), мы всё равно могли бы примерно представить себе,
как выглядят интегральные кривые. Чтобы это сделать, нам нужно построить
\em{поле направлений} или \em{поле прямых}.
Вот что это такое. Возьмём произвольную точку $P=(t_0, x_0)$ расширенного
фазового пространства. Например, $t_0=1$, $x_0=3$. Мы можем провести в точке $P$
касательную к интегральной кривой, проходящей через эту точку. Действительно,
чтобы провести прямую через фиксированную точку, нужно знать только её угловой
коэффициент, но угловой коэффициент касательной к графику некоторой функции
равняется производной этой функции. А производную решения мы знаем, по
определению решения она равна правой части уравнения. Для уравнения
\ref{eq:1:xdotx} правая часть в точке $x$ равна $x$ и, значит, касательная,
проходящая через точку $P$, имеет угловой коэффициент, равный $x_0=3$. Можно
взять ещё несколько точек на прямой $t=1$ и провести соответствующие касательные
через них. Получится такая картинка, см. \ref[рис.][fig:1:dirfield1].
\figure \label fig:1:dirfield1 \showcode \collapsed
\pythonfigure
ob.axes4x4()
xs=range(-4,5)
plt.scatter([1] * len(xs),xs)
for x0 in xs:
ob.mplot(np.linspace(0,5),
lambda t, x0=x0: x0 * (t - 1) + x0,
linestyle='dashed',
linewidth=0.5,
color='black')
ob.mplot(np.linspace(1 - 0.2, 1 + 0.2),
lambda t, x0=x0: x0 * (t - 1) + x0,
color='red',
linewidth=1.5)
\caption Касательные к решениям
\question
Почему прямые пересекаются в начале координат?
Понятно, что можно, действуя аналогично, построить касательные к решениям не
только в выбранных точках, но и вообще в любой точке расширенного фазового
пространства. В данном случае правая часть не зависит от $t$ явно, поэтому через
любые две точки, лежащие на одной горизонтальной прямой, будут проходить
параллельные касательные. Мы будем рисовать только маленькие кусочки этих
касательных.
\figure \label fig:1:dirfield2 \showcode \collapsed
\pythonfigure
plt.cla()
ob.axes4x4()
ob.normdirfield(np.arange(-4, 4, 0.5),
np.arange(-4, 4, 0.5),
lambda x, y: y,
color='red',
linewidth=1.5,
length=0.6)
\caption Поле направлений
На картинке изображены прямые, проходящие через какие-то конкретные точки, но на
самом деле такая прямая может быть проведена через любую точку. Вся совокупность
этих прямых и будет \em{полем направлений}.
\remark \nonumber
Часто в этом месте возникает вопрос: прямые, проходящие через каждую точку
плоскости, заполнят собой всю плоскость — значит ли это, что поле
направлений является всей плоскостью? На самом деле, нет: поле направлений
не является \em{объединением} прямых; прямые, проведённые через разные
точки, никак не взаимодействуют друг с другом. Более аккуратно было бы
сказать, что поле направлений — это отображение из расширенного фазового
пространства во множество прямых, проходящих через фиксированную точку.
Чтобы это сказать совсем аккуратно, следовало бы ввести понятие касательного
расслоения, но мы этого не делать не будем.
\figure \label fig:1:dirfield3 \showcode \collapsed
\pythonfigure
plt.cla()
ob.axes4x4()
ob.normdirfield(np.arange(-4, 4, 0.5),
np.arange(-4, 4, 0.5),
lambda x, y: y,color='red',
linewidth=1.5,
length=0.6)
initials = list(range(-5, -1)) + [0.15] + [x/np.exp(1) for x in [1, 2, 3]]
initials.extend([-x for x in initials])
initials.append(0)
for C in initials:
ob.mplot(np.linspace(-4, 4),
lambda t, C=C: C * np.exp(t),
color='steelblue', linewidth=1.5)
\caption Поле направлений и интегральные кривые
Теперь задача отыскания решения дифференциального уравнения сводится к такой
геометрической задаче: нужно найти кривую, которая в каждой своей точке касается
прямой, принадлежащей полю направлений и проходящей через эту точку.
Эта интерпретация скоро окажется для нас очень полезной.
\section Выводы
Дифференциальные уравнения используются для моделирования процессов, в которых
участвует время. Предмет рассмотрения нашего курса — обыкновенные дифференциальные уравнения, они имеют вид $\dot x = f(t, x)$, где $x=x(t)$ — неизвестная функция,
определённая на всей оси $t$ или на какой-то его связной компоненте (отрезке,
интервале, полуинтервале, луче). Решением дифференциального уравнения всегда
является семейство функций; чтобы выбрать из них одну, нужно задать начальное
условие. Множество всех возможных значений функции $x$ называется \emph{фазовым
пространством}, а его декартово произведение на ось времени — \emph{расширенным фазовым
пространством}. График решения (кривая в расширенном фазовом пространстве)
называется \emph{интегральной кривой}. Если в каждой точке расширенного фазового
пространства провести прямую, уголовой коэффициент которой равен значению правой
части уравнения в этой точке, то получится \emph{поле прямых} или \emph{поле
направлений}. Всякая интегральная кривая в каждой своей точке касается прямой из поля прямых, проходящей через данную точку.
Мы рассмотрели ряд примеров и ввели много новых понятий, но пока ничего не
говорили о самом интригующем: как всё-таки решать дифференциальные уравнения?
Короткий ответ неутешителен: дифференциальные уравнения обычно не решаются явно.
(Если вас это расстраивает, подумайте о том, что обычные алгебраические
уравнения начиная с пятой степени тоже как правило не решаются явно.) Тем не
менее, мы научимся решать уравнения некоторых специальных классов (займёмся этим
уже в следующей главе), а затем обсудим, что можно сделать с теми уравнениями,
которые не решаются.