Научная статья на тему 'Веб-приложение PhaPl для автоматического построения и исследования фазовых портретов на плоскости'

Веб-приложение PhaPl для автоматического построения и исследования фазовых портретов на плоскости Текст научной статьи по специальности «Математика»

CC BY
2413
65
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ФАЗОВЫЙ ПОРТРЕТ / SYMPY / СВОБОДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / PYPY.JS / MATHJAX / LATEX / ВЕБ-ПРИЛОЖЕНИЕ / ОБУЧАЮЩЕЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / ЛИНЕЙНАЯ СИСТЕМА / НЕЛИНЕЙНАЯ СИСТЕМА

Аннотация научной статьи по математике, автор научной работы — Черепанов А.А.

В статье описывается веб-приложение PhaPl для построения и исследования фазовых портретов автономных систем двух дифференциальных уравнений на плоскости, предназначенное для использования в учебном процессе. Веб-приложение сильно отличается от существующих пакетов программ простотой пользовательского интерфейса и наглядностью, так как при его использовании демонстрируются все шаги решения задачи. Для полного решения задачи достаточно ввести исследуемую систему. Начальные условия для фазовых траекторий выбираются автоматически. Графическое представление фазового портрета является интерактивным. Веб-приложение использует популярное свободное программное обеспечение (SymPy, PyPy.js, MathJax, LZMA-JS). Веб-приложение является переносимым и работает в веб-браузерах с поддержкой JavaScript и элемента canvas стандарта HTML5, что делает его доступным широкому кругу учащихся, включая студентов дистанционной формы обучения. Веб-приложение может быть скачано и потом использовано без подключения к сети Интернет. В статье описываются достоинства, недостатки и особенности веб-приложения. Вебприложение было внедрено в учебный процесс РЭУ имени Г.В. Плеханова в 2018 году.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Черепанов А.А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

PHAPL WEB APPLICATION FOR AUTOMATIC BUILDING AND RESEARCH OF PHASE PORTRAITS ON PLANE

The article aims to document PhaPl that’s a teaching web application to plot and research phase portraits of autonomous systems of 2 differential equations on a plane. The web application is very different compared with previously known programs: it has very easy graphical user interface and it gives clarity because it demonstrates all steps of solution. To get the full solution, it is enough to just enter a system to research. Initial conditions to plot phase trajectories are chosen automatically. Graphical representation of the phase plane is interactive. The web application is based on popular Free Software (SymPy, PyPy.js, MathJax, LZMA-JS). The web application is portable and works in web browsers that support JavaScript and canvas element of HTML5. The web application can be downloaded and used offline without connection to the Internet. The article describes advantages, disadvantages and peculiar properties of the web application. The software is deployed in Plekhanov Russian University of Economics since 2018.

Текст научной работы на тему «Веб-приложение PhaPl для автоматического построения и исследования фазовых портретов на плоскости»

УДК 517.9

DOI: 10.18287/2541-7525-2018-24-3-41-52

А.А. Черепанов1

ВЕБ-ПРИЛОЖЕНИЕ PHAPL ДЛЯ АВТОМАТИЧЕСКОГО ПОСТРОЕНИЯ И ИССЛЕДОВАНИЯ ФАЗОВЫХ ПОРТРЕТОВ

НА ПЛОСКОСТИ

В статье описывается веб-приложение PhaPl для построения и исследования фазовых портретов автономных систем двух дифференциальных уравнений на плоскости, предназначенное для использования в учебном процессе. Веб-приложение сильно отличается от существующих пакетов программ простотой пользовательского интерфейса и наглядностью, так как при его использовании демонстрируются все шаги решения задачи. Для полного решения задачи достаточно ввести исследуемую систему. Начальные условия для фазовых траекторий выбираются автоматически. Графическое представление фазового портрета является интерактивным. Веб-приложение использует популярное свободное программное обеспечение (SymPy, PyPy.js, MathJax, LZMA-JS). Веб-приложение является переносимым и работает в веб-браузерах с поддержкой JavaScript и элемента canvas стандарта HTML5, что делает его доступным широкому кругу учащихся, включая студентов дистанционной формы обучения. Веб-приложение может быть скачано и потом использовано без подключения к сети Интернет. В статье описываются достоинства, недостатки и особенности веб-приложения. Веб-приложение было внедрено в учебный процесс РЭУ имени Г.В. Плеханова в 2018 году.

Ключевые слова: фазовый портрет, SymPy, свободное программное обеспечение, PyPy.js, MathJax, LaTeX, веб-приложение, обучающее программное обеспечение, линейная система, нелинейная система.

Цитирование. Черепанов А.А. Веб-приложение PhaPl для автоматического построения и исследования фазовых портретов на плоскости // Вестник Самарского университета. Естественнонаучная серия. 2018. Т. 24. № 3. С. 41-52. DOI: http://doi.org/10.18287/2541-7525-2018-24-3-41-52.

Введение

PhaPl — это веб-приложение для построения и исследования фазовых портретов автономных систем дифференциальных уравнений на плоскости. При этом PhaPl можно использовать как онлайн при помощи сайта в сети Интернет[1], так и локально без подключения к сети Интернет, скачав копию. PhaPl включает в себя задачи из учебного пособия[2] и позволяет вводить новые задачи. Также в PhaPl реализован генератор задач. PhaPl ориентирован на учебную деятельность и исследования.

PhaPl автоматически выполняет основные этапы решения задачи построения и исследования фазовых портретов для систем следующего вида:

