Научная статья на тему 'АНАЛИЗ ВОЗМОЖНОСТЕЙ МАТЕМАТИЧЕСКИХ ПАКЕТОВ ДЛЯ РЕШЕНИЯ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ'

АНАЛИЗ ВОЗМОЖНОСТЕЙ МАТЕМАТИЧЕСКИХ ПАКЕТОВ ДЛЯ РЕШЕНИЯ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ Текст научной статьи по специальности «Математика»

CC BY
361
57
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМЫ МАТЕМАТИЧЕСКОЙ АЛГЕБРЫ / MATLAB / MATHCAD / MAPLE / ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ

Аннотация научной статьи по математике, автор научной работы — Захарова Анастасия Александровна

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

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

ANALYSIS OF THE CAPABILITIES OF MATHEMATICAL PACKAGES FOR SOLVING DIFFERENTIAL EQUATIONS

The article presents the results of a review and comparative analysis of the most popular mathematical packages that can be used to solve differential equations.

Текст научной работы на тему «АНАЛИЗ ВОЗМОЖНОСТЕЙ МАТЕМАТИЧЕСКИХ ПАКЕТОВ ДЛЯ РЕШЕНИЯ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ»

Анализ возможностей математических пакетов для решения дифференциальных

уравнений

Analysis of the capabilities of mathematical packages for solving differential equations

Захарова Анастасия Александровна

Студент 5 курса,

Елабужский институт ФГАОУ ВО «Казанский (Приволжский) федеральный университет»,

Россия, г.Елабуга. e-mail: anast.zakharova2013@yandex.ru

Zakharova Anastasia Aleksandrovna.

5th year student,

Yelabuga Institute of Kazan (Volga Region) Federal University,

Russia, Yelabuga. e-mail: anast.zakharova2013@yandex. ru

Научный руководитель Галимуллина Э.З.,

ст. преподаватель кафедры математики и прикладной информатики Елабужский институт ФГАОУ ВО «Казанский (Приволжский) федеральный университет»,

e-mail: galimullina. elvira@mail.ru

Scientific supervisor E. Z. Galimullina,

Senior lecturer of the Department of Mathematics and Applied Informatics

Yelabuga Institute of Kazan Federal University e-mail: galimullina. elvira@mail.ru

Аннотация.

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

Annotation.

The article presents the results of a review and comparative analysis of the most popular mathematical packages that can be used to solve differential equations.

Ключевые слова: системы математической алгебры, MATLAB, MathCad, Maple, дифференциальные уравнения.

Key words: mathematical algebra systems, MATLAB, MathCad, Maple, differential equations.

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

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

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

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

На сегодняшний день существует большое количество различных математических пакетов, использование которых упрощает решение самых разнообразных математических задач. Однако не во всех таких программных пакетах есть возможность решения дифференциальных уравнений. Поэтому возникла необходимость провести обзор и сравнительный анализ различных математических пакетов на возможность применения их при решении дифференциальных уравнений. В данной работе рассмотрены популярные математические программы, применяемые для решения дифференциальных уравнений. К ним относят такие математические пакеты, как MATLAB, MathCad и Maple. Рассмотрим подробнее каждый из них и выделим особенности их использования.

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

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

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

Основная особенность языка MATLAB - наличие широких возможностей по работе с матрицами, что отражается в лозунге «Думай векторно».

Однако наряду с достоинствами языка MATLAB можно выделить и его значительный недостаток -перегруженность командами и операторами.

Пакет программ MATLAB работает на большинстве современных операционных систем - Microsoft Windows, Mac OS, GNU/Linux.

Возможности MATLAB применимы для решения обыкновенных дифференциальных уравнений различного порядка с начальными условиями (задача Коши). Для этого используются специальные решатели (например, ode23, ode45, ode113 и др.), которые могут решать системы уравнений явного вида [3].

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

MathCad имеет простой для использования и интуитивно понятный интерфейс пользователя - ввод формул и данных осуществляется как при помощи клавиатуры, так и с использованием специальной панели встроенных инструментов. Некоторые возможности Mathcad основаны на подмножестве компьютерной алгебры Maple.

