УДК 372.853
МАТЕМАТИЧЕСКИЕ ПАКЕТЫ MATLAB И MAPLE ПРИ ИЗУЧЕНИИ МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ КОЛЕБАТЕЛЬНЫХ ПРОЦЕССОВ
© 2023 Д. В. Вервейко1, А. Ю. Верисокин2
1 кандидат физико-математических наук, доцент кафедры физики и нанотехнологий,
e-mail: allegroform @ mail. ru
2 кандидат физико-математических наук, доцент кафедры физики и нанотехнологий,
e-mail: ffalconn @ mail. ru
Курский государственный университет
Работа посвящена использованию математических пакетов MATLAB и Maple при изучении колебаний пружинного маятника и колебаний струны в курсе физико-математических дисциплин (уровень высшего образования). Проанализированы примеры моделей, как учитывающих затухание колебаний, так и идеализированных консервативных систем. Приведены получаемые в ходе моделирования графики процессов и описание используемых функций и методов. Рассмотренные в работе программные реализации успешно применяются на практических занятиях по дисциплине «Математическая физика» в Курском государственном университете.
Ключевые слова: математическое моделирование, математические пакеты, MATLAB, Maple, пружинный маятник, колебательные процессы.
MATHEMATICAL PACKAGES MATLAB AND MAPLE IN THE STUDY OF MATHEMATICAL MODELS OF OSCILLATORY PROCESSES
© 2023 D. V. Verveiko1, A. Yu. Verisokin2
1 Candidate of Physical and Mathematical Sciences, Associate Professor
of the Department of Physics and Nanotechnology e-mail: [email protected]
2 Candidate of Physical and Mathematical Sciences, Associate Professor
of the Department of Physics and Nanotechnology e-mail: ffalconn @ mail. ru
Kursk State University
The work is devoted to the use of mathematical packages MATLAB and Maple in the study of spring pendulum oscillations and string oscillations in the course of physical and mathematical disciplines (higher education level). Examples of models that take into account both the attenuation of oscillations and idealized conservative systems are analyzed. The graphs of processes obtained during modeling and a description of the functions and methods used are given. The software implementations considered in the paper are successfully used in practical classes in the discipline "Mathematical Physics" at Kursk State University.
Keywords: mathematical modeling, mathematical packages, MATLAB, Maple, spring pendulum, oscillatory processes.
В программах уровня высшего образования по физико-техническим специальностям студенты знакомятся с уравнением гармонического осциллятора
x + W x = 0,
представляющим собой дифференциальное уравнение второго порядка, решением которого является гармоническая функция
Данное уравнение не учитывает диссипацию энергии вследствие силы трения, колебания будут незатухающими с постоянной амплитудой. Такая модель будет применима, только если колебания в реальной системе будут слабо затухающими. Один из примеров пружинного маятника без диссипации - маятник, вращающийся в невесомости вокруг закреплённого конца пружины:
В случае если мы хотим учесть эффект влияния силы трения, необходимо использовать уравнение свободных затухающих колебаний пружинного маятника с диссипативным членом, представляющим собой первую производную смещения по времени (т.е. скорость), умноженную на коэффициент затухания у= 2Ь, где в -логарифмический декремент затухания, обратный числу колебаний, совершаемых за время, за которое амплитуда уменьшается в е раз:
В рамках классической методики обучающимся предлагают найти аналитическое решение приведённых уравнений, воспользовавшись знаниями из курса дифференциальных уравнений, и при необходимости проанализировать полученные решения и с требуемой точностью определить вид графиков движения. Однако при таком подходе обычно возникает ряд проблем: обучающиеся не в достаточной степени освоили решение дифференциальных уравнений вследствие тенденции к сокращению часов рабочих программ по ряду дисциплин; конкретное практическое задание сопряжено с вычислительными сложностями либо в принципе не имеет аналитического решения; графическое построение вызывает затруднения и не способствует повышению мотивации.
С учётом перечисленных ограничений для построения графиков колебательных процессов удобно использовать математические пакеты [1]. MATLAB, несомненно, один из самых мощных, универсальных и востребованных из них. Помимо встроенного готового функционала построения графиков, решения уравнений и многого другого, MATLAB является полноценным языком программирования и позволяет написать программный код, генерирующий численное решение системы дифференциальных уравнений, описывающих физический процесс [5]. Для решения дифференциальных уравнений удобнее всего воспользоваться встроенными решателями MATLAB групп ode и pde, которые позволяют найти численное решение в том числе сложных нелинейных уравнений, не имеющих аналитического решения, однако часто встречающихся в практических приложениях, для которых требуется высокая точность получаемых результатов [4].
х = A sin (at + j0).
x + gX + W x = 0.
О 10 20 30 40 50 О 10 20 30 40 5
t, S t, S
О 5 10 15 20 2
Рис. 1. Решение уравнения пружинного маятника без диссипации (синие графики) и с диссипацией (красные графики): а) графики колебаний смещения х и амплитуды колебаний А (слева) и скорости движения V (справа); б) изменение кинетической, потенциальной и полной (пунктирные, тонкие сплошные и толстые сплошные линии соответственно) энергии маятника в процессе колебаний
Рассмотрим процесс моделирования колебаний пружинного маятника в среде MATLAB [2] на лабораторно-практических занятиях по дисциплине «Математическая физика», которая обладает очень высокой степенью междисциплинарности и позволяет органично использовать инструменты математических пакетов в естественно-научных и технических областях знаний. В зависимости от имеющихся у обучающихся навыков программирования возможны два сценария работы в среде MATLAB: 1) полное самостоятельное написание кода программы после подробного разбора аналогичного примера; 2) редактирование в соответствии со своим вариантом задания исходного шаблона, состоящего из готовой программы в виде m-файла с кодом основной программы и вспомогательных файлов-функций, содержащих входные параметры, начальные условия задачи и массив времени решения. Очевидны преимущества первого подхода в плане получения опыта программирования на языке MATLAB задач, имеющих конкретное практическое приложение. Вместе с тем даже использование второго варианта позволяет познакомиться с синтаксисом и структурой языка, интерфейсом графического редактора Plot Editor, возможностями среды для моделирования и анализа различных процессов.
Результат работы программы MATLAB, моделирующей колебания пружинного маятника, представлен на рисунке 1. В случае отсутствия диссипации (синие графики) амплитуда колебаний остаётся постоянной, а при учёте действия силы трения (красные графики) колебания становятся затухающими и на большом временном промежутке полностью прекращаются.
Перейдём к рассмотрению моделирования в MATLAB колебаний пружинного маятника в невесомости (т.е. без рассеяния энергии), вращающегося вокруг своей оси [2]. Для демонстрации траектории движения пружинного маятника в проекции на плоскость перпендикулярную оси вращения удобно использовать график в полярных координатах (рис. 2а). Полная энергия системы будет представлять собой сумму кинетической и потенциальной, что хорошо видно из графиков, построенных в одной системе координат (рис. 2б).
Рис. 2. Решение задачи о колебаниях пружинного маятника, вращающегося вокруг своей оси: а) траектория движения пружинного маятника в проекции на плоскость перпендикулярную оси вращения (график в полярных координатах); б) изменение кинетической, потенциальной и полной (чёрная, красная и синяя линии соответственно) энергии маятника
В качестве ещё одного примера использования математических пакетов при моделировании колебательных процессов рассмотрим визуализацию колебаний струны в Maple [2]. Под струной мы понимаем тонкую упругую нить, которая может свободно изгибаться, не оказывая сопротивления изменению её формы, но сопротивляющаяся растяжению. То есть силы натяжения, возникающие в струне, всегда направлены касательно к струне. Помимо очевидного примера музыкальных инструментов, роль струны могут играть конструктивные элементы многих технических устройств (провода линий электропередач, тросы подвесных канатных дорог и т.д.). Пусть струна является бесконечной, то есть достаточно длинной струной, влиянием концов которой на процесс колебаний можно пренебречь. Причинами, вызывающими такие колебания, могут являться начальные отклонения струны от положения равновесия (волны отклонения) или сообщённый струне начальный импульс, обусловливающий некоторое распределение скоростей частиц струны (волны импульса). Например, колебания струн музыкальных инструментов могут возбуждаться также двумя способами: щипковым - начальным отклонением струн (гитара) и ударным -сообщением начального импульса некоторой точке струны (рояль, в котором при нажатии клавиш молоточек ударяет по струнам).
Поставим задачу Коши для простейшего однородного волнового уравнения:
utt = a2uxx, t > 0, x e □ ,
u (x,0) = j( x), ut (x,0) = y( x).
Остановимся на случае волн отклонения, когда y(x) = 0. Тогда формула д'Аламбера для решения задачи Коши будет иметь следующий вид:
1
u (x, t) = — (j(x - at) + j(x + at)),
где j(x - at) - прямая бегущая волна, а j(x - at) - обратная. Известный случай стоячей волны, которая может быть продемонстрирована с помощью трубы Рубенса, представляет собой результат наложения прямой и обратной бегущих волн, например при отражении их от концов струны.
В отличие от MATLAB, в среде Maple процесс написания программы напоминает диалог пользователя с компьютером благодаря визуально-
ориентированному языку программирования, «живой» архитектуре вычислений и широкими возможностями визуализации [3], что делает его удобным инструментом ИКТ в образовательном процессе, в частности, при изучении уравнений математической физики. Для того чтобы построить видимый волновой профиль струны и пронаблюдать его динамику, сначала мы задаём входные параметры системы, такие как высота начального отклонения от положения равновесия струны, ширина деформации, её форма. После этого строим графики прямых и обратных волн в интересующие нас моменты времени.
Рис. 3. Графическое представление колебаний струны в Maple
С течением времени, то есть при увеличении параметра сдвига, прямая бегущая волна будет двигаться с постоянной скоростью a вправо вдоль оси абсцисс, а обратная -влево. Затем мы можем построить их сумму, которая будет представлять собой видимый профиль струны в определённый пользователем момент времени. Maple предоставляет возможность оформления выполненного задания непосредственно в программной среде, благодаря интерактивному интерфейсу, позволяющему комбинировать пользовательские команды и результат их выполнения с текстовыми заголовками и пояснениями, что делает написанную программу удобным и быстрым шаблоном для разбора различных вариантов профилей деформации, её ширины, высоты и других входных параметров.
Помимо статичных графиков, Maple также предоставляет возможность создания анимаций, для этого используется специальная функция - animate. При использовании такого анимированного представления можно будет наблюдать за изменением профиля струны в динамике. При таком отображении сразу становится понятно, какая будет максимальная величина отклонения струны от положения равновесия, при каких условиях и в какой момент времени это будет наблюдаться. Прямая и обратная волны накладываются друг на друга и двигаются дальше, с чередованием максимумов и минимумов отклонения. Сверху анимированного изображения выводится значение
накопительного параметра сдвига, соответствующего времени, прошедшему с начала процесса.
Мы привели несколько примеров применения математических пакетов при изучении физико-математических дисциплин. Представленные подходы могут быть эффективными и при изучении других тем. Использование математических пакетов в образовательном процессе даёт нам целый ряд преимуществ:
1) возможность оперативно оценить решения упрощенных математических моделей и представить закономерности изучаемых явлений и процессов;
2) визуализация физических процессов, повышающая наглядность рассматриваемых задач и их решений;
3) оптимизация самостоятельной работы обучающихся: сокращается время решения математической задачи, а также выполняется автоматизация громоздких вычислительных задач при курсовом и дипломном проектировании, при выполнении расчетно-графических, домашних и контрольных заданий;
4) развитие и совершенствование навыков использования межпредметных связей в процессе изучения курса физики, математических дисциплин и программирования, которые могут быть применены обучающимися для дальнейшего самостоятельного научного поиска и проектирования.
Библиографический список
1. Беленкова, И. В. Методика использования математических пакетов в профессиональной подготовке студентов вуза: диссертация кандидата педагогических наук / И. В. Беленкова. - Екатеринбург, 2004. - 170 с.
2. Вервейко, Д. В. Моделирование задач математической физики в средах прикладного программирования: учебно-методическое пособие / Д. В. Вервейко, А. Ю. Верисокин - Курск: Курск. гос. ун-т, 2019. - 1 CD-ROM. - Текст : электронный. - № гос. рег. 0321900985 (ФГУП НТЦ «Информрегистр»).
3. Голоскоков, Д. П. Уравнения математической физики. Решение задач в системе Maple: учебник для вузов / Д. П. Голоскоков. - Санкт-Петербург: Питер, 2004. - 539 с.
4. Коломийцева, С. В. Моделирование физических процессов и явлений в PDETool MATLAB: методическое пособие / С. В. Коломийцева, Е. П. Суляндзига. -Хабаровск : Изд-во ДВГУПС, 2017. - 49 с.
5. Лазарев Ю. Ф. Начала программирования в среде MatLAB / Ю. Ф. Лазарев -Киев: НТУУ «КПИ», 2003. - 424 с.