Scilab

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

Історія[ред. | ред. код]

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.

Література[ред. | ред. код]

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