Мартиросова К.В., Козаченко А.А.

Национальный горный университет, Украина

Функциональные возможности 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