Scilab ( / ˈsaɪlæb / ) - a package of applied mathematical programs that provides an open environment for engineering (technical) and scientific calculations. This is the most comprehensive public alternative to MATLAB .
| Scilab | |
|---|---|
![]() | |
Scilab 4.1.2 for Linux | |
| Type of | Technical calculations |
| Developer | Scilab enterprises |
| Written on | Scilab, C , C ++ , Java , Fortran |
| Interface | |
| operating system | Linux , OS X , Windows |
| Latest version | 6.0.2 ( February 14, 2019 ) |
| condition | In active development |
| License | CeCILL ( free , compatible with GNU GPL v2) |
| Website | scilab.org |
Content
History
Since 1994, distributed along with source code over the Internet. In 2003, the Scilab Consortium was created to support Scilab. Now it includes 25 participants, including Mandriva , INRIA and ENPC ( France ).
Features
Scilab contains hundreds of mathematical functions, and it is possible to add new ones written in various languages (C, C ++, Fortran, etc.). There are also a variety of data structures (lists, polynomials, rational functions, linear systems), an interpreter and a high-level language.
Scilab was designed as an open system , and users can add their data types and operations by overloading it .
The system has many tools available:
- 2D and 3D graphics, animation
- Linear Algebra, Sparse Matrices
- Polynomial and rational functions
- Interpolation, approximation
- Simulation: solving ODE and remote control
- Scicos: a hybrid system of dynamic system modeling and simulation
- Differential and non-differential optimizations
- Signal processing
- Parallel work
- Statistics
- Work with computer algebra
- Interface to Fortran, Tcl / Tk , C , C ++ , Java , LabVIEW
Scilab has a programming language similar to MATLAB . The package includes a utility that allows you to convert Matlab documents to Scilab.
Scilab allows you to work with elementary and a large number of special functions (Bessel, Neumann, integral functions), has powerful tools for working with matrices, polynomials (including symbolic), perform numerical calculations (for example, numerical integration) and solve linear algebra problems, optimization and simulation, powerful statistical functions, as well as a tool for building and working with charts.
For numerical calculations, the libraries Lapack , LINPACK , ODEPACK , Atlas and others are used. [3]
The package also includes Scicos - a tool for editing block diagrams and simulations (similar to simulink in MATLAB ). There is a possibility of collaboration of Scilab with the LabVIEW program.
Distribution
The program is available for various operating systems, including Linux , Microsoft Windows and Mac OS X. Scilab capabilities can be expanded with external programs and modules written in different programming languages. The program has open source code , which allows both free commercial use and distribution of unchanged versions, as well as non-commercial distribution of modified versions, which should include source code. For commercial distribution of revised versions, approval by INRIA is required.
Starting with version 5.0, the program is distributed under the CeCILL license compatible with the GNU GPL 2.
Distinctive features
Differences from some commercial programs:
- Free of charge.
- Freedom (from version 5.0).
- Small size - distribution version 4 took up less than 20 MB against more than a two-gigabyte MATLAB package. The installer of version 5 (5.4.1) has increased in volume to 117 MB.
- The ability to run in the console without using a graphical interface , including the version for Windows (in UNIX and Windows versions of MatLab, this feature is also present). This allows you to perform automated calculations, there is a batch mode.
Examples
Simple calculations
The code defining the matrix and calculating the determinant:
M = [ 1 6 8 ; 7 8 8 ; 1 6 0 ]
det ( M )
Charts
Building a simple function graph
// set the value of x
x = [ 0 : 0.1 : 2 * % pi ];
// simple chart
plot2d ( sin ( x ))
More complex function graph:
set ( "figure_style" , "new" ) // create a figure
subplot ( 211 )
a = gca () // get the current coordinate 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 chart
a = gca (); // get the current coordinate axes
a . box = "off" ;
a . x_location = "middle" ;
Notes
- ↑ License SCILAB (Fr.) . Archived February 19, 2012.
- ↑ SCILAB License . - translation from french. Archived February 19, 2012.
- ↑ Scilab Acknowledgments . INRIA. Archived February 19, 2012.
Literature
- Campbell, S. Modeling and Simulation in Scilab / Scicos. - New York: Springer, 2006 .-- ISBN 9780387278025 .
- E. R. Alekseev, E. A. Chesnokova, E. A. Rudchenko Scilab: Solving Engineering and Mathematical Problems
Links
- Official Scilab website (English) , (French)
- Scilab enterprises
