Light-industry-up.ru

Экосистема промышленности

Scilab

20-08-2023

Scilab

Scilab 4.1.2 под Linux
Тип

Технические расчёты

Разработчик

Scilab Enterprises

Операционная система

Linux, MacOS X, Windows

Последняя версия

5.3.3 (22 июля 2011)

Лицензия

Licence SCILAB[1][2] (полусвободная)
с 5.0 — CeCILL (совместима с GNU GPL 2)

Сайт

www.scilab.org, Scilab Enterprises

Scilab (читается Сайлэб) — пакет прикладных математических программ, предоставляющий мощное открытое окружение для инженерных (технических) и научных расчётов.

Содержание

История

С 1994 года распространяется вместе с исходным кодом через Интернет. В 2003 году для поддержки Scilab был создан консорциум Scilab Consortium. Сейчас в него входят 25 участников, в том числе Mandriva, INRIA и ENPC (Франция).

Возможности

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

Scilab был спроектирован как открытая система, и пользователи могут добавлять в него свои типы данных и операции путём перегрузки.

В системе доступно множество инструментов:

  • 2D и 3D графики, анимация
  • Линейная алгебра, разреженные матрицы (sparse matrices)
  • Полиномиальные и рациональные функции
  • Интерполяция, аппроксимация
  • Симуляция: решение ОДУ и ДУ
  • Scicos: гибрид системы моделирования динамических систем и симуляции
  • Дифференциальные и не дифференциальные оптимизации
  • Обработка сигналов
  • Параллельная работа
  • Статистика
  • Работа с компьютерной алгеброй
  • Интерфейс к Fortran, Tcl/Tk, C, C++, Java, LabVIEW

Scilab имеет схожий с MATLAB язык программирования. В состав пакета входит утилита, позволяющая конвертировать документы Matlab в Scilab.

Scilab позволяет работать с элементарными и большим числом специальных функций (Бесселя, Неймана, интегральные функции), имеет мощные средства работы с матрицами, полиномами (в том числе и символьно), производить численные вычисления (например, численное интегрирование) и решение задач линейной алгебры, оптимизации и симуляции, мощные статистические функции, а также средство для построения и работы с графиками.

Для численных расчётов используются библиотеки Lapack, LINPACK, ODEPACK , Atlas и другие.[3]

В состав пакета также входит Scicos — инструмент для редактирования блочных диаграмм и симуляции (аналог simulink в пакете MATLAB). Имеется возможность совместной работы Scilab с программой LabVIEW.

Распространение

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

Начиная с версии 5.0 программа распространяется под совместимой с GNU GPL 2 лицензией CeCILL.

Отличительные особенности

Отличия от некоторых коммерческих программ:

  • Бесплатность.
  • Свободность (с версии 5.0).
  • Маленький размер — дистрибутив 4 версии занимал менее 20 МБ против более чем двухгигабайтного пакета MATLAB. Инсталлятор 5 версии (5.3.2) увеличился в объёме до 121 МБ.
  • Возможность запуска в консоли без использования графического интерфейса, в том числе в версии под Windows (в UNIX и Windows версиях MatLab-а эта возможность присутствует тоже). Это позволяет производить автоматизированные вычисления, есть пакетный режим.

Примеры

Простые вычисления

Код, задающий матрицу и считающий определитель:

 M=[1 6 8; 7 8 8; 1 6 0]
 det(M)

Графики

Построение простого графика функции

 //установка значения x
 x=[0:0.1:2*%pi]';
 //простой график
 plot2d(sin(x))

Более сложный график функции:

График, нарисованный с помощью Scilab
 set("figure_style","new") //создать фигуру
 subplot(211)
 a=gca() //получить текущие оси координат
 a.box="off";
 t=-%pi:0.3:%pi;plot3d(t,t,sin(t)'*cos(t),80,50,'X@Y@Z',[5,2,4]);
 subplot(212)
 plot2d(); //простой график
 a=gca(); //получить текущие оси координат
 a.box="off";
 a.x_location="middle";

См. также

Примечания

  1. Licence SCILAB  (фр.). Архивировано из первоисточника 19 февраля 2012.
  2. SCILAB License  (англ.). — перевод с французского. Архивировано из первоисточника 19 февраля 2012.
  3. Scilab Acknowledgments  (англ.). INRIA. Архивировано из первоисточника 19 февраля 2012.

Литература

  • Campbell S. Modeling and Simulation in Scilab/Scicos. — New York: Springer, 2006. — ISBN 9780387278025
  • Е. Р. Алексеев, Е. А. Чеснокова, Е. А. Рудченко Scilab: Решение инженерных и математических задач

Ссылки

  • Официальный сайт Scilab  (англ.),  (фр.)
  • Scilab Enterprises
  • Авторский курс лекций по пакету Scilab на странице Е. Р. Алексеева (рус.)

Scilab.

© 2014–2023 light-industry-up.ru, Россия, Краснодар, ул. Листопадная 53, +7 (861) 501-67-06