Scilab

Из Википедии, свободной энциклопедии

Scilab

Scilab (/ˈsaɪlæb/) — пакет прикладных математических программ, предоставляющий открытое окружение для инженерных (технических) и научных расчётов. Это самая полная общедоступная альтернатива MATLAB.

Краткие факты Тип, Разработчик ...
Scilab
Логотип программы Scilab
Скриншот программы Scilab
Scilab 4.1.2 под Linux
Тип Технические расчёты
Разработчик Scilab Enterprises
Написана на 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
 Медиафайлы на Викискладе
Закрыть

История

С 1994 года распространяется вместе с исходным кодом через Интернет. В 2003 году для поддержки Scilab был создан консорциум Scilab Consortium. Сейчас в него входят 25 участников, в том числе 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 и другие.[4]

В состав пакета также входит Scicos — инструмент для редактирования блочных диаграмм и симуляции (аналог 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";

Примечания

Литература

Ссылки

Wikiwand - on

Seamless Wikipedia browsing. On steroids.