Scilab

From Infogalactic: the planetary knowledge core
Jump to: navigation, search


Scilab
A screenshot of Scilab running
A screenshot of Scilab running
Developer(s) Scilab Enterprises
Stable release 5.5.2 / April 1, 2015; 9 years ago (2015-04-01)
Written in Scilab, C, C++, Java, Fortran
Operating system GNU/Linux, Windows, Mac OS X, BSD
Available in English, German, Spanish, French, Italian, Japanese, Portuguese (Brazil), Russian, Ukrainian, Chinese, Czech, Polish
Type Technical computing
License CeCILL (GPL-compatible)
Website www.scilab.org, www.scilab-enterprises.com

Scilab is an open source, cross-platform numerical computational package and a high-level, numerically oriented programming language. It can be used for signal processing, statistical analysis, image enhancement, fluid dynamics simulations, numerical optimization, and modeling, simulation of explicit and implicit dynamical systems and (if the corresponding toolbox is installed) symbolic manipulations.

Scilab is one of the two major open-source alternatives to MATLAB, the other one being GNU Octave.[1][2][3][4] Scilab is similar enough to MATLAB that some book authors (who use it) argue that it is easy to transfer skills between the two systems.[5] Scilab however puts less emphasis on (bidirectional) syntactic compatibility with MATLAB than Octave does.[6][1][7]

Overview

Scilab is a high-level, numerically oriented programming language. The language provides an interpreted programming environment, with matrices as the main data type. By using matrix-based computation, dynamic typing, and automatic memory management, many numerical problems may be expressed in a reduced number of code lines, as compared to similar solutions using traditional languages, such as Fortran, C, or C++. This allows users to rapidly construct models for a range of mathematical problems. While the language provides simple matrix operations such as multiplication, the Scilab package also provides a library of high-level operations such as correlation and complex multidimensional arithmetic. The software can be used for signal processing, statistical analysis, image enhancement, fluid dynamics simulations, and numerical optimization.[8][9]

Scilab also includes a free package called Xcos (based on Scicos) for modeling and simulation of explicit and implicit dynamical systems, including both continuous and discrete sub-systems. Xcos is the open source equivalent to Simulink from the MathWorks.

As the syntax of Scilab is similar to MATLAB, Scilab includes a source code translator for assisting the conversion of code from MATLAB to Scilab. Scilab is available free of cost under an open source license. Due to the open source nature of the software, some user contributions have been integrated into the main program.

License

Scilab family 5 is distributed under the GPL-compatible CeCILL license.

Prior to version 5, Scilab was semi-free software according to the nomenclature of the Free Software Foundation. The reason for this is that earlier versions' licenses prohibited commercial distribution of modified versions of Scilab.

Syntax

Scilab syntax is largely based on the MATLAB language. The simplest way to execute Scilab code is to type it in at the prompt, --> , in the graphical command window. In this way, Scilab can be used as an interactive mathematical shell.

Hello World! in Scilab:

disp("Hello World!")

Plotting a 3D surface function:

// A simple plot of z = f(x,y)
t=[0:0.3:2*%pi]';
z=sin(t)*cos(t');
plot3d(t,t,z)

LaTeX engine

Scilab renders formulas in mathematical notation using its own Java-based rendering engine, JLaTeXMath,[10] a fork of the JMathTeX project.[11]

Toolboxes

Lua error in package.lua at line 80: module 'strict' not found. Scilab has many contributed toolboxes for different tasks:

Many more toolboxes are available on ATOMS Portal or the Scilab forge.

History

Scilab was created in 1990 by researchers from INRIA and École nationale des ponts et chaussées (ENPC). It was initially named Ψlab[12] (Psilab). The Scilab Consortium was formed in May 2003 to broaden contributions and promote Scilab as worldwide reference software in academia and industry.[13] In July 2008, in order to improve the technology transfer, the Scilab Consortium joined the Digiteo Foundation.

Scilab 5.1, the first release compiled for Mac, was available in early 2009, and supported Mac OS X 10.5, a.k.a. Leopard. Thus, OSX 10.4, Tiger, was never supported except by porting from sources. Linux and Windows builds had been released since the beginning, with Solaris support dropped with version 3.1.1, and HP-UX dropped with version 4.1.2 after spotty support.

In June 2010, the Consortium announced the creation of Scilab Enterprises.[14] Scilab Enterprises develops and markets, directly or through an international network of affiliated services providers, a comprehensive set of services for Scilab users. Scilab Enterprises also develops and maintains the Scilab software. The ultimate goal of Scilab Enterprises is to help make the use of Scilab more effective and easy.

Since July 2012, Scilab is developed and published by Scilab Enterprises.

See also

References

  1. 1.0 1.1 Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. JLaTeXMath project
  11. JMathTex SourceForge page
  12. http://raweb.inria.fr/rapportsactivite/RA94/meta2/META2.3.1.1.html
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.

Further reading

  • Lua error in package.lua at line 80: module 'strict' not found.

External links