Scilab

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Scilab
A Screenshot of Scilab RunningЗнімок екрану Scilab 3.1 під Windows XP
Розробник(и) Scilab Enterprises
Стабільний випуск 5.5.1 (10 лютого 2014; 287 днів тому)
Операційна система GNU/Linux, Windows, Mac OS X
Українська так [1]
Тип Технічні розрахунки
Ліцензія Licence CeCILL (сумісна з GPL)
Сайт www.scilab.org,
Scilab Enterprises

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

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

З 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 та інші.[2]

До складу пакету також входить Scicos інструмент для редагування блокових діаграм і симуляції (аналог simulink в пакеті — MATLAB). Є можливість спільної роботи Scilab з програмою LabVIEW.

Відмітні особливості[ред.ред. код]

Відмінності від деяких комерційних програм:

  • Безкоштовність
  • Маленький розмір (дистрибутив займає менш 112мб проти більш ніж двохгігабайтного пакету MATLAB)
  • Можливість запуску в консолі без використання графічного інтерфейсу. Це дозволяє проводити автоматизовані обчислення, є пакетний режим.

Розповсюдження[ред.ред. код]

Програма доступна для різних операційних систем, включаючи 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. https://translations.launchpad.net/scilab/
  2. «Scilab Acknowledgments» (англійською). INRIA. Архів оригіналу за 2012-02-19. 

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

  • Campbell, S.; Chancelier J.-P., Nikoukhah R. (2006). Modeling and Simulation in Scilab/Scicos. New York: Springer. ISBN 9780387278025. 

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