Научная статья на тему 'Краткий обзор математического программного обеспечения'

Краткий обзор математического программного обеспечения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1952
291
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ / ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / ИНЖЕНЕРНЫЕ РАСЧЕТЫ / COMPUTER SIMULATION / SOFTWARE / ENGINEERING EVALUATION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Михайлов Дмитрий Юрьевич

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

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

BRIEF REVIEW OF MATHEMATICAL SOFTWARE

Engineering requires software tools for modeling, testing and control program debugging. The selection criteria are software capabilities, software resource limitations, cost, availability of reference materials. The article provides brief review of applications used for these purposes.

Текст научной работы на тему «Краткий обзор математического программного обеспечения»

Moiseev Anton Stanislavovich, the head of department, asmoiseev 71 @yandex. ru, Russia, Tula, JSC «KBP»

УДК 681.3.06

КРАТКИЙ ОБЗОР МАТЕМАТИЧЕСКОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Д.Ю. Михайлов

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

Ключевые слова: компьютерное моделирование, программное обеспечение, инженерные расчеты.

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

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

Программа Macsyma (Massachusetts computation symbolic algebra) (рис. 1) - одна из первых оперирующих символьной математикой математических программ, что позволяет вести расчеты не только численно, но и аналитически. Приложение является развитым аппаратом линейной алгебры и дифференциальных уравнений, ориентированным не на теоритиче-ские исследования, а на прикладные расчеты. Следствием этого является отсутствие (сокращение) разделов, связанных с теорией (теория групп, теория чисел и др.).

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

Macsyma работает в интерактивном режиме - команды и результат отображаются в командной строке.

Рис. 1. Интерфейс пользователя в виде рабочей тетради

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

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

Mathcad (рис. 2) - программное средство для выполнения на компьютере математических расчетов, имеющее простой в работе и освоении графический интерфейс. Инструментарий приложения позволяет работать с формулами, текстами, графиками, числами. МаШсаё имеет большое количество логических функций, а также операторов, позволяющих проводить вычисления как численно, так и символьно, операции с векторными, скалярными величинами, матрицами. Также имеется возможность перевода единиц измерения [5].

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

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

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

Рис. 2. Программа Mathcad

MathCad позволяет работать с данными программ Машой Excel, MatLab, ANSYS ШогкЬепсЬ Результаты всех вычислений сохраняются в рабочих листах с возможностью преобразования в ряд форматов, включая MS ШоМ, XML, PDF и HTML.

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

Octave (рис. 3) был задуман в 1988 году как программное обеспечение для изучения химической конструкции реактора и представляет собой интерактивный командный интерфейс.

Рис. 3. Программа Octave

327

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

К недостаткам данного ПО для его применения в моделировании систем автоматического управления (САУ) можно отнести отсутствие библиотек для визуализации модели, а также только численное решение математических задач, что не всегда дает необходимую точность.

LabVIEW (ЬаЬога1;огу Virtual Instrument Engineering ШогкЬепеИ) -это коммерческий продукт, появившийся на рынке в 1986 году, являющийся средой графического программирования, выпущенной для инженеров, преподавателей, технических специалистов, ученых. Приложение позволяет разрабатывать прикладное ПО для организации связи с управляющей и измерительной аппаратурой, сбора, обработки, отображения информации и результатов, а также моделирования систем и их объектов.

Программы, созданные в LabVIEW, представляют собой графические диаграммы, подобные обычным блок-схемам. В состав LabVIEW входят библиотеки управления различными аппаратными средствами и интерфейсами, такими, как PCI, VME, VXI, системами технического зрения и др. Также имеется возможность связи с фрагментами С/С++, БОЯТКАК, Pascal, Basic, что позволяет говорить о широкой поддержке многих видов аппаратных средств.

Одной из «изюминок» программы является возможность создания виртуальной панели приборов, что превращает персональный компьютер и набор произвольного контрольно-измерительного оборудования в многофункциональный измерительно-вычислительный комплекс. Пакет также может работать с данными программ MathCad, MatLab, Sci^s. Программа LabVEIW является средой графического программирования, что означает сведение работы к созданию блок-диаграмм и в дальнейшем - к компиляции в бинарный исполняемый код.

К недостаткам LabVIEW - системы относятся сложность в освоении и большая стоимость лицензии, так как первоначально пакет был создан для использования в исследовательских лабораториях фундаментальной науки (например CERN в Европе), а также в отраслевых промышленных лабораториях.

SciLab (рис. 4). ПО разрабатывалось исследовательскими институтами INRIA и ENPC, а с мая 2003 г. Scilab Сошогйит взял на себя поддержку этого продукта [7].

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

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

