Scilab

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск
Scilab
A Screenshot of Scilab Running
Scilab 4.1.2 под GNU/Linux
Тип Технические расчёты
Разработчик INRIA
ОС GNU/Linux, UNIX, Microsoft Windows
Текущая версия 5.0.1
Лицензия Licence SCILAB[1][2] (полусвободная)
с 5.0 — CeCILL (совместима с GNU GPL 2)
Сайт www.scilab.org

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

Содержание

[править] История

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

[править] Распространение

Программа доступна для различных операционных систем, включая GNU/Linux и Microsoft Windows. Имеется возможность расширения возможностей программы внешними программами и модулями, написанными на разных языках программирования. Программа имеет открытый исходный код, позволяя в том числе свободное коммерческое использование и распространение неизмененных версий, а также некомерческое (для ком. необходимо согласование с INRIA) распространение измененных версий, которые должны включать в себя исходный код.

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

[править] Отличительные особенности

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

  • Бесплатность
  • Свободность (с версии 5.0)
  • Маленький размер - дистрибутив 4 версии занимает менее 20Мб против более чем двухгигабайтного пакета MATLAB 5 версия потолстела в 4 раза - теперь инсталятор весит около 75 Мб
  • Возможность запуска в консоли без использования графического интерфейса. Это позволяет производить автоматизированные вычисления, есть пакетный режим.

[править] Примеры

[править] Простые вычисления

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

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

[править] Графики

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

// x initialisation 
x=[0:0.1:2*%pi]';
//simple plot
plot2d(sin(x))

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

График, нарисованный с помощью Scilab
set("figure_style","new") //create a figure
subplot(211)
a=gca() //get the current axes
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(); //simple plot
a=gca(); //get the current axes
a.box="off";
a.x_location="middle";



[править] Смотри также

[править] Примечания

  1. Licence SCILAB (фр.).
  2. SCILAB License (англ.). — перевод с французского.
  3. Scilab Acknowledgments (англ.). INRIA.

[править] Литература

  • S. Campbell Modeling and Simulation in Scilab/Scicos. — New York: Springer, 2006. — ISBN 9780387278025

[править] Внешние ссылки

Источник — «http://ru.wikipedia.org/wiki/Scilab»