( x = P(x,y), 1 У = Q(x,У),

где P и Q — функции, непрерывно дифференцируемые в некоторой области. При этом система может быть линейной или нелинейной, пользователь может выбрать задачу из пособия или ввести новую задачу.

Фазовые портреты используются в современных исследованиях в различных областях науки отечественными и зарубежными авторами, так как позволяют получить представление о качественных свойствах нелинейных систем дифференциальных уравнений, составляющих основу различных математических моделей. Например, см. [3-10].

Построение фазового портрета — совокупности траекторий системы в фазовой плоскости переменных x,y — трудоемкая задача при выполнении вручную. PhaPl позволяет преподавателю легко продемонстрировать правильное решение учащемуся при возникновении сложностей с самостоятельным решением.

!© Черепанов А.А., 2018

Черепанов Алексей Александрович (aleksey.4erepanov@gmail.com), кафедра высшей математики, Российский экономический университет им. Г.В. Плеханова, 117997, Российская Федерация, г. Москва, Стремянный пер., 36.

PhaPl прост в использовании, не требует программирования или настройки и дает наглядные результаты для задач из пособия[2]. Помимо использования в учебном процессе PhaPl может быть удобен для некоторых видов исследований.

Предыдущая версия PhaPl была внедрена в учебный процесс Московского государственного университета экономики, статистики и информатики (МЭСИ), в учебный процесс механико-математического факультета Московского государственного университета имени М. В. Ломоносова в 2013 году и в учебный процесс Российского экономического университета имени Г.В. Плеханова в 2016 году. Результаты подробно описаны в [11]. Новая версия PhaPl была внедрена в учебный процесс Российского экономического университета имени Г.В. Плеханова в 2018 году.

Главным отличием предыдущей версии PhaPl от своих аналогов являлось сочетание высокого уровня автоматизации решения, простоты использования и возможности вводить новые задачи[11]. Сайт "MIT Mathlets"[12] демонстрирует построение фазовых портретов для фиксированных систем. Сайт "Wolfram|Alpha"[13] позволяет строить фазовые портреты для систем, введенных пользователем, однако не может работать без подключения к сети Интернет. В 2017 году И. Савов реализовал изменения, необходимые для работы библиотеки SymPy в веб-браузере посредством PyPy.js, и опубликовал сайт[14] с тестовым приложением — интерактивным интерпретатором Python с доступом к SymPy. Однако данный сайт не позволяет строить фазовые портреты. Для PhaPl были независимо реализованы подобные изменения в SymPy. PhaPl является первым приложением для построения фазовых портретов, которое может работать как сайт, так и локально без подключения к сети Интернет, сохраняя возможность вводить новые задачи и проводить все основные этапы решения.

1. Сравнение с предыдущей версией PhaPl

Главной проблемой предыдущей версии PhaPl являлся большой размер программного обеспечения. Размер новой версии значительно меньше. Все программные компоненты других авторов, используемые в PhaPl, были заменены на аналоги. Средой выполнения для PhaPl теперь является веб-браузер. При этом все ключевые возможности PhaPl были сохранены.

Пользовательский интерфейс был улучшен на основе опыта эксплуатации и отзывов пользователей. Информация об особых точках отображается обычным текстом, а не таблицей. Размер шрифта для всего текста увеличен. Пользователь может дополнительно изменить размер текста встроенными средствами веб-браузера. Для выбора теперь доступно несколько наборов задач, а не один. Однако контекстная справка в новой версии не была реализована.

Аналитические возможности PhaPl были улучшены. Благодаря использованию библиотеки SymPy для символьных вычислений, особые точки находятся лучше. Поэтому в новой версии убрана возможность добавления особых точек вручную. В решении теперь показывается больше информации: для каждой особой точки показывается линейная система после замены координат и собственные векторы, если есть. Для нелинейных систем для каждой особой точки показывается два фазовых портрета. Начальные условия для фазовых траекторий выбираются случайно для более наглядных результатов. Добавлена возможность генерации новых задач.

Переносимость PhaPl была улучшена: поддерживаются все операционные системы, на которых есть графический веб-браузер с поддержкой JavaScript и элемента canvas стандарта HTML5. Также PhaPl может работать в качестве сайта в сети Интернет. Во всех случаях используются одни и те же файлы, так что подготовить и опубликовать обновление стало значительно проще, что способствует более быстрому развитию PhaPl.

2. Используемые технологии

PhaPl является веб-приложением, которое выполняется полностью в веб-браузере. От веб-браузера требуется поддержка языка сценариев JavaScript и элемента canvas стандарта HTML5. PhaPl построен на основе программных компонентов с открытым исходным кодом: SymPy, PyPy.js, MathJax, LZMA-JS.

Аналитическая часть приложения реализована на языке программирования Python с использованием библиотеки SymPy для символьных вычислений. Для каждой задачи аналитическая часть создает фрагмент HTML-страницы с решением и фрагменты кода на JavaScript для построения фазовых траекторий методом ломаных Эйлера.

Пользовательский интерфейс PhaPl описан при помощи языка разметки HTML, а интерактивное поведение реализовано при помощи JavaScript. Чтобы выполнять Python в веб-браузере, используется библиотека PyPy.js. Для графического отображения формул используется библиотека MathJax. Так что

PhaPl не требует выполнения кода на стороне веб-сервера и может работать, как локальная веб-страница.

Чтобы ускорить работу с задачами из пособия, вспомогательная программа для подготовки PhaPl выводит решения в файл, сжимает при помощи алгоритма LZMA и встраивает в HTML-страницы интерфейса PhaPl. Для извлечения заготовленных решений используется библиотека LZMA-JS.

Интерфейс PhaPl доступен на английском и на русском языках. Для каждого языка есть отдельная HTML-страница. Вспомогательная программа создает их из единого шаблона. Все вспомогательные программы опубликованы вместе с исходным кодом PhaPl[15].

Библиотека SymPy для языка Python полностью заменила систему компьютерной алгебры Maxima. SymPy позволяет PhaPl находить особые точки аналитически. Также SymPy предоставляет вспомогательные функции: для преобразования формул в код LTEX, чтобы показывать формулы в интерфейсе, и для конвертации формул в код на JavaScript, чтобы получить код для вычисления векторов скоростей для метода Эйлера по формулам правых частей уравнений в системе дифференциальных уравнений.

Библиотека MathJax для языка JavaScript позволяет отображать графически формулы так же красиво, как LTEX. MathJax используется несколькими популярными сайтами и некоторыми мобильными приложениями через WebView (например, [16]). MathJax реализует только математический режим LTEX, но этого достаточно для PhaPl. HTML-страница содержит описание разметки на языке HTML, включающее текст с формулами, записанными при помощи команд LTEX. MathJax сам находит формулы в тексте HTML-страницы и заменяет их на графическое представление. PhaPl сообщает MathJax, когда обновляет часть HTML-страницы с текстом решения. MathJax предоставляет контекстное меню с дополнительными возможностями: например, через меню пользователь может получить текстовое представление формулы в виде команд LTEX или описания на языке разметки MathML. MathJax отображает формулы так, что увеличение масштаба страницы в веб-браузере влияет и на формулы, при этом формулы сохраняют высокое качество изображения.

Веб-браузер смог заменить библиотеку Qt4, использовавшуюся для построения графического интерфейса пользователя и для выполнения кода на JavaScript для вычисления векторов скоростей. Элемент canvas стандарта HTML5 используется для отображения фазовых портретов. Во время работы PhaPl создает код на JavaScript для построения фазового портрета, используя формулы правых частей уравнений введенной системы. Формулы правых частей вставляются в шаблон кода функции для построения одной фазовой траектории, идущей из заданной точки в одном направлении. Код функции реализует метод Эйлера и содержит обращения к элементу canvas для отображения ломаных. Функция eval языка JavaScript позволяет выполнить созданный код и определить новую функцию с кодом для конкретной системы. Интерпретаторы JavaScript в современных веб-браузерах используют JIT-компиляцию, что дает высокую производительность. Таким образом веб-браузер вместе с имеющимися библиотеками — подходящая программная среда для PhaPl. Веб-браузер обычно уже есть на компьютере и не поставляется в составе PhaPl.

PhaPl содержит код на Python, который использует SymPy для решения задачи и создает фрагменты HTML-страниц с решениями и фрагменты кода на JavaScript для построения фазовых траекторий. Чтобы код на Python работал в веб-браузере, используется библиотека PyPy.js языка JavaScript. PyPy.js реализует интерпретатор языка программирования Python на языке JavaScript. PyPy.js может работать в режиме JIT-компиляции, переводя Python в JavaScript «на лету», или в режиме обычного интерпретатора. Режим JIT-компиляции требует больше оперативной памяти, поэтому PhaPl использует PyPy.js в режиме обычного интерпретатора.

PyPy.js — не единственный интерпретатор Python, перенесенный на JavaScript, однако только PyPy.js предоставляет простой способ для добавления новых модулей в комплект интерпретатора. При этом есть два варианта: можно добавить файлы в каталог с модулями, чтобы они загружались при необходимости, или можно добавить их в единый файл с базовыми модулями, который загружается целиком при запуске интерпретатора. При онлайн использовании вариант с отдельными файлами показал низкую производительность, так как при загрузке SymPy в PyPy.js веб-браузер вынужден получать несколько сотен файлов последовательными запросами. Вариант с единым файлом, загружаемым сразу, оказался значительно более производительным. Для включения модуля в файл с базовыми модулями PyPy.js предоставляет вспомогательную программу: она анализирует исходный код и включает только те файлы модуля, которые действительно потребуются при загрузке. Так что в файл для начального скачивания включается не весь SymPy, а только основная часть. Остальные файлы могут быть загружены первым способом, если потребуются. Дополнительным плюсом является то, что в случае автоматического сжатия передаваемых файлов веб-сервер может лучше сжать большой файл с базовыми модулями, нежели отдельные файлы модулей.

Аналитическая часть PhaPl подготавливает текст решения и код на JavaScript для построения фазовых портретов. Так что интерпретатор Python не участвует при отображении решения и при построении

фазовых портретов. Это позволяет заготовить решения и код заранее, использую другой интерпретатор Python. При этом в процессе работы заготовленное решение может быть показано без использования PyPy.js. Для этого в PhaPl есть кэш решений — хэш-таблица, в которой для пары строк с правыми частями уравнений системы сохраняются решение и код, получаемые от аналитической части. При старте в кэше хранятся решения только для заготовленных заранее решений. В ходе работы туда добавляются решения новых систем.

Чтобы заполнять кэш при старте PhaPl, на этапе подготовки в код HTML-страницы вставляется сжатая строка со всеми решениями. При старте работы код на JavaScript распаковывает эту строку, извлекает решения и заполняет кэш. PhaPl содержит заготовленные решения для 60 задач, так что текст их решений имеет большой суммарный размер. Для решения этой проблемы используется сжатие данных. В качестве алгоритма сжатия был выбран LZMA, дающий высокую степень сжатия и имеющий хорошую программную поддержку. Для распаковки используется библиотека LZMA-JS для языка JavaScript. Для сжатия на этапе подготовки используется утилита lzma. После сжатия бинарные данные кодируются в Base64, чтобы их можно было легко встроить в HTML-страницу. Текст решений имеет много повторяющегося текста, так что коэффициент сжатия очень высокий: вместо 503 килобайт для решений на русском языке получается 17 килобайт в Base64. Строка для кэша с решениями на английском языке сжимается отдельно и встраивается в другую HTML-страницу: вместо 346 килобайт получается 16 килобайт в Base64. Значительная разница в исходных размерах связана с тем, что используется кодировка UTF-8 с переменным количеством байт: 1 байт для латинских букв, 2 байта для русских букв.

Аналитическая часть PhaPl готовит один текст решения для двух языков. Он включает в себя подписи на двух языках, используя следующий формат разметки для вариантов перевода: [[текст для русской версии | текст для английской версии]], где квадратные скобки и последовательность из пробела, вертикальной черты и пробела являются обязательными, а остальные символы являются частью подписей. В таком виде легко держать варианты подписей согласованными. Для простоты реализации введены дополнительные ограничения: в двойных квадратных скобках могут быть только подписи для перевода, текст подписей внутри скобок не может содержать закрывающую квадратную скобку. Вспомогательная программа превращает каждый файл с такой разметкой в два файла для двух языков. Это используется для файла с заготовленными решениями до сжатия и для HTML-страницы, так что в итоге получаются отдельные HTML-страницы для разных языков. Новые решения обрабатываются кодом на JavaScript, который выбирает нужный язык перед тем, как показать решение в интерфейсе.

Заготовленные решения позволяют работать со всеми задачами из пособия, скачав менее 1 мегабайта данных при онлайн использовании, так как не нужно загружать PyPy.js и SymPy, составляющие значительную часть размера PhaPl. Чтобы сократить общий размер, MathJax, SymPy и модули PyPy.js были почищены от файлов, не требующихся при обычной работе: были удалены скрипты для тестирования корректности и измерения производительности. Были удалены разные варианты шрифтов в MathJax, которые не нужны для работы PhaPl. Это не влияет на онлайн использование, но влияет на размер архива для использования без подключения к сети Интернет: теперь PhaPl требует около 9 мегабайт для скачивания и около 37 мегабайт в распакованном виде. Это не является минимально возможным размером, так как все модули, кроме модуля email, были сохранены для более простого расширения PhaPl другими возможностями в будущем.

Все используемые компоненты являются программным обеспечением с открытым исходным кодом, что позволяет рассчитывать на то, что в будущем они так же будут доступными и качественными [17]. PhaPl тоже является программным обеспечением с открытым исходным кодом, однако авторские права на задачи, включенные в состав PhaPl, ограничивают возможность распространения. На этапе подготовки задачи находятся в отдельных файлах, имеющих простой текстовый формат. Все другие появления задач в PhaPl являются производными и создаются автоматически на этапе подготовки. Это сделано, чтобы упростить создание собственных копий PhaPl с другими наборами задач.

После подготовки все вычисления происходят в веб-браузере пользователя. Это позволяет скачать PhaPl и использовать без подключения к сети Интернет на любой операционной системе при наличии подходящего веб-браузера. Также это упрощает публикацию PhaPl для онлайн использования. Для размещения PhaPl в сети Интернет используется сервис GitHub: бесплатный хостинг репозиториев git от GitHub используется для публикации исходного кода PhaPl и кода подготовленного сайта, бесплатный хостинг GitHub Pages используется для самого сайта для онлайн использования. Архив для скачивания PhaPl является слепком репозитория git, через который происходит обновление сайта, и подготавливается автоматически сервисом GitHub. Отсутствие потребности готовить и загружать несколько архивов для скачивания позволяет публиковать даже маленькие обновления сразу. Чтобы пользователь мог отслеживать обновления, в HTML-страницы при подготовке вставляется дата обновления.

Выбор описанных технологий позволил обеспечить уникальные свойства PhaPl: простоту обновления и публикации, маленький размер, высокую переносимость, возможность использования онлайн и без подключения к сети Интернет, качество решений подобное системам компьютерной алгебры.

3. Графический интерфейс пользователя

PhaPl является веб-приложением и отображается в веб-браузере, как обычная HTML-страница. Содержимое страницы разделено на несколько логических блоков: выбор языка, краткое описание, выбор задачи, ввод задачи и запуск, текст решения. Все блоки, кроме текста решения, видны все время и обведены в тонкую рамку. Решение появляется после ввода задачи и запуска, при выборе задачи запуск происходит автоматически. В конце страницы есть ссылка для возврата к блоку выбора задач, она не обведена в рамку, хотя отображается все время.

Блок выбора языка содержит одну строку, в которой перечислены доступные языки: английский и русский. При этом название текущего языка выделяется жирным шрифтом, а название другого языка является ссылкой на HTML-страницу, предоставляющую интерфейс с этим языком.

Следующий блок содержит краткое описание, ссылку для перехода к блоку выбора задачи, ссылку на архив для скачивания PhaPl для использования без подключения к сети Интернет, дату создания HTML-страницы, пояснения относительно возможных проблем и используемых программных компонентов других авторов.

Блок выбора задачи при старте содержит три кнопки. Надписи на кнопках предлагают показать задачи и содержат заголовок набора задач. Разные кнопки показывают и скрывают информацию независимо, так что можно показать все задачи разом. Пример состояния блока выбора задачи есть на рис. 3.1.

Выбор задачи

Т Скрыть задачи: Контрольное задание 16 (main.pdf)

Copyright © 2010 Асташова И. В., Никишкин В. А. Асташова И. В., Никишкин В. А. Практикум по курсу «Дифф 94 е., ил. URL: http://new.math.msu.su/diffur/main du 2010.pdf

Jî й

х — Зх — у У = 13s - Зу

= i-3 у У = Тх - 9у х — Ьх — Зу = Зх у

х- 9у

х + у

[у-

4х + у 2х + 5у

Ь

: Ьх — Зу ■■ 4х - Зу --х-2у

-13х - у

-5х +у 2х - 4у 6х — у 1 + 4у

il

= х-2 у = х + 3 у

Ч; Ч;

Ч

Ч

Ч

Ч

■ х — Зу Ъх + 9у

■2х-у : 4х- Зу

■ 4х — 5у : 5х — 4у

■■ —7х + Зу ■ —х — Зу

: Sx - 5у : 5х- у

: Х- 2у : 2х + У : SX- Зу -- 2х+ Зу

:2х+У : 4х — у

: 2х — 5у : 4х 2у

—2х - Зу

: 4х- 9у

Ч; Ч;

Ч

Ч

Ч

Ч

= Тх - 4у = ix-у = х- у — х + у = Зх + 2у = Зх + iy

■ Зх 4у - х -2 у

2х-у Ьх-2у

- х-2у ■■ Тес -: ЗХ - Ъу 2х-у

-4х-2у ■■Х + 2у

■■ Ьх + Зу

■2х-у ■ Ьх — 4у

Показать задачи: Контрольное задание 17 tmain.pdf] Т Скрыть задачи: Случайная л^ейнаи система по^^пу nrnfjgü точки

Неустойчивый узел Устойчивый узел Седло Центр

Неустойчивый фокус Устойчивый фокус Неустойчивый вырожденный узел Неустойчивый дикритический узел Устойчивый вырожденный узел Устойчивый дикритический узел

Рис. 3.1. Пример состояния блока выбора задачи

Две кнопки отвечают за заготовленные задачи из пособия: при нажатии на кнопку сразу под ней появляется информация об авторских правах, библиографическая ссылка на пособие и таблица с 30

задачами, в каждой ячейке которой находится порядковый номер и система уравнений. Системы показываются графически при помощи МаШ^х. Однако они могут выглядеть не так, как в пособии, потому что команды Г-ТЁХ для описания системы получаются при помощи БутРу на этапе подготовки, а БутРу может переставить слагаемые или даже вынести множитель за скобку.

Третья кнопка в блоке выбора задач при нажатии показывает список типов особых точек для создания линейной системы со случайными коэффициентами с заданным типом особой точки. Названия типов оформлены как ссылки.

Блок ввода задачи содержит два поля, в которые можно ввести правые части уравнений системы, и кнопку для начала решения. После решения текст системы остается в полях, так что можно изменить задачу и запустить решение новой задачи.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Чтобы выбрать задачу из пособия, надо нажать на ячейку таблицы в блоке выбора задачи. При этом страница будет прокручена до блока ввода задачи и в поля ввода будет вставлен текст задачи. Ниже блока ввода задачи будет показано решение задачи. Решения для задач из пособия показываются сразу, так как заготовлены заранее. В таблице ячейка выбранной задачи будет подсвечена зеленым цветом, но это будет видно, только если вернуться назад. При изменении текста в полях ввода это выделение сбрасывается.

Чтобы создать случайную задачу, надо нажать на ссылку с названием желаемого типа особой точки. При этом текст задачи будет вставлен в поля ввода после некоторых вычислений и вызвано решение задачи. При первом запуске создания задачи или при первом запуске решения задачи, которая не заготовлена, запускается РуРу.]в. Так как в первый раз это может занять несколько секунд, в процессе запуска и решения показываются соответствующие сообщения на месте, где будет решение.

Задачу можно ввести сразу в поля. Для ввода используется синтаксис БутРу. В случае ошибки в синтаксисе или при возникновении проблемы в процессе решения будет показано сообщение об ошибке, включающее все подробности, доступные от БутРу и РуРу^э. В будущем может быть реализована поддержка для анализа неопределенных параметров. Но сейчас неопределенные параметры не поддерживаются и могут вызывать, как сообщение об ошибке, так и показ неправильного решения, не содержащего фазовые портреты. Тем не менее после любой ошибки можно ввести новую систему без перезапуска РЬаР1.

Для линейных систем после текста решения показывается ссылка с предложением создать новую задачу с таким же типом особой точки. При нажатии на нее будет создана задача, ее текст вставлен в поля ввода, а вместо решения будет показана система уравнений без решения.

Все формулы в интерфейсе представлены графически при помощи Ма1Ыах, поэтому выглядят красиво. Это удобно, потому что и в задачах, и в решениях есть дроби, корни и степени. Только в полях ввода правые части уравнений системы появляются в виде текста. Для всех формул в интерфейсе есть текст, описывающий назначение формулы. Чтобы было легко отличить текст результатов от текста поясняющего решение, в решении названия типов особых точек и их устойчивости выделены жирным шрифтом. Для удобства размеры шрифтов текста и заголовков увеличены до 140% обычных шрифтов. Размеры могут быть изменен пользователем, если веб-браузер позволяет изменять масштаб.

4. Результаты решения задачи

РИаР1 предоставляет основные результаты решения задачи построения и исследования фазового портрета автономной системы дифференциальных уравнений на плоскости. При этом РИаР1 почти повторяет этапы решения, выполняемые студентами при решении на бумаге, и показывает некоторые промежуточные шаги. Основные этапы решения подробно описаны, например, в [2, §6.3]. Проверка корректности решения, нахождение предельных циклов и различение центра и фокуса остаются задачами для самостоятельного выполнения пользователем.

Для удобства в начале текста решения показывается исследуемая система. За ней следует система, при помощи которой находятся особые точки. РИаР1 показывает количество комплексных решений этой системы, потому что они не участвуют в исследовании и могут вызывать сомнения у студентов. Количество действительных решений — особых точек — показывается вместе со списком координат особых точек. Количество особых точек должно быть конечным, в частности РИаР1 не поддерживает периодические решения и заменяет их конечным подмножеством решений. Даже если система имеет конечное количество решений, РИаР1 может найти часть решений и не сообщить, что найдены не все решения. Поэтому учащемуся или исследователю надо самому проверять корректность результатов.

Дальше идет подробная информация по каждой особой точке. Для каждой особой точки показываются координаты особой точки, соответствующая линейная система после замены координат, корни характеристического уравнения этой системы, тип особой точки и устойчивость, фазовый портрет об-

ласти вокруг особой точки. В случае задачи с нелинейной системой для точек типа центр явно указывается, что требуются дополнительные исследования для различения центра и фокуса. Для особых точек типа вырожденный узел показывается один собственный вектор. Для особых точек типа седло или узел показывается пара собственных векторов. Если задача содержит линейную систему, то показывается один фазовый портрет для этой системы, несмотря на возможный перенос координат. Для нелинейных систем показывается по два фазовых портрета для каждой точки: для соответствующей линейной системы в точке и для оригинальной системы. При этом построение дополнительной фазовой траектории происходит сразу на двух фазовых портретах, так что можно увидеть разницу между системами наглядно. Пример части результатов решения есть на рис. 4.1.

Исследуемая система

{х — 2х + у у = 4ж - у

Особые точки

Г 2х + у = О

\ 4х - у = О

Найдено 1 действительное решение: (0, 0).

Найдено и проигнорировано О комплексных решений.

1. Точка (0, 0).

Линейная система после замены координат:

{й — 2и + V V — 4и — V

Корни характеристического уравнения:

Ах = -2,

А2 =3.

Тип особой точки: Седло.

Устойчивость: Неустойчиво.

Пара собственных векторов:

Фазовый портрет в окрестности точки:

Рис. 4.1. Пример части результатов решения задачи

В конце текста решения приводится общий фазовый портрет, включающий все перечисленные особые точки.

5. Графическое представление фазового портрета

Для построения фазовых траекторий в PhaPl используется метод ломаных Эйлера. Он выбран из-за простоты программной реализации. Также его легко объяснить студентам, если возникает вопрос о том, как работает PhaPl. Хотя метод Эйлера слишком трудоемкий для использования при решении на бумаге.

Тип особой точки и устойчивость не учитываются при построения фазовых траекторий. Используются только координаты особых точек: для каждой особой точки строится фазовый портрет в квадратной области 2 на 2 с центром в особой точке, общий фазовый портрет строится для квадратной области, включающей все особые точки вместе с окрестностью радиуса 1.

Для отображение фазового портрета используется элемент canvas стандарта HTML5. Для общего фазового портрета задан размер 600 пикселей, для остальных фазовых портретов — 300 пикселей. Исходя из этих размеров, выбирается размер касательных векторов для метода Эйлера: вектор должен примерно соответствовать размеру пикселя. При уменьшении размера построение будет медленней. При

увеличении размера могут стать заметными отрезки, из которых составляются траектории. Тем не менее, даже в линейных системах из пособия, такой размер касательных векторов позволяет заметить накопленное отклонение траектории, например, рядом с особой точкой типа центр. В исследовательских задачах искажения могут качественно влиять на интерпретацию смысла фазовой траектории, например, в случае пересечения предельного цикла.

Начальные условия для фазовых траекторий выбираются автоматически. Область, для которой показывается фазовый портрет, разбивается на 100 квадратов и в каждом квадрате случайно выбирается одна точка, через которую проводится фазовая траектория. Дополнительно для каждой особой точки используется четыре точки с отступом 10 пикселей в противоположные стороны по горизонтали или по вертикали. Такой подход дает наглядные результаты для задач из пособия. К недостаткам можно отнести то, что рядом с точками типа центр получается много линий, расположенных плотно, так как одна траектория может сделать несколько оборотов вокруг особой точки.

Помимо обычных фазовых траекторий есть дополнительная фазовая траектория, которая показывается при наведении указателя на фазовый портрет. В качестве начальных условий используется положение указателя, то есть фазовая траектория проходит через точку, где находится указатель. На устройствах без видимого указателя (смартфонах и планшетах) дополнительную траекторию можно получить нажатием на фазовый портрет, тогда она проходит через точку нажатия.

Для особых точек нелинейной системы разом показываются фазовые портреты для оригинальной системы и для соответствующей линейной системы. Для оригинальной системы построение происходит в координатах х, у: по горизонтали — ось ОХ, по вертикали — ось ОУ. Для линейной системы построение происходит в координатах п,у. Начальные условия для обычных фазовых траекторий этих фазовых портретов выбираются независимо друг от друга. А вот начальные условия для дополнительной фазовой траектории выбираются согласовано с учетом замены координат в линейной системе. Наведение указателя на один из фазовых портретов вызывает построение дополнительной траектории сразу на двух фазовых портретах.

Все фазовые траектории строятся и для положительного, и для отрицательного направлений течения времени, то есть при £ ^ и £ ^ —ж. При этом для дополнительной фазовой траектории используются разные цвета для разных направлений: красный — для положительного направления течения времени, синий — для отрицательного направления. Цвета выбраны по аналогии с механическими термометрами, у которых положительная часть шкалы окрашена в красный цвет, а отрицательная — в синий. Однако некоторые пользователи сообщали, что им кажется более естественным использование синего цвета для положительного направления течения времени. В будущем могут быть добавлены стрелки, чтобы использование цвета было не единственным визуальным указанием направления фазовой траектории. Для дополнительной фазовой траектории используется линия большей толщины.

Для обычных фазовых траекторий используются другие цвета: на общем фазовом портрете с несколькими особыми точками используется черный цвет, на общем фазовом портрете с одной особой точкой и на фазовых портретах для отдельных точек используются фиолетовый и зеленый цвета. Фиолетовым цветом окрашены точки фазовой траектории, где траектория приближается к заданной особой точке. Зеленым цветом окрашены точки, в которых траектория удаляется или сохраняет расстояние от заданной особой точки.

Помимо траекторий на фазовом портрете есть декоративные элементы. Для осей координат используется фиолетовый цвет. Серый цвет используется для прямых, параллельных осям координат и проходящих через целочисленные точки на осях. Эти прямые показываются, если разница координат краев области для показа меньше 50. При большей разнице координат краев области сетка получалась бы слишком плотной и ухудшала наглядность фазового портрета. Направление осей координат показано небольшими черными треугольниками. Они расположены на левой и нижней сторонах фазового портрета. Там же располагаются красные треугольники, указывающие на особые точки. На фазовых портретах, включающих не все точки, треугольники могут указывать на особые точки, находящиеся за пределами области, показываемой на фазовом портрете. Чтобы выделить местоположение особых точек, вокруг каждой проводится красная окружность радиусом 10 пикселей. Голубым цветом проводятся отрезки для обозначения собственных векторов.

6. Генерация задач

РИаР1 предоставляет возможность автоматического создания новых задач по заданному типу особой точки. Система дифференциальных уравнений в созданной задаче является линейной:

(6.1)

где а, Ь, с, ! — целые числа от —5 до 5 включительно, выбранные так, чтобы корни характеристического уравнения являлись целыми комплексными числами и тип особой точки соответствовал заданному. В будущем может быть добавлена возможность создания задач другого вида.

Генерация задачи реализована полным перебором коэффициентов: РИаР1 перебирает все возможные наборы коэффициентов в диапазоне от —5 до 5, для каждого набора проверяет корни характеристического уравнения и, если они являются целыми числами, находит тип особой точки, потом проверяет тип особой точки и, если он совпадает с заданным, запоминает набор, как подходящий; после перебора из множества запомненных наборов случайно выбирается один и подставляется в шаблон задачи.

Главный недостаток перебора — низкая скорость работы. Чтобы перебор не вызывал дискомфорт у пользователя, диапазон возможных значений коэффициентов выбран небольшим (от —5 до 5). Однако заданный диапазон дает много вариантов задачи. Количество задач по типу особой точки для выбранного диапазона приведено в табл. 6.1. Вид I — это задачи, в которых корни характеристического уравнения являются целыми комплексными числами. Вид II - остальные задачи. РИаР1 создает задачи вида I.

Таблица 6.1

Количество задач вида (6.1) с целочисленными коэффициентами от —5 до 5 включительно, по типу особой точки.

Тип особой точки Вид I Вид II Всего

Неустойчивый узел 620 540 1160

Устойчивый узел 620 540 1160

Седло 1904 5000 6904

Центр 86 180 266

Неустойчивый фокус 274 1716 1990

Устойчивый фокус 274 1716 1990

Неустойчивый вырожденный узел 164 0 164

Неустойчивый дикритический узел 5 0 5

Устойчивый вырожденный узел 164 0 164

Устойчивый дикритический узел 5 0 5

Всего 4116 9692 13808

Подход с использованием перебора всех значений коэффициентов будет работать медленнее для большего количества коэффициентов, поэтому может быть непригодным для использования в более сложных шаблонах для генерации задач (например, [18]). Однако он позволяет проверить возможность построения задач для всех типов особых точек, что может быть удобно для исследования шаблонов.

В пользовательском интерфейсе есть два места для вызова генерации задач: список типов особых точек для генерации доступен в блоке выбора задачи, также в конце решения может быть ссылка для генерации задачи с таким же типом особой точки. При вызове генерации из блока выбора задачи сразу выполняется решение задачи. При вызове генерации по ссылке после текста решения вместо него показывается формула системы новой задачи, а решение не производится. Условие подставляется в поля ввода, так что пользователь может вызвать решение вручную кнопкой в блоке ввода задачи.

Выводы

Веб-приложение PhaPl обладает рядом уникальных характеристик: оно является свободным программным обеспечением и предоставляет почти полную автоматизацию решения задачи построения и исследования фазового портрета автономной системы дифференциальных уравнений на плоскости. PhaPl обладает упрощенным графическим интерфейсом пользователя. PhaPl был внедрен в учебный процесс. При использовании преподавателями и студентами PhaPl показал свою пользу. Также в процессе эксплуатации[10] PhaPl показал свои возможности и ограничения для применения в научно-исследовательской деятельности. Были выявлены возможности для улучшения в последующих разработках.

Веб-приложение PhaPl доступно онлайн в виде сайта[1] и может быть скачано для локального использования, не требующего подключения к сети Интернет.

Литература

[1] Черепанов А.А. PhaPl: Phase Plane Helper [Электронный ресурс] 2018. URL: https://phapl.github.io/ (дата обращения: 30.05.2018).

[2] Асташова И.В., Никишкин В.А. Практикум по курсу "Дифференциальные уравнения": учебное пособие. Изд. 3-е, исправ. М.: Изд. центр ЕАОИ, 2010. 94 с., ил. URL: http://new.math.msu.su/diffur/main_du_2010.pdf.

[3] Лапшин В.П., Туркин И.А. Моделирование динамики формообразующих движений при сверлении глубоких отверстий малого диаметра // Вестник Адыгейского государственного университета. Сер. 4: Естественно-математические и технические науки. 2012. № 4 (110) С. 226-233. URL: http://cyberleninka.ru/article/n/modelirovanie-dinamiki-formoobrazuyuschih-dvizheniy-pri-sverlenii-glubokih-otvers-tiy-malogo-diametra.

[4] Агуреев И.Е., Атлас Е.Е. Использование принципов нелинейной динамики при исследовании диссипатив-ных моделей транспортных процессов в биофизических системах // ВНМТ. 2007. № 1 С. 41-43. URL: http://cyberleninka.ru/article/n/i-spolzovanie-printsipov-nelineynoy-dinamiki-pri-issledovanii-dissipativnyh-modeley-transportnyh-protsessov-v-biofizicheskih-sistemah.

[5] Баринова Е.В., Тимбай И.А. Исследование плоского движения относительно центра масс спускаемого аппарата с тригармонической моментной характеристикой при входе в атмосферу // Вестник СГАУ. 2010. № 1. С. 9-19. URL: http://cyberleninka.ru/article/n/issledovanie-ploskogo-dvizheniya-otnositelno-tsentra-mass-spuskaemogo-apparata-s-trigarmonicheskoy-momentnoy-harakteristikoy-pri.

[6] Асташова И.В. Качественные свойства решений квазилинейных обыкновенных дифференциальных уравнений // Качественные свойства решений дифференциальных уравнений и смежные вопросы спектрального анализа / под ред. И. В. Асташовой. М.: ЮНИТИ-ДАНА, 2012. С. 22-288. URL: https://elibrary.ru/item.asp?id=20908128.

[7] Асташова И.В. Применение динамических систем к исследованию асимптотических свойств решений нелинейных дифференциальных уравнений высоких порядков. Современная математика и ее приложения // Современная математика и ее приложения. 2003. Т. 8. С. 3-33. URL: https://elibrary.ru/item.asp?id=26344653.

[8] Astashova I. On asymptotic classification of solutions to nonlinear regular and singular third- and fourth-order differential equations with power nonlinearity // Differential and Difference Equations with Applications. Springer Proceedings in Mathematics & Statistics. New York, N.Y., United States, 2016. P. 191-204. DOI: 10.1007/978-3-319-32857-7 .

[9] Vaidyanathan S. Lotka-Volterra population biology models with negative feedback and their ecological monitoring // Int J PharmTech Res. 2015. Т. 8. № 5. С. 974-981. URL: https://pdfs.semanticscholar.org/8086/92dd5826922b7be834c05e7a41994bb3e135.pdf.

[10] Astashova I., Chebotaeva V., Cherepanov A. Mathematical models of epidemics in closed populations and their visualization via web application phapl // WSEAS Transactions on Biology and Biomedicine. 2018. Vol. 15. no. 12. P. 112-118. ISSN / E-ISSN: 1109-9518 / 2224-2902. URL: http://www.wseas.org/multimedia/journals/biology/2018/a265908-043.php.

[11] Черепанов А.А. Программный комплекс PhaPl для автоматического построения и исследования фазовых портретов на плоскости // Открытое образование. 2017. № 3. С. 66-72. DOI: https://doi.org/10.21686/1818-4243-2017-3-66-72.

[12] Miller H., Hohn H. MIT Mathlets [Электронный ресурс] 2009. URL: http://mathlets.org/mathlets/ (дата обращения: 30.05.2018).

[13] Wolfram|Alpha: Computational Intelligence [Электронный ресурс] 2009. URL: https://www.wolframalpha.com/ (дата обращения: 30.05.2018).

[14] Savov I. SymPy in a PyPy.js shell [Электронный ресурс] 2017. URL: https://minireference.com/static/tmp/ pypyjs_sympy_demo/ (дата обращения: 30.05.2018).

[15] Черепанов А.А. GitHub - phapl/phapl: smart tool to plot and research phase planes, offline and online [Электронный ресурс] 2018. URL: https://github.com/phapl/phapl (дата обращения: 29.07.2018).

[16] Honda Y. Maxima on Android [Электронный ресурс] 2013. URL: https://sites.google.com/site/maximaonandroid/ (дата обращения: 30.05.2018).

[17] Wheeler David A. Why Open Source Software / Free Software (OSS/FS, FOSS, or FLOSS)? Look at the Numbers! [Электронный ресурс] 2014. URL: http://www.dwheeler.com/oss_fs_why.html (дата обращения: 15.10.2014).

[18] Черепанов А.А. О типах особых точек динамической системы определенного вида // Материалы конференций, проходивших в рамках "Дней студенческой науки МЭСИ. 0сень-2014": cборник научных трудов, часть 2 / Московский государственный университет экономики, статистики и информатики. М., 2015. С. 259-265.

References

[1] Cherepanov A.A. PhaPl: Phase Plane Helper [Electronic resource] 2018. Available at: https://phapl.github.io/ (accessed 30.05.2018).

[2] Astashova I.V., Nikishkin V.A. Praktikum po kursu "Differentsial'nye uravneniia". Uchebnoe posobie. Izd. 3-e, ispravlennoe [Practicum on the course "Differential equations". Textbook. 3rd edition, revised]. M.: Izd. tsentr EAOI, 2010, 94 p., illustrated. Available at: http://new.math.msu.su/diffur/main_du_2010.pdf [in Russian].

[3] Lapshin V. P., Turkin I. A. Modelirovanie dinamiki formoobrazuiushchikh dvizhenii pri sverlenii glubokikh otverstii malogo diametra [Modeling the dynamics of formative movements when drilling deep holes of small diameter]. Vestnik Adygeiskogo gosudarstvennogo universiteta. Ser. 4: Estestvenno-matematicheskie i tekhnicheskie nauki [The Bulletin of the Adyghe State University. Series "Natural-Mathematical and Technical Sciences"], 2012, no. 4 (110), pp. 226-233. URL: http://cyberleninka.ru/article/n/modelirovanie-dinamiki-formoobrazuyuschih-dvizheniy-pri-sverlenii-glubokih-otvers-tiy-malogo-diametra [in Russian].

[4] Agureev I.E., Atlas E.E. Ispol'zovanie printsipov nelineinoi dinamiki pri issledovanii dissipativnykh modelei transportnykh protsessov v biofizicheskikh sistemakh [Using the principles of nonlinear dynamics in the study of dissipative models of transport processes in biophysical systems]. VNMT [Journal of New Medical Technologies], 2007, no. 1, pp. 41-43. Available at: http://cyberleninka.ru/article/n/i-spolzovanie-printsipov-nelineynoy-dinamiki-pri-issledovanii-dissipativnyh-modeley-transportnyh-protsessov-v-biofizicheskih-sistemah [in Russian].

[5] Barinova Ye.V., Timbay I.A. Issledovanie ploskogo dvizheniia otnositel'no tsentra mass spuskaemogo apparata s trigarmonicheskoi momentnoi kharakteristikoi pri vkhode v atmosferu [Analysis of plane motion relative to the centre of mass of a descent capsule with the three-harmonic moment characteristics during its reentry]. Vestnik SGAU [Vestnik of Samara State Aerospace University], 2010, no. 1, pp. 9-19. URL: http://cyberleninka.ru/article/n/issledovanie-ploskogo-dvizheniya-otnositelno-tsentra-mass-spuskaemogo-apparata-s-trigarmonicheskoy-momentnoy-harakteristikoy-pri [in Russian].

[6] Astashova I. V. Kachestvennye svoistva reshenii kvazilineinykh obyknovennykh differentsial'nykh uravnenii [Qualitative properties of solutions of quasilinear ordinary differential equations]. In: Kachestvennye svoistva reshenii differentsial'nykh uravnenii i smezhnye voprosy spektral'nogo analiza. Pod red. I.V. Astashovoi [Qualitative properties of solutions of differential equations and related questions of spectral analysis. I.V. Astashova (Ed.)]. M.: IuNITI-DANA, 2012, pp. 22-288. Available at: https://elibrary.ru/item.asp?id=20908128 [in Russian].

[7] Astashova I. V. Primenenie dinamicheskikh sistem k issledovaniiu asimptoticheskikh svoistv reshenii nelineinykh differentsial'nykh uravnenii vysokikh poriadkov. [Application of dynamical systems to the study of asymptotic properties of solutions to nonlinear higher-order differential equations]. Sovremennaia matematika i ee prilozheniia [Journal of Mathematical Sciences], 2003, Vol. 8, pp. 3-33. URL: https://elibrary.ru/item.asp?id=26344653 [in Russian].

[8] Astashova I. On asymptotic classification of solutions to nonlinear regular and singular third- and fourth-order differential equations with power nonlinearity. Differential and Difference Equations with Applications. — Springer Proceedings in Mathematics & Statistics. New York, N.Y., United States: New York, N.Y., United States, 2016, pp. 191-204. DOI: 10.1007/978-3-319-32857-7 [in English].

[9] Vaidyanathan S. Lotka-Volterra population biology models with negative feedback and their ecological monitoring. Int J PharmTech Res, 2015, Vol. 8., no. 5., pp. 974-981. Available at: https://pdfs.semanticscholar.org/8086/92dd5826922b7be834c05e7a41994bb3e135.pdf [in English].

[10] Astashova I., Chebotaeva V., Cherepanov A. Mathematical models of epidemics in closed populations and their visualization via web application phapl. WSEAS Transactions on Biology and Biomedicine, 2018, Vol. 15, no. 12, pp. 112-118. ISSN / E-ISSN: 1109-9518 / 2224-2902. Available at: http://www.wseas.org/multimedia/journals/biology/2018/a265908-043.php [in English].

[11] Cherepanov A.A. Programmnyi kompleks PhaPl dlia avtomaticheskogo postroeniia i issledovaniia fazovykh portretov na ploskosti [PhaPl: software to plot and research phase portraits automatically]. Otkrytoe obrazovanie [Open education], 2017, Vol. 21, no. 3, pp. 66-72. DOI: https://doi.org/10.21686/1818-4243-2017-3-66-72 [in Russian].

[12] Miller H., Hohn H. MIT Mathlets [Electronic resource] 2009. Available at: http://mathlets.org/mathlets/ [in English].

[13] Wolfram|Alpha: Computational Intelligence [Electronic resource] 2009. Available at: https://www.wolframalpha.com/ [in English].

[14] Savov I. SymPy in a PyPy.js shell [Electronic resource] 2017. Available at: https://minireference.com/static/tmp/pypyjs_sympy_demo/ [in English].

[15] Cherepanov A. A. GitHub - phapl/phapl: smart tool to plot and research phase planes, offline and online [Electronic resource] 2018. Available at: https://github.com/phapl/phapl [in English].

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

[16] Honda Y. Maxima on Android [Electronic resource] 2013. Available at: https://sites.google.com/site/maximaonandroid/ [in English].

[17] Wheeler, David A. "Why Open Source Software/Free Software (OSS/FS, FOSS, or FLOSS)? Look at the Numbers!" [Electronic resource] 2014. Available at: http://www.dwheeler.com/oss_fs_why.html [in English].

[18] Cherepanov A. A. O tipakh osobykh tochek dinamicheskoi sistemy opredelennogo vida [About types of equilibrium points of dynamic system of a certain form]. In: Materialy konferentsii, prokhodivshikh v ramkakh "Dnei studencheskoi nauki MESI. 0sen'-2014" Sbornik nauchnykh trudov, chast' 2 / Moskovskii gosudarstvennyi universitet ekonomiki, statistiki i informatiki [Materials of the conferences held in the framework of "Days of Student Science of MESI. Autumn-2014" Collection of scientific papers, part 2. Moscow State University of Economics, Statistics and Informatics]. M., 2015, pp. 259-265 [in Russian].

A.A. Cherepanov2

PHAPL WEB APPLICATION FOR AUTOMATIC BUILDING AND RESEARCH OF PHASE PORTRAITS ON PLANE

The article aims to document PhaPl that's a teaching web application to plot and research phase portraits of autonomous systems of 2 differential equations on a plane. The web application is very different compared with previously known programs: it has very easy graphical user interface and it gives clarity because it demonstrates all steps of solution. To get the full solution, it is enough to just enter a system to research. Initial conditions to plot phase trajectories are chosen automatically. Graphical representation of the phase plane is interactive. The web application is based on popular Free Software (SymPy, PyPy.js, MathJax, LZMA-JS). The web application is portable and works in web browsers that support JavaScript and canvas element of HTML5. The web application can be downloaded and used offline without connection to the Internet. The article describes advantages, disadvantages and peculiar properties of the web application. The software is deployed in Plekhanov Russian University of Economics since 2018.

Key words: phase plane, SymPy, Free Software, PyPy.js, MathJax, LaTeX, web application, educational software, linear system, non-linear system, phase portrait.

Citation. Cherepanov A.A. Veb-prilozhenie PhaPl dlia avtomaticheskogo postroeniia i issledovaniia fazovykh portretov na ploskosti [PhaPL web application for automatic building and research of phase portraits on plane]. Vestnik Samarskogo universiteta. Estestvennonauchnaia seriia [Vestnik of Samara University. Natural Science Series], 2018, no. 24, no. 3, pp. 41-52. DOI: http://doi.org/10.18287/2541-7525-2018-24-3-41-52 [in Russian].

Статья поступила в редакцию 2Ö/IX/2Ö18. The article received 2Ö/IX/2Ö18.

This work is licensed under a Creative Commons Attribution 4.0 International License.

2 Cherepanov Aleksey Alexandrovich (aleksey.4erepanov@gmail.com), Department of Higher Mathematics, Plekhanov Russian University of Economics, 36, Stremyanny lane, Moscow, 117997, Russian Federation.

i Надоели баннеры? Вы всегда можете отключить рекламу.