Основной принцип создания документов и приложений в системе MathCad - WYSIWYG (What You See Is What You Get^) - «что видишь, то и получаешь» [2].

Одной из ключевых возможностей MathCad является интеграция. Проекты, созданные в среде MathCad, легко переносятся и открываются в различных инженерных программах и приложениях (к примеру, в Excel). Однако система Mathcad работает лишь на одной операционной системе - Microsoft Windows.

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

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

Maple содержит проверенные, надежные и эффективные символьные и численные алгоритмы для решения огромного спектра математических задач.

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

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

оптимизированные процедуры. Язык программирования системы - Maple-язык, которому доступны все специальные операторы и функции, которыми располагает система.

Математическая система Maple работает на множестве современных операционных систем - Microsoft Windows, Mac OS, Linux.

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

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

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

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

Критерий 1: возможность работы программы в наиболее распространённых на сегодняшний день операционных системах - Microsoft Windows, Mac OS, Linux.

Критерий 2: наличие в программе собственного языка программирования, на котором создаются необходимые подпрограммы или процедуры.

Критерий 3: наличие бесплатного программного обеспечения в свободном доступе.

Критерий 4: язык интерфейса пользователя.

Критерий 5: наличие в программном пакете универсальных встроенных функций и достаточность их возможностей для решения дифференциальных уравнений.

Критерий 6: возможность решения любых видов дифференциальных уравнений и их систем.

Критерий 7: возможность представления решения уравнения в виде 2D и 3D графиков.

Оценка и сравнение программ по предложенным критериям произведены в соответствии со шкалой:

0 - критерий не реализован;

1 - критерий реализован частично;

2 - критерий реализован полностью.

В результате проведенного нами сравнительного анализа математических систем можно сделать следующие выводы. В математическом пакете Mathcad критерий 1 реализован частично, т.е. данное программное обеспечение предназначено лишь для одной операционной системы Microsoft Windows. Также в данной системе не реализован критерий 2 - в программе отсутствует собственный язык программирования, а, следовательно, и возможность создания собственных подпрограмм или процедур, упрощающих громоздкие вычисления. Mathcad не содержит в себе универсальной функции для решения дифференциальных уравнений, а встроенных функций и их возможностей недостаточно, и плюс ко всему не имеет средств символьного (точного) решения таких уравнений, то есть критерий 5 реализован в данной программе лишь частично.

Во всех представленных программных продуктах не реализован критерий 3, так как все эти программы - коммерческие лицензионные продукты и в свободном доступе их нет.

В пакетах MATLAB и Mathcad критерий 6 реализован частично, то есть эти программы предназначены для решения лишь некоторых видов дифференциальных уравнений. Так, например, MATLAB позволяет решать лишь задачи Коши (дифференциальные уравнения различного порядка с начальными условиями), а Mathcad может решать дифференциальные уравнения в частных производных только с двумя независимыми переменными.

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

Список используемой литературы:

1.Maple. Краткое пособие для первоначального знакомства // Fizmat.Vspu.Ru URL: http://mif.vspu.ru/books/mapletut/index.html (дата обращения: 02.03.2021).

2.MathCAD: решаем основные типы дифференциальных уравнений встроенными функциями // БлогNot URL: http://blog.kislenko.net/show.php?id=1407 (дата обращения: 02.03.2021).

3.Как решать дифференциальные уравнения в Matlab // Яндекс Дзен URL: https://zen.yandex.ru/media/id/5d4d8e658da1ce00ad5ece61/kak-reshat-differencialnye-uravneniia-v-matlab-5dfcf2f52beb4900b2c07c18 (дата обращения: 04.04.2021).

4.Спецкурс для студентов физико-математических факультетов «Приложения дифференциальных уравнений в физике и науках естественно-математического цикла» // CYBERLENINKA URL: https://cyberleninka.ru/article/n/spetskurs-dlya-studentov-fiziko-matematicheskih-fakultetov-prilozheniya-differentsialnyh-uravneniy-v-fizike-i-naukah-estestvenno (дата обращения: 28.03.2021).

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