УДК 517.9
Овечкина Анастасия Игоревна,
Российский экономический университет имени Г.В. Плеханова
г. Москва, РФ
ПОСТРОЕНИЕ ФАЗОВОГО ПОРТРЕТА ЛИНЕЙНЫХ И НЕЛИНЕЙНЫХ СИСТЕМ НА ПЛОСКОСТИ
Аннотация
В данной статье рассматривается построение фазовых портретов линейных и нелинейных систем на плоскости. Особое внимание уделяется нелинейным системам, чьи фазовые портреты обладают более сложной и разнообразной структурой, требующей дополнительных исследований. В результате исследования была разработана программа программа, которая строит фазовые портреты линейных и нелинейных систем с помощью метода Эйлера, а также анализирует типы особых точек и их устойчивость.
Ключевые слова
фазовый портрет, динамические системы, линейные системы, нелинейные системы, численные
методы, метод Эйлера, особые точки, устойчивость систем, дифференциальные уравнения
Ovechkina Anastasiia Igorevna,
Plekhanov Russian University of Economics
Moscow, Russia
CONSTRUCTION OF PHASE PORTRAITS OF LINEAR AND NONLINEAR SYSTEMS ON THE PLANE
Abstract
This article discusses the construction of phase portraits of linear and nonlinear systems on the plane. Special attention is given to nonlinear systems, whose phase portraits have a more complex and diverse structure that requires additional research. As a result of the study, a program was developed that constructs phase portraits of linear and nonlinear systems using Euler's method and analyzes the types of critical points and their stability.
Keywords
phase portrait, dynamic systems, linear systems, nonlinear systems, numerical methods, Euler's method,
critical points, system stability, differential equations
Фазовый портрет - это один из основных инструментов анализа динамических систем, позволяющий визуализировать поведение системы. Фазовый портрет может быть построен как для линейных, так и для нелинейных систем, однако для нелинейных систем он имеет более сложную и разнообразную структуру, которая требует дополнительных исследований.
Актуальность темы построения фазового портрета обусловлена тем, что фазовый портрет является универсальным методом исследования линейных и нелинейных систем, которые широко применяются в различных областях науки и техники, таких как механика, электроника, биология, химия и другие. Знание фазового портрета нелинейной системы позволяет определить ее свойства, а также спроектировать подходящие методы для управления системой, ее наблюдения и оптимизации. Построение фазового портрета нелинейной системы требует применения численных методов.
Целью данного исследования является изучение методов построения фазовых портретов
линеиных и нелинейных систем на плоскости, а также применение этих методов к конкретным примерам систем.
Объектом исследования являются линейные и нелинейные системы, описываемые дифференциальными уравнениями на плоскости. Предметом исследования являются фазовые портреты линейных и нелинейных систем, а также метод Эйлера для их построения. В работе используются различные методы исследования: анализ, эксперимент, моделирование и другие.
Важно упомянуть, что для эффективного изучения информации, представленной в данной исследовательской работе, необходимо иметь представление об основных понятиях и определениях, связанных с фазовыми портретами.
Рассмотрим метод Эйлера для решения систем обыкновенных дифференциальных уравнений. Пусть есть задача Коши:
(y'=f(X>y)>
{ У(.*о) =Уо. ( 1
Обычно заранее известен интервал [а,Ь], на котором нужно найти решение. Данный интервал [а, Ь] разбивается точками. Результатом является таблица (x^yi), где i = 0,..., п. Определяется h - шаг разбиения (сетки). Так как у' на первом отрезке можно приближенно заменить разностным отношением У1-Уо, то получим приближенное равенство. Это и есть метод Эйлера:
У\~Уо + hf(Xo,yo). (2)
Используем его для вычисления траекторий фазового портрета систем. Для начала необходимо найти множество точек, которые расположены на небольшом расстоянии от особых точек системы. Это и будут начальные условия задачи Коши.
Далее, рассматривая каждую точку по отдельности и подставляя ее координаты (х0,у0) в правую часть системы, находим координаты (х,у) касательного вектора к решению, проходящему через эту точку. Найдя касательный вектор, применяем метод Эйлера, чтобы сделать шаг на некоторое небольшое расстояние h по направлению вектора:
(x1 = Xo + h* х,
lyi=yo + h*y. ( )
Таким образом, получаем координаты (х1,у1) следующей точки на фазовой прямой, и процесс повторяется.
Для построения общего фазового портрета нелинейной системы вышеописанный алгоритм применяется для каждой особой точки системы. Однако для построения траекторий в местах переходов из одной особой точки в другую этого может быть недостаточно. Поэтому, зная размеры графика фазового портрета, строится сетка равноудаленных друг от друга равнораспределенных на графике точек. Их количество зависит от рассматриваемой линейной системы и желаемой точности графика. Для каждой из них так же выполняется вышеописанный алгоритм для вычисления траекторий фазового портрета с помощью метода Эйлера.
Далее будут рассмотрены конкретные примеры построения фазовых портретов линейных и нелинейных систем. Для этого на основе изученной теоретической информации была написана программа на языке программирования Python.
Рассмотрим пример линейной системы:
(х = х-Зу+1°,
[у = Бх + 9у-1. (4)
Введем ее в главную функцию программы и найдем особую точку системы - (-3.625,2.125) (листинг 1).
Листинг 1. Вывод главной функции для линейной системы Система линейная? (1 - да, 0 - нет) 1 Пусть система имеет вид: х" = ax + ьу + ^ у" = cx + dy + t2 Введите коэффициент а: 1 Введите коэффициент Ь: -3 Введите коэффициент с: 5 Введите коэффициент d: 9 Введите свободный коэффициент П: 10 Введите свободный коэффициент t2: -1 Особая точка системы: x = -3.625 у = 2.125
Так как система имеет свободные коэффициенты, программа делает замену переменных и переносит систему в начало координат. Функция для анализа особой точки и построения фазового портрета линейной системы находит собственные значения системы и вызывает функцию для определения типа особой точки (листинг 2).
Листинг 2. Корни характеристического уравнения и тип особой точки Собственные значения системы: 11 = 6.0 !2 = 4.0
Тип особой точки: неустойчивый узел Устойчивость: неустойчиво
Далее подробнее рассмотрим функцию, которая с помощью метода Эйлера строит фазовый портрет линейной системы. В начале находятся границы графика фазового портрета - нижнюю границу по х (хтт), верхнюю границу по х (хтах), нижнюю границу по у (ут1п), верхнюю границу по у (утах), где х и у - координаты особой точки. Определяются оси х и у, название графика - «Фазовый портрет системы», шаг для метода Эйлера к = -0.001 (листинг 3).
Листинг 3. Начало функции для построения фазового портрета линейной системы x_max = x + 2 x_min = x - 2 y_max = у + 2 у_тт = у - 2 plt.xlabel(>x') plt.ylabel(,y1)
р^.Ш1е('Фазовый портрет системы') # шаг для метода Эйлера И = -0.001
Теперь берутся точки, близкие к особой точке. Их координаты хранятся с списках х0 и у0. В цикле «while» для каждой начальной точки реализован описанный далее алгоритм. Координаты точки добавляются в списки X и Y, хранящие точки траектории, в правую часть системы подставляются координаты точки, тем самым находя координаты (u,v) касательного вектора к решению, проходящему через эту точку. Найдя касательный вектор, применяем метод Эйлера, чтобы сделать шаг на некоторое небольшое расстояние h по направлению вектора. Так мы получаем координаты (х,у) следующей точки на фазовой прямой, и процесс повторяется, пока не будут достигнуты границы графика или не найдено пятьдесят тысяч точек для одной траектории. Далее все полученные точки добавляются на график (листинг 4).
Листинг 4. Построение траекторий от точек, близких к особой точке
n = 0.01
# рассмотрим точки, близкие к особой точке x0 = [x + n, x, x - n, x, x + n, x - n, x + 2*n, x, x - 2*n, x] y0 = [y, y + n, y, y - n, y + n, y - n, y, y + 2*n, y, y - 2*n] i = 0
while i < len(x0): X = []
X.append(x0[i]) Y = []
Y.append(y0[i])
# касательный вектор для начального значения u = a * x0[i] + b * y0[i] + t1
v = c * x0[i] + d * y0[i] + t2
# находим координаты следующей точки по методу Эйлера после начальной точки _x = x0[i] + h * u
_y = y0[i] + h * v times = 0
while _x < x_max and _x > x_min and _y < y_max and _y > y_min and times < 50000: X.append(_x) Y.append(_y)
# касательный вектор u = a * _x + b * _y + t1 v = c * _x + d * _y + t2
# находим координаты следующей точки по методу Эйлера _x = _x + h * u
_y = _y + h * v times += 1 plt.plot(X, Y, 'b-') i += 1
Для более точного графика строится сетка из 100 равноудаленных друг от друга равнораспределенных на графике точек. Их координаты хранятся в двумерных матрицах x0grid и y0grid. В цикле «while» для каждой из них так же выполняется вышеописанный алгоритм для
вычисления траекторий фазового портрета с помощью метода Эйлера. После окончания его работы, фазовый портрет отображается на экране (листинг 5).
Листинг 5. Построение траекторий от равноудаленных друг от друга равнораспределенных на графике точек # рассмотрим точки, равномерно распределенные по графику _x0 = np.linspace(x_min, x_max, 10) _y0 = np.linspace(y_min, y_max, 10) x0_grid, y0_grid = np.meshgrid(_x0, _y0) i = 0
while i < len(x0_grid): j = 0
while j < len(x0_grid[0]): X = []
X.append(x0_grid[i][j]) Y = []
Y.append(y0_grid[i][j])
# касательный вектор для начального значения u = a * x0_grid[i][j] + b * y0_grid[i][j] + t1
v = c * x0_grid[i][j] + d * y0_grid[i][j] + t2
# находим координаты следующей точки по методу Эйлера после начальной точки _x = x0_grid[i][j] + h * u
_y = y0_grid[i][j] + h * v times = 0
while _x < x_max and _x > x_min and _y < y_max and _y > y_min and times < 50000: X.append(_x) Y.append(_y)
# касательный вектор u = a * _x + b * _y + t1 v = c * _x + d * _y + t2
# находим координаты следующей точки по методу Эйлера _x = _x + h * u
_y = _y + h * v times += 1 plt.plot(X, Y, 'b-') j += 1 i += 1 plt.show()
Таким образом для рассматриваемой линейной системы программа строит фазовый портрет (рисунок 1).
Рисунок 1 - Фазовый портрет линейной системы Рассмотрим пример нелинейной системы:
(х = 2х + у2- 1 [у = 6х — у2 + 1.
Вводим ее в главную функцию программы и находим особые точки системы - (0,-1), (0,1) (листинг 6).
Листинг 6. Вывод главной функции для нелинейной системы
Система линейная? (1 - да, 0 - нет) 0 Введите х\ 2 * x + у**2 - 1 Введите у": 6 * x - у**2 + 1 Особые точки системы: [(0, -1), (0, 1)]
Для исследования характера особых точек нелинейной системы программа делает для каждой их них замену переменных и переносит систему в начало координат. Также функция для анализа особой точки и построения фазового портрета линейной системы находит собственные значения системы и вызывает функцию для определения типа особой точки (листинг 7, листинг 8). Таким образом, были получены локальные фазовые портреты для каждой особой точки (рисунок 2, рисунок 3).
Листинг 7. Корни характеристического уравнения и тип первой особой точки
Особая точка системы: x = 0
у = -1
Собственные значения системы: 11 = (2+3.4641016151377544]) !2 = (2-3.4641016151377544]) Тип особой точки: неустойчивый фокус Устойчивость: неустойчиво
-2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0
X -
Рисунок 2 - Локальный фазовый портрет для первой особой точки нелинейной системы
Листинг 8. Корни характеристического уравнения и тип второй особой точки Особая точка системы: х = 0 У = 1
Собственные значения системы:
11 = 4.0
12 = -4.0
Тип особой точки: седло Устойчивость: неустойчиво
2.0 —1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0
Рисунок 3 - Локальный фазовый портрет для второй особой точки нелинейной системы
Далее программа вычисляет границы графика общего фазового портрета нелинейной системы и передает их в функцию для его построения. Ее код похож на код функции для построения фазового портрета линейной функции, однако берется меньший шаг к = 0.01, а также для алгоритма нахождения траекторий близлежащие точки берутся для каждой особой точки. Кроме того, сетка из равноудаленных друг от друга равнораспределенных на графике точек имеет больший размер и насчитывает 225 точек. Это необходимо для построения траекторий в местах переходов из одной особой точки в другую. Для каждой точки выполняется описанный ранее алгоритм для вычисления траекторий фазового портрета с помощью метода Эйлера. Таким образом, мы получаем общий фазовый портрет нелинейной системы (рисунок 4).
-2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0
X
Рисунок 4- Общий график фазового портрета нелинейной системы
В результате была проведена объемная исследовательская работа на тему построения фазовых портретов линейных и нелинейных систем: были изучены основные понятия и определения, связанные с фазовыми портретами, а также классификация особых точек на фазовой плоскости; был рассмотрен метод Эйлера для построения фазовых портретов для линейных систем; был рассмотрен метод Эйлера для построения фазовых портретов для нелинейных систем; была написана программа, которая строит фазовые портреты линейных и нелинейных систем с помощью метода Эйлера, а также анализирует типы особых точек и их устойчивость. Список использованной литературы:
1. ГОСТ Р 54593-2011. Информационные технологии. Свободное программное обеспечение. Общие положения.
2. ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и систем. Обозначения условные и правила выполнения.
3. ГОСТ Р 7.0.100-2018 «Библиографическая запись. Библиографическое описание. Общие требования и правила составления»
4. Асташова, И.В. Дифференциальные уравнения. Конспект лекций для студентов 2 курса механико-математического факультета МГУ им. М.В. Ломоносова / И.В. Асташова - Москва: 2015. - 43 с.
5. Филиппов, А.Ф. Сборник задач по дифференциальным уравнениям / А.Ф. Филиппов - Ижевск: НИЦ «Регулярная и хаотическая динамика», 2000. - 176 с.
© Овечкина А.И., 2024