Scilab
| Scilab | |||
|---|---|---|---|
| | |||
| Интерфейс Scilab версии 6.1 | |||
| Тип | ПО для вычислительной математики | ||
| Разработчик | Dassault Systèmes | ||
| Написана на | Scilab, C, C++, Java, Fortran | ||
| Интерфейс | GTK | ||
| Операционные системы | Linux, OS X, Windows | ||
| Последняя версия | |||
| Репозиторий | gitlab.com/scilab/scilab | ||
| |||
| |||
| Состояние | В активной разработке | ||
| Лицензия | GPLv2, до версии 6.0 — CeCILL, до версии 5.0 — Licence SCILAB[2][3] (полусвободная) | ||
| Сайт | scilab.org | ||
Scilab (/ˈsaɪlæb/) — свободно распространяемый пакет прикладных математических программ, предоставляющий открытое окружение для инженерных (технических) и научных расчётов. Является открытой альтернативой пакету MATLAB.
История
[править | править код]Разработка программного пакета для проектирования систем управления под названием Blaise началась в INRIA в 1980-х годах[4]. В 1984 году INRIA основал стартап Simulog для коммерциализации продукта, затем получившего название Basile.
В 1990-х годах Simulog прекратил распространение Basile. Программный пакет, переименованный в Scilab и разрабатываемый в дальнейшем учёными из INRIA и Национальной школы мостов и дорог, была выпущен INRIA под свободной лицензией в 1994 году.
В 2003 году для поддержки разработки Scilab был создан консорциум Scilab Consortium.
В июне 2010 года консорциум объявил о создании Scilab Enterprises.[5] Компания Scilab Enterprises продавала комплексный набор услуг для пользователей Scilab, а также поддерживала и разрабатывала программное обеспечение Scilab. В начале 2017 года Scilab Enterprises вошла в состав ESI Group[6]. В 2022 году Scilab был приобретен Dassault Systèmes[7].
Возможности
[править | править код]Scilab содержит сотни математических функций, а также есть возможность добавления новых, написанных на различных языках (C, C++, Fortran и т. д.). Также имеются разнообразные структуры данных (списки, полиномы, рациональные функции, линейные системы), интерпретатор и язык высокого уровня.
Scilab был спроектирован как открытая система, и пользователи могут добавлять в него свои типы данных и операции путём перегрузки.
В системе доступно множество инструментов:
- 2D- и 3D-графики, анимация
- Линейная алгебра, разреженные матрицы (sparse matrices)
- Полиномиальные и рациональные функции
- Интерполяция, аппроксимация
- Симуляция: решение ОДУ и ДУ
- Xcos: гибрид системы моделирования динамических систем и симуляции
- Дифференциальные и не дифференциальные оптимизации
- Обработка сигналов
- Параллельная работа
- Статистика
- Работа с компьютерной алгеброй
- Интерфейс к Fortran, Tcl/Tk, C, C++, Java, LabVIEW
Scilab имеет схожий с MATLAB язык программирования. В состав пакета входит утилита, позволяющая конвертировать документы Matlab в Scilab.
Scilab позволяет работать с элементарными и большим числом специальных функций (Бесселя, Неймана, интегральные функции), имеет мощные средства работы с матрицами, полиномами (в том числе и символьно), производить численные вычисления (например, численное интегрирование) и решение задач линейной алгебры, оптимизации и симуляции, мощные статистические функции, а также средство для построения и работы с графиками.
Для численных расчётов используются библиотеки Lapack, LINPACK, ODEPACK, Atlas и другие.[8]
В состав пакета также входит Xcos — инструмент для редактирования блочных диаграмм и симуляции (аналог Simulink в пакете MATLAB). Имеется возможность совместной работы Scilab с программой LabVIEW.
Распространение
[править | править код]Программа доступна для различных операционных систем, включая Linux, Microsoft Windows и Mac OS X. Возможности Scilab могут быть расширены внешними программами и модулями, написанными на разных языках программирования. Программа имеет открытый исходный код, что позволяет как свободное коммерческое использование и распространение неизменённых версий, так и некоммерческое распространение измененных версий, которые должны включать в себя исходный код. Для коммерческого распространения измёненных версий необходимо согласование с INRIA.
Начиная с версии 5.0 программа распространяется под совместимой с GNU GPL 2 лицензией CeCILL.
Отличительные особенности
[править | править код]Отличия от некоторых коммерческих программ:
- Бесплатность.
- Свободность (с версии 5.0).
- Маленький размер — дистрибутив 4 версии занимал менее 20 МБ против более чем двухгигабайтного пакета MATLAB. Инсталлятор 5 версии (5.4.1) увеличился в объёме до 117 МБ.
- Возможность запуска в консоли без использования графического интерфейса, в том числе в версии под 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))
Более сложный график функции:
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";
Примечания
[править | править код]- ↑ Scilab 2026.1.0
- ↑ Licence SCILAB (фр.). Архивировано 19 февраля 2012 года.
- ↑ SCILAB License (англ.). — перевод с французского. Архивировано 19 февраля 2012 года.
- ↑ History (амер. англ.). www.scilab.org. Дата обращения: 16 июля 2026. Архивировано 12 июля 2017 года.
- ↑ SCILAB Enterprises announced (2010). Архивировано 20 июня 2010 года.
- ↑ ESI Group: Acquisition of Scilab Enterprises, Publisher of Scilab Open Source Analytical Computational Software. Дата обращения: 24 августа 2017. Архивировано 24 августа 2017 года.
- ↑ Scilab History. Дата обращения: 20 марта 2025.
- ↑ Scilab Acknowledgments (англ.). INRIA. Архивировано 19 февраля 2012 года.
Литература
[править | править код]- Campbell, S.; Chancelier J.-P., Nikoukhah R. Modeling and Simulation in Scilab/Scicos. — New York: Springer, 2006. — ISBN 9780387278025.
- Алексеев Е. Р., Чеснокова Е. А., Рудченко Е. А. Scilab: Решение инженерных и математических задач
- Программирование в Scilab. Мишель Боден (Michael Baudin)
Ссылки
[править | править код]- Официальный сайт Scilab (англ.), (фр.)