Мартиросова К.В., Козаченко А.А.
Национальный
горный университет, Украина
Функциональные возможности SCILAB как пакета программ АСНИ для научных
исследований.
Развитие
науки в любой отрасли требует повышения эффективности фундаментальных и прикладных
научных исследований, что ускоряет научно-технический прогресс. Особое значение
для повышения эффективности науки приобретает автоматизация научных
исследований, позволяющая получать более точные и полные модели исследуемых
объектов и явлений, ускорять ход научных исследований и снижать их
трудоемкость, изучать сложные объекты и процессы, исследование которых
традиционными методами затруднительно или невозможно. Решением этих
проблем стало применение
автоматизированных систем научных исследований (АСНИ).
Что же такое
АСНИ? АСНИ — это программно-аппаратный комплекс на базе средств вычислительной
техники, предназначенный для проведения научных исследований или комплексных
испытаний образцов новой техники на основе получения и использования моделей
исследуемых объектов, явлений и процессов. Применение АСНИ наиболее эффективно
в тех современных областях науки и техники, которые имеют дело с использованием
больших объемов информации. К ним, прежде всего, относятся: ядерная физика (сбор и обработка
экспериментальных данных, получаемых на реакторах, ускорителях и установках
термоядерного синтеза), космические исследования (обработка информации,
получаемой с искусственных спутников), биология и медицина (исследования в
области молекулярной биологии, диагностики заболеваний), химическая технология
(моделирование технологических процессов, получение материалов с заданными
свойствами), исследования и разработки в области энергетики (электростанции,
сети электропередачи, энергетические системы), а также транспортные коммуникации,
право, социальные и экономические исследования, и т.д.
АСНИ
отличаются от других типов автоматизированных систем (АСУ, АСУТП, САПР и т.д.)
характером информации, получаемой на выходе системы. Прежде всего, это
обработанные или обобщенные экспериментальные данные, но главное - полученные на основе этих данных
математические модели исследуемых объектов, явлений или процессов. Адекватность
и точность таких моделей обеспечивается всем комплексом методических,
программных и других средств системы. В АСНИ могут использоваться также и
готовые математические модели для изучения поведения тех или иных объектов и
процессов, а также для уточнения самих этих моделей. АСНИ поэтому являются
системами для получения, корректировки или исследования моделей, используемых
затем в других типах автоматизированных систем для управления, прогнозирования
или проектирования.
Существует
немало АСНИ, которые
используются в различных отраслях научной деятельности. Например, такие как:
MAPLE —
программный пакет, система
компьютерной алгебры, которая предназначена для символьных вычислений,
численного решения дифференциальных уравнений, нахождения интегралов.
EPICS —программная среда для
разработки и запуска распределенных систем управления для научных и
экспериментальных установок, таких, как ускорители частиц, телескопы и других
больших установок.
TANGO —объектно-ориентированная
система, предназначенная для управления ускорителями, экспериментальными
установками, а также различным оборудованием и программным обеспечением.
MATLAB — мощный пакет программ,
который находит свое применение в математических науках; обладая огромным
количеством функций для анализа данных, решает практически все математические
задачи, начиная от матриц и линейной алгебры, заканчивая математической статистикой и
дифференциальными уравнениями; предоставляет удобные средства для построения
алгоритмов, графиков и всевозможных диаграмм.
Этот перечень АСНИ,
которые являются коммерческими пакетами приложений, можно еще долго продолжать,
но хочется уделить внимание пакету прикладных программ SCILAB, который распространяется
свободно, и его возможностям.
SCILAB – это кроссплатформенная система компьютерной
алгебры, обладающая сходным с Matlab синтаксисом встроенного языка. Разработка
системы SCILAB ведется сотрудниками французского Национального института
информатики и автоматизации (INRIA – Institut National de Recherche en
Informatique et Automatique). Изначально это был коммерческий проект под
названием Blaise, а затем Basile. С 2003 года продукт получил новое имя SCILAB и стал бесплатным. Программа имеет
открытый исходный код, позволяя в том числе свободное коммерческое
использование и распространение неизмененных версий, а также некомерческое (для
ком. необходимо согласование с INRIA) распространение измененных версий,
которые должны включать в себя исходный код. В настоящее время он
распространяется по свободной лицензии CeCILL. Программа доступна для различных
операционных систем, включая GNU/Linux и Microsoft Windows. Имеется возможность расширения спектра функций программы внешними программами и
модулями, написанными на разных языках программирования.
Сама система
SCILAB, как и
Matlab, предназначена, прежде всего, для численных расчетов и работы с
матрицами. Кроме того, она обладает развитыми средствами программирования
(включая отладчик скриптов), так что ее в какой-то мере можно рассматривать как
систему разработки высокотехнологичных приложений. Для системы имеется
достаточно большое число пакетов расширений, которые можно найти на официальном
сайте.
Итак, теперь
подробнее о возможностях SCILAB. Пакет прикладных программ SCILAB содержит сотни математических
функций с возможностью добавления новых, написанных на различных языках (C,
C++, Fortran). Так же имеются разнообразные структуры данных (списки, полиномы,
рациональные функции, линейные системы), интерпретатор и язык высокого уровня.
SCILAB был спроектирован так, чтобы быть открытой системой,
где пользователи могут добавлять свои типы данных и операции над этими данными
путем перегрузки.
В системе
доступно множество инструментов:
— 2D и 3D графики, анимация
— Линейная алгебра, разреженные матрицы
(sparse matrices)
— Полиномиальные и рациональные функции
— Интерполяция, аппроксимация
— Симуляция: решение ОДУ и ДУ
— Scicos: гибрид системы моделирования
динамических систем и симуляции
— Дифференциальные и не дифференциальные
оптимизации
— Обработка сигналов
— Параллельная работа
— Статистика
— Работа с компьютерной алгеброй
— Интерфейс к Fortran,
Tcl/Tk, C, C++, Java, LabVIEW.
SCILAB имеет
схожий с MATLAB язык программирования, в составе имеется утилита, позволяющая конвертировать
документы Matlab в документы SCILAB.
Пакет
поддерживает основные элементарные и множество специальных функций, применяемых
в математике, в том числе — для различного вида сглаживаний и аппроксимаций,
эллиптические интегралы, функции Бесселя. SCILAB содержит также мощный набор
средств для работы с полиномами — как обычными, так и матричными.
Как и
Matlab, SCILAB имеет развитые инструменты для создания и манипулирования
массивами (векторами, матрицами и пр.), поддерживаются и другие сложные
структуры (списки), объединяющие последовательности данных произвольного типа.
Функции
системы, относящиеся к некоторым прикладным областям математики и техники,
собраны в дополнительные пакеты расширений (так называемые toolboxes). Одни из
них применяются достаточно широко (как, скажем, методы численного решения
краевых задач для систем дифференциальных уравнений, линейное и квадратичное
программирование), другие имеют узкую специфическую направленность. Из
последних назовем пакеты для цифровой обработки сигналов, анализа динамических
систем, оптимизации со специальными ограничениями.
В состав
пакета также входит Scicos — инструмент для редактирования блочных диаграмм и
симуляции (аналог simulink в пакете MATLAB). Имеется возможность совместной
работы SCILAB с программой LabVIEW.
Что
касается графики, SCILAB умеет рисовать графики функций на плоскости (кривые)
или в трехмерном пространстве (поверхности), основные геометрические шаблоны
(прямоугольники, эллипсы), строить некоторые специальные диаграммы
(гистограммы, графики, применяемые в теории автоматического контроля, и т. д.)
и многое другое. Предусмотрена широкая настройка свойств, допускается
определять цвета, заливки, точку обзора (в трехмерном случае), отображать сетки
и управлять десятками других характеристик. Графики можно выводить в одном
окне, сохранять во внешних файлах, наносить на них пояснительные надписи,
задавая цвет, размер и гарнитуру шрифта.
Из
вспомогательных средств SCILAB в первую очередь стоит отметить прекрасно
оформленную справочную систему, в дополнение к которой имеется полный
справочник по функциям в HTML-формате. А разобраться с практическими нюансами
поможет коллекция примеров, состоящая из двух частей: первая демонстрирует
способы использования основных функций пакета и доступна через меню Demos,
вторая иллюстрирует различные программно-интерфейсные возможности.
Можно
сделать вывод о том, что SCILAB является типичным интерпретатором, его
стандартные средства включают некоторые интерактивные возможности, делающие
процесс общения с системой более простым и наглядным. Исходя из перечисленных
выше фактов, можно сказать, что, несмотря на то, что SCILAB является продуктом с открытым кодом
и свободно распространяется, его функциональные возможности не уступают его
платным аналогам. Также необходимо отметить, что SCILAB постоянно поддерживается его
разработчиками и активно развивается. Поводя черту под всем вышесказанным,
можно сказать, что SCILAB годится на роль надежной и мощной платформы для
создания недорогих, но вполне конкурентоспособных решений в области обработки
данных, численной реализации алгоритмов и визуализации.
Литература:
1.
Алексеев
Е.Р., Чеснокова О.В., Рудченко Е.А. Scilab.
Решение инженерных и математических задач — М: БИНОМ. Лаборатория знаний, 2008.
— 269 с.
2.
Н.А.Виноградова,
А.А.Есюткин, Г.Ф.Филаретов -Автоматизированные системы научных исследований.
Техническое обеспечение. —М.: МЭИ, 1990, -87 с.
3.
http://razym.ru/progpcvse/disignpr/39837-scilab-520-knigi.html