Scilab — пакет наукових програм для чисельних обчислень, що надає потужне відкрите середовище для інженерних і наукових розрахунків. Середовище комп'ютерної математики Scilab надає схожу на Matlab мову і набір функцій для математичних, інженерних і наукових розрахунків. Пакет підходить для професійного застосування і використання у вишах, надаючи інструменти для різноманітних обчислень: від візуалізації, моделювання та інтерполяції до диференціальних рівнянь та математичної статистики. Підтримується виконання сценаріїв, написаних для Matlab.

Scilab
Знімок екрану Scilab 6.1
Тип Технічні розрахунки
Розробник Scilab Enterprises
Стабільний випуск 6.1.0 (25 лютого 2020; 4 роки тому (2020-02-25))
Операційна система GNU/Linux, Windows, Mac OS X
GNU фреймворк GTK
Мова програмування C++[1], C, Java, Fortran і Tcl/Tk[d]
Українська мова так [2]
Ліцензія Licence CeCILL (сумісна з GPL)
Репозиторій gitlab.com/scilab/scilab
Вебсайт www.scilab.org,
Scilab Enterprises

Історія ред.

Scilab було створено в 1990 році вченими INRIA (French Institute for Research in Computer Science and Automation) та Національної школи мостів та доріг (ENPC). Спочатку він називався Ψlab (Psilab).

З 1994 року розповсюджується у вигляді сирцевих кодів через Інтернет.

Консорціум Scilab було створено у травні 2003 року для розширення підтримки та поширення Scilab як довідкового програмного забезпечення в академічних та промислових колах. У ньому зараз 25 учасників, зокрема Mandriva, INRIA та ENPC (Франція).

У липні 2008 року, щоб поліпшити передачу технологій, консорціум Scilab приєднався до Фонду Digieeo.

Scilab 5.1, перший випуск, зібраний для Mac, був доступний на початку 2009 року та підтримував Mac OS X 10.5 Leopard. Таким чином, OSX 10.4 Tiger, ніколи не підтримувалася, крім портування з джерел. З початку розробки виходили версії для Linux і Windows, підтримка Solaris припинилася з версії 3.1.1, а HP-UX — з версії 4.1.2.

У червні 2010 року Консорціум оголосив про створення «Scilab Enterprises». Scilab Enterprises розвиває і продає на базі безпосередньо або через міжнародну мережу постачальників афілійованих послуг комплексний набір послуг для користувачів Scilab. Scilab Enterprises також розробляє та підтримує програмне забезпечення Scilab. Кінцева мета Scilab Enterprises — допомогти зробити використання Scilab більш ефективним та легким.

У лютому 2017 р. було випущено Scilab 6.0.0, який використовував останні стандарти C++ та обмежив розподіл пам'яті.

З липня 2012 року Scilab розробляється та публікується компанією Scilab Enterprises, а на початку 2017 р. компанія Scilab Enterprises було придбано піонером віртуальних прототипів ESI Group.

Можливості ред.

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) розповсюдження змінених версій, які повинні включати джерельний код. Наступна версія програми за попередніми даними розповсюджуватиметься під сумісною з GPL ліцензією CeCILL license.

Приклади ред.

Прості обчислення ред.

Код, що задає матрицю і обрчислює визначник:

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. The scilab Open Source Project on Open Hub: Languages Page — 2006.
  2. Архівована копія. Архів оригіналу за 5 березня 2016. Процитовано 15 лютого 2009.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  3. Scilab Acknowledgments (англійською) . INRIA. Архів оригіналу за 19 лютого 2012. Процитовано 1 серпня 2008.

Література ред.

Зовнішні посилання ред.