{ "cells": [ { "cell_type": "markdown", "id": "looking-guest", "metadata": {}, "source": [ "# Прикладные дифференциальные уравнения\n", "## Домашнее задание №4\n", "\n", "\n", "*Илья Щуров*\n", "\n", "Факультет компьютерных наук, Прикладная математики и информатика, 2021-22 учебный год\n", "\n", "[Страница курса](http://math-info.hse.ru/2021-22/Прикладные_дифференциальные_уравнения)" ] }, { "cell_type": "markdown", "id": "later-valuation", "metadata": {}, "source": [ "Задание выполнил(а): *впишите ваше имя*" ] }, { "cell_type": "markdown", "id": "prostate-blend", "metadata": {}, "source": [ "Задание выполняется самостоятельно. Вам запрещено смотреть в чужое решение до сдачи работы или давать своё решения для прочтения кому-либо, а также совершать эквивалентные действия — например, обсуждать решения устно, если в результате такого обсуждения тексты работ могут оказаться настолько сходными, чтобы вызвать подозрения в несамостоятельном решении.\n", "\n", "В случае сдачи работы после срока сдачи оценка будет вычисляться как решение дифференциального уравнения $\\dot x = -x$ с начальным условием $x(0)=x_0$, где $x_0$ — оценка, которую вы получили бы за работу, если бы сдали её в срок; время измеряется в днях, но течёт непрерывно, округлений нет." ] }, { "cell_type": "markdown", "id": "african-arbor", "metadata": {}, "source": [ "### Обобщение модели Лотки — Вольтерры\n", "Рассмотрим следующую модель взаимодействия хищников и жертв (например, кроликов и лис):\n", "\n", "$$\\begin{cases}\n", "\\dot x = x (1 - \\alpha x) - \\frac{y}{\\beta} (1 - e^{-\\beta x})\\\\\n", "\\dot y = -y + \\frac{y}{\\beta} (1 - e^{-\\beta x})\n", "\\end{cases}\n", "$$\n", "\n", "здесь, как и раньше, $x(t)$ — число кроликов, $y(t)$ — число лис. \n", "\n", "По сравнению с моделью Лотки — Вольтерры, тут два изменения:\n", "\n", "1. Из первого уравнения следует, что в отсутствие лис, кролики размножаются в соответствии с логистической моделью: с ростом популяции относительная скорость роста снижается, поскольку ресурсов становится меньше (в оригинальной модели только лисы могли ограничить рост популяции кроликов).\n", "\n", "2. Вероятность встречи кролика с лисой растёт нелинейно по числу кроликов: с увеличением числа кроликов скорость роста этой вероятности замедляется (например, за счёт охвата кроликами большей территории).\n", "\n", "Я адаптировал эту модель из [1], где она даётся со ссылками на [2] и [3].\n", "\n", "[1] Oster, G. and J. Guckenheimer. Bifurcation Phenomena In Population Models. In: [The Hopf Bifurcation and Its Applications](https://authors.library.caltech.edu/25053/1/Hopf.pdf), J. E. Marsden, M. McCracken. (ed.), 1976, p. 337.\n", "\n", "[2] Rosenzweig, M. Paradox of enrichment: destabilization of exploitation ecosystems in ecological time. Science 171 (197l), 385-387.\n", "\n", "[3] May, R. M. Limit cycles in predator-prey communities, Science 177 (1972), 900-902." ] }, { "cell_type": "markdown", "id": "virtual-speed", "metadata": {}, "source": [ "### Задача 1\n", "Покажите аналитически, что при $\\alpha → 0$ и $\\beta → 0$ наша модель стремится к модели Лотки — Вольтерры, рассмотренной на первом занятии. Таким образом, можно говорить, что при маленьких значениях $\\alpha$ и $\\beta$ наша система является малым возмущением оригинальной модели." ] }, { "cell_type": "markdown", "id": "clean-banner", "metadata": {}, "source": [ "### Задача 2\n", "Напишите функцию `plot_phase_portrait(alpha, beta)`, которая строит фазовый портрет системы при данных значениях параметров. Помимо использования функции `plt.streamplot`, нарисуйте на той же картинке какую-нибудь траекторию (не являющуюся особой точкой) явно — возьмите достаточно большой интервал времени, чтобы можно было понять, каково предельное поведение (при $t\\to +\\infty$) этой траектории.\n", "\n", "Постройте фазовые портреты для нескольких значений параметров. Опишите предельное поведение выбранной траектории при каждом из этих значений. Попробуйте подобрать значения параметров так, чтобы появился предельный цикл. (Чтобы явно выделить предельный цикл, можно вычислить какую-нибудь траекторию, и выкинуть (не рисовать) её начало (например, первую половину по времени) — к этому моменту, скорее всего, если предельный цикл существует, вы сильно к нему притянетесь.)" ] }, { "cell_type": "markdown", "id": "palestinian-enlargement", "metadata": {}, "source": [ "### Задача 3\n", "Мы знаем, что бифуркация Андронова — Хопфа, приводящая к рождению предельного цикла, может происходить при тех значениях параметров, при которых линеаризация векторного поля в особой точке (положении равновесия) имеет чисто мнимые собственные значения.\n", "\n", "Пусть система дифференциальных уравнений имеет вид\n", "\n", "$$\\dot x = f(x, y), \\quad \\dot y = g(x, y)$$\n", "Тогда её матрица линеаризации — это матрица Якоби:\n", "\n", "$$\\begin{pmatrix}f'_x & f'_y \\\\\n", "g'_x & g'_y\n", "\\end{pmatrix},$$\n", "\n", "где частные производные вычисляются в исследуемой особой точке.\n", "\n", "Запишите явно условия на частные производные $f$ и $g$, при которых может происходить бифуркация Андронова — Хопфа. Перепишите эти условия в терминах определителя и следа матрицы линеаризации.\n", "\n", "**Подсказка.** У вас должно получиться одно равенство и одно неравенство. И вам не нужны квадратные корни!" ] }, { "cell_type": "markdown", "id": "preceding-difference", "metadata": {}, "source": [ "### Задача 4\n", "У нашей системы (обобщения модели Лотки — Вольтерры) есть единственное положение равновесия в области $x>0$, $y>0$ (неравенства строгие!). Обозначим его через $(x_*. y_*)$. Найдите, как зависят $x_*$ и $y_*$ от параметров $\\alpha$ и $\\beta$. Найдите матрицу линеаризации системы в этой особой точке. Запишите условия, найденные в предыдущей задаче, для построенной матрицы линеаризации. С помощью того из условий, которое является равенством, найдите явно, как зависит $\\beta$ от $\\alpha$.\n", "\n", "Эту задачу нужно решать аналитически, но можно использовать системы компьютерной алгебры — например, [SymPy](https://www.sympy.org/en/index.html)." ] }, { "cell_type": "markdown", "id": "disabled-piece", "metadata": {}, "source": [ "### Задача 5\n", "Зафиксируйте какое-нибудь подходящее значение $\\alpha$ и меняйте значение $\\beta$, так, чтобы пронаблюдать бифуркацию рождения предельного цикла. Сделайте анимацию фазового портрета. Покажите, что бифуркация происходит действительно при тех значениях $\\alpha$ и $\\beta$, при которых должна, исходя из решения предыдущей задачи. (Если получится сделать красивую анимацию, можно будет добавить в статью Википедии про бифуркацию Андронова — Хопфа.)" ] }, { "cell_type": "markdown", "id": "described-trading", "metadata": {}, "source": [ "### Задача 6\n", "\n", "Зафиксируйте какие-нибудь значения $\\alpha$ и $\\beta$, при которых система имеет предельный цикл, выберите произвольным образом несколько различных начальных условий и для каждого постройте графики $x(t)$ (на одной и той же картинке). Что вы можете сказать про предельную динамику системы? Как она зависит от выбора начального условия?\n", "\n", "Сравните с решением задачи 3 из ДЗ№1.\n", "\n", "### Задача 7\n", "Как вы думаете, какая из систем — исходная (как в ДЗ№1) или модифицированная (как в этом ДЗ) адекватнее описывает явления, которые могут возникать при взаимодействии популяций хищников и жертв?" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.10" } }, "nbformat": 4, "nbformat_minor": 5 }