Рис. 4. Программа Scilab

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

Scilab содержит полноценную справочную систему с полным справочником по функциям в HTML-формате, а также с коллекцией примеров.

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

SciLab обеспечивает широкий набор дополнительных инструментов: моделирование систем в режиме реального времени, бибилотеки для численных расчетов, работы в области робототехники, летательных аппа-

329

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

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

Модуль Sci^, входящий в состав данного ПО, - это система компьютерного моделирования, аналогичная Simulink - инструменту для редактирования блочных диаграмм и симуляции.

ПО поддерживает взаимодействие с кодом на языках С и РоНтап, а также имеет возможность отладки процесса моделирования, что дает возможность получать информацию о переменных по ходу выполнения процедуры.

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

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

Одной из старейших программ (создана в 70-е гг. прошлого века) для систем автоматизации математических расчетов является Matlab (рис. 5). Она основана на расширенном применении и представлении матричных операций.

Рис. 5. Программа Matlab

330

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

Различают два типа программ, созданных при помощи пакета Matlab - скрипты и функции. Функции содержат входные и выходные аргументы, а также свое рабочее пространство для сохранения промежуточных результатов расчетов и переменных. В свою очередь, скрипты оперируют общим рабочим пространством. Кроме того, можно сохранить pre-parsed - программы - функции и скрипты, которые обработаны в виде, удобном для машинного исполнения, выполняющиеся значительно быстрее обычных.

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

- цифровая обработка сигналов, изображений и данных: DSP Тоо1Ьох;

- системы управления: Control Systems Тоо1Ьох;

- сбор и анализ экспериментальных данных: Data Acquisitiоn ТооШох;

- набор инструментов для визуализации и представления данных: Virtual Reality ТооШох;

- инструменты для синтеза и анализ нейронных сетей: Neural Net^^rk ТооШох [1].

К совместимым с Matlab программам относятся: GNU ОctaveMaxima, FreeMat, Scilab, Maple, Таблицы Exce1.

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

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

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

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

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

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

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

SimlnTech - российская система модельно-ориентированного проектирования САУ. Программное обеспечение SimInTech состоит из графической среды разработки и исполнительной системы реального времени NordWind. SimInTech - среда создания математических моделей, интерфейсов управления и алгоритмов управления.

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

На данный момент SimInTech проигрывает Matlab в количестве дополнительных модулей для специализированных задач.

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

обеспечения наиболее мощный и развитый инструментарий имеет ПО Matlab, что позволяет ему максимально эффективно выполнять задачи расчетов, моделирования и отладки сложных технических систем.

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

1. Дьяконов В. П. MATLAB. Полный самоучитель. М.: ДМК Пресс, 2012. 768 с.

2. В.Ф. Худяков, В. А. Хабузов. Моделирование источников вторичного электропитания в среде MATLAB 7.x: учеб. пособие. СПб.: ГУАП, 2008. 332 с.

3. Алексеев Е.Р., Чеснокова О.В. Введение в Octave для инженеров и математиков. М.: ALT Linux, 2012. 368 с.

4. Чичкарёв Е.А. Компьютерная математика с Maxima: руководство для школьников и студентов. М.: ALT Linux, 2012. 384 с.

5. Очков В.Ф. Теплотехнические этюды с Excel, Mathcad и Интернет, 2014. 336 с.

6. Макаров Е. Инженерные расчеты в MathCAD: учеб. курс. СПб.: Питер, 2003. 218 с.

7. Алексеев Е.Р., Чеснокова О.В., Рудченко Е.А. Scilab: Решение инженерных и математических задач. М.: ALT Linux; БИНОМ. Лаборатория знаний, 2008. 260 с.

8. Среда динамического моделирования технических систем SimlnTech. Практикум по моделированию систем автоматического регулирования / Б.А. Карташов, Е.А. Шабаев, О.С. Козлов, А.М. Щекатуров. ДМК Пресс, 2017. 424 с.

Михайлов Дмитрий Юрьевич, инженер, khkedratula. net, Россия, Тула, АО «КБП»

BRIEF REVIEW OF MATHEMATICAL SOFTWARE D. Y. Mikhailov

Engineering requires software tools for modeling, testing and control program de-hugging. The selection criteria are software capabilities, software resource limitations, cost, availability of reference materials. The article provides brief review of applications used for these purposes.

Key words: computer simulation, software, engineering evaluation.

Mikhaylov Dmitry Yuryevich, engineer, khkedratula. net, Russia, Tula, JSC «KBP»

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