{ "cells": [ { "cell_type": "markdown", "id": "looking-guest", "metadata": {}, "source": [ "# Прикладные дифференциальные уравнения\n", "## Домашнее задание №3\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": "average-collapse", "metadata": {}, "source": [ "### Задача 1: возвращение Лотки — Вольтерра\n", "\n", "Вернёмся к системе Лотки — Вольтерра из первого занятия. У неё есть единственное нетривиальное положение равновесия (когда количество кроликов и лис положительно). Найдите линеаризацию системы вблизи этого положения равновесия. Определите тип особой точки линеаризации. Постройте (с помощью `plt.streamplot` или найдя несколько фазовых кривых с помощью `odeint` или `ode`) на одной картинке фазовый портрет линеаризации и исходной системы. Как теперь вы можете объяснить, что вблизи положения равновесия колебания близки к гармоническим, а далеко от него они перестают быть таковыми?" ] }, { "cell_type": "markdown", "id": "lonely-monte", "metadata": {}, "source": [ "*ваше решение здесь*" ] }, { "cell_type": "markdown", "id": "crazy-fraction", "metadata": {}, "source": [ "### Задача 2: осциллятор с трением\n", "Добавим в модель осциллятора силу трения. Она будет действовать против скорости движения, а её величина будет пропорциональна скорости (обычное сухое трение скольжения работает не так, зато вязкое трение работает похожим образом — будем считать, что у нас осциллятор в вязкой жидкости). Получится такое уравнение:\n", "\n", "$$\\ddot x = -x - \\mu \\dot x,$$\n", "где $\\mu$ — коэффициент трения.\n", "\n", "Как ведёт себя решение $x(t)$ этого уравнения с одним и тем же начальным условием (например, $x(0)=1$, $\\dot x(0)=0$) в зависимости от $\\mu$? Поставьте несколько численных экспериментов и постройте графики $x=x(t)$ для различных значений $\\mu$: например, можно начать с больших значений и постепенно уменьшать $\\mu$, приближая его к нулю. Какие типы динамики осциллятора вы можете выделить?\n", "\n", "Объясните увиденное на численном эксперименте с помощью теории линейных уравнений с постоянными коэффициентами. Как меняется фазовый портрет при изменении $\\mu$? Как меняется тип особой точки в начале координат? Постройте соответствующие фазовые портреты (можно вручную, можно с помощью компьютера)." ] }, { "cell_type": "markdown", "id": "cutting-taxation", "metadata": {}, "source": [ "*ваше решение здесь*" ] }, { "cell_type": "markdown", "id": "infectious-budapest", "metadata": {}, "source": [ "### Задача 3: модель Рамсея\n", "В экономике рассматривают следующую модель экономического роста ([Модель Рамсея — Касса — Купманса](https://ru.wikipedia.org/wiki/Модель_Рамсея_—_Касса_—_Купманса)):\n", "\n", "$$\\frac{\\dot c}{c} = \\frac{f'(k) - \\rho - \\delta}{\\theta}, \\quad \\dot k = f(k) - c - \\delta k,$$\n", "\n", "здесь $k=k(t)$ — капиталовооружённость экономики в момент времени $t$ (то есть количество капитала на единицу труда — грубо говоря, сколько станков / инструментов / etc. приходится на одного работника), $c=c(t)$ — потребление в момент времени $t$ (также на одного работника), $f(k)$ — функция производства (сколько единиц продукции можно выпустить за единицу времени с помощью капитала $k$), $\\delta$ — норма амортизации капитала (какая доля станков выходит из строя за единицу времени), $\\rho$ и $\\theta$ — некоторые константы, смысл которых я объяснить не берусь.\n", "\n", "Второе уравнение выглядит логичным: за единицу времени мы производим $f(k)$ продукции, из неё $c$ потребляется и $\\delta k$ выбывает в силу амортизации. Первое уравнение выглядит более загадочным и его объяснить сложнее: оно появляется из решения задачи максимизации полезности потребления (с одной стороны, потребление хочется максимизировать, с другой — если тратить всё произведенное на потребление, то производить дальше будет нечем).\n", "\n", "Пусть $\\rho=0.01$, $\\theta=1$, $f(k)=4 k^{\\frac{1}{3}}$, $\\delta=0.03$.\n", "\n", "Найдите положение равновесия при $c>0$, $k>0$. Найдите матрицу линеаризации системы в положении равновесия. Установите тип особой точки линеаризации. (Всё это нужно сделать аналитически.)\n", "\n", "Постройте фазовый портрет (с помощью подходящих функций на компьютере). На фазовом портрете постройте изоклины $\\dot c = 0$ и $\\dot k = 0$ (то есть линии, на которых векторы векторного поля смотрят горизонтально или вертикально).\n", "\n", "Найдите численно какое-нибудь начальное условие, из которого траектория стремится к положению равновесия при $t\\to +\\infty$ (кроме самого положения равновесия), то есть сепаратрису соответствующей особой точки. Сделать это можно с помощью алгоритма деления отрезка пополам. Постройте эту сепаратрису на фазовом портрете." ] }, { "cell_type": "markdown", "id": "funny-senator", "metadata": {}, "source": [ "*ваше решение здесь*" ] }, { "cell_type": "code", "execution_count": null, "id": "adult-temperature", "metadata": {}, "outputs": [], "source": [] } ], "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 }