Прикладные дифференциальные уравнения

Занятие 9

Илья Щуров

Факультет компьютерных наук, Прикладная математики и информатика, 2021-22 учебный год

Страница курса

Рассмотрим уравнение $$\dot x = \sin(t) (x + x^2)$$ Оно имеет решение с начальным условием $x(0)=0$, которое является постоянным: $x(t)=0$.

Линеаризация уравнения вблизи этого решения:

$$\dot y = y \sin t$$

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

$$y(t)=y_0\exp\int_0^t \sin \tau\, d\tau=y_0\exp(-\cos t+1).$$

Сравним решения исходного уравнения и его линеаризации.

In [1]:
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
from scipy.integrate import odeint
In [2]:
def f(x, t):
    return np.sin(t) * (x + x ** 2)
In [4]:
T = np.linspace(0, 20, 300)
plt.figure(figsize=(10, 10))
for x0 in np.linspace(-0.05, 0.05, 11):
    solution = odeint(f, x0, T)
    plt.plot(T, solution, color='C0')
    plt.plot(T, np.exp(-np.cos(T) + 1) * x0, color='C1')
In [ ]: