Интерактивный программный комплекс для численного решения систем обыкновенных дифференциальных уравнений - Студенческий научный форум

XVIII Международная студенческая научная конференция Студенческий научный форум - 2026

Интерактивный программный комплекс для численного решения систем обыкновенных дифференциальных уравнений

Абакумова А.А. 1, Ананченко И.В. 1
1СПбГТИ(ТУ)
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

1. Введение

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

Существующие программные пакеты (MATLAB, Mathematica, Maple) предоставляют мощные инструменты для решения ОДУ, однако часто требуют значительных вычислительных ресурсов и обладают высокой стоимостью лицензий. В образовательной практике также возникает потребность в наглядных и простых средствах, позволяющих изучать поведение численных методов и сравнивать их результаты.

Целью данной работы является разработка интерактивного программного комплекса для численного решения систем ОДУ, обеспечивающего:

  • ввод системы уравнений в естественной математической форме;

  • поддержку нескольких численных методов;

  • задание параметров и начальных условий;

  • визуализацию результатов в виде графиков.

2. Архитектура программного комплекса

Программный комплекс реализован на языке Python и имеет модульную структуру. Архитектура приложения включает следующие основные компоненты:

  1. Модуль разбора входных данных, обеспечивающий анализ системы ОДУ, параметров и начальных условий.

  2. Модуль численных методов, содержащий реализации алгоритмов интегрирования.

  3. Модуль визуализации, отвечающий за построение графиков решений.

  4. Графический пользовательский интерфейс, обеспечивающий интерактивное взаимодействие с пользователем.

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

3. Разбор системы дифференциальных уравнений

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

Пользователь задаёт систему ОДУ в виде строк, например:

В процессе разбора:

  • автоматически выделяются переменные состояния;

  • параметры подставляются в виде числовых значений;

  • формируется правая часть системы в символьном виде;

  • создаётся численная функция с использованием механизма lambdify.

Начальные условия обрабатываются отдельным парсером, который проверяет корректность ввода и соответствие числу уравнений системы.

4. Реализованные численные методы

В программном комплексе реализованы следующие численные методы решения задачи Коши для систем ОДУ:

  • метод Эйлера;

  • метод Хойна (улучшенный метод Эйлера);

  • метод Рунге–Кутты второго порядка;

  • классический метод Рунге–Кутты четвёртого порядка.

Все методы реализованы в векторной форме, что позволяет решать системы произвольной размерности. Для каждого метода используется равномерная сетка по времени.

Метод Эйлера отличается простотой реализации, но обладает низкой точностью и устойчивостью. Методы Рунге–Кутты, напротив, обеспечивают более высокую точность при умеренных вычислительных затратах, что делает их удобными для практического применения и учебных экспериментов.

5. Пример применения

Для демонстрации работы программы было взято уравнение Аттрактора Лоренцо:

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

Рисунок 9 – Ввод условий задачи

Далее кнопку расчёта и получаем график.

Рисунок 13 – метод RK45

Заключение

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

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

Список литературы

        1. Кокин, В.М. Моделирование систем: учебное пособие / В. М. Кокин. – Иваново: ИГЭУ, 2002. –116 с.

        2. Hairer, E. Solving ordinary differential equations II: Stiff and differentialalgebraic problems. / E. Hairer, G. Wanner. – Berlin: SpringerVerlag, 1996. – 607 p.

        3. Butcher J. Runge-Kutta methods. [Электронный ресурс]. – URL: http://www.scholarpedia.org/article/Runge-Kutta_methods.

        4. Амосов, А. А. Вычислительные методы для инженеров: учеб. пособие / А. А. Амосов, Ю. А. Дубянский, Н. В. Копченов. – Москва: Высшая школа, 1994. – 544 с.

        5. Арушанян, О. Б. Решение систем обыкновенных дифференциальных уравнений методами Рунге-Кутта: учебное пособие / О. Б. Арушанян, С. Ф. Залеткин. – Москва: МГУ, 2014. – 58 с.

Просмотров работы: 0