This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Scilab" – news ·newspapers ·books ·scholar ·JSTOR(April 2009) (Learn how and when to remove this message) |
| Scilab | |
|---|---|
Screenshot of Scilab 6.1 | |
| Developer | Dassault Systèmes |
| Stable release | |
| Written in | Scilab,C,C++,Java,Fortran |
| Operating system | BSDs (e.g.,FreeBSD),Linux,macOS,Windows |
| Available in | English,German,Spanish,French,Italian,Japanese,Portuguese (Brazil),Russian,Ukrainian,Chinese,Czech,Polish |
| Type | Technical computing |
| License | GPLv2, previouslyCeCILL |
| Website | www |
| Repository | |
Scilab is afree and open-source, cross-platformnumerical computational package and ahigh-level, numerically orientedprogramming language. It can be used forsignal processing,statistical analysis,image enhancement,fluid dynamics simulations,numerical optimization, and modeling, simulation of explicit and implicitdynamical systems and (if the corresponding toolbox is installed) symbolic manipulations.[2][3][4]
Scilab is one of the two major open-source alternatives toMATLAB, the other one beingGNU Octave.[5][6][7][8] Scilab puts less emphasis on syntactic compatibility with MATLAB than Octave does,[5][9][10] but it is similar enough that some authors suggest that it is easy to transfer skills between the two systems.[11]
Scilab is a high-level, numerically oriented programming language. The language provides aninterpreted programming environment, withmatrices as the maindata type. By using matrix-based computation,dynamic typing, andautomatic memory management, many numerical problems may be expressed in a reduced number of code lines, as compared to similar solutions using traditional languages, such asFortran,C, orC++. This allows users to rapidly constructmodels 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 ascorrelation and complex multidimensional arithmetic.
Scilab also includes a free package calledXcos for modeling and simulation of explicit and implicit dynamical systems, including both continuous and discrete sub-systems. Xcos is the open source equivalent toSimulink fromthe MathWorks.
As thesyntax 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 anopen source license. Due to the open source nature of the software, some user contributions have been integrated into the main program.
Object oriented programming was introduced in theScilab 2026.0.0 release with theclassdef command.
Scilab syntax is largely based on the MATLAB language. The simplest way to execute Scilab code is to type it in at theprompt,-->, in the graphical command window. In this way, Scilab can be used as an interactive mathematicalshell.
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)
Determining the equivalent single index corresponding to a given set of subscript values:[12]
functionI=sub2ind(dims,varargin)//I = sub2ind(dims,i1,i2,..) returns the linear index equivalent to the//row, column, ... subscripts in the arrays i1,i2,.. for an matrix of//size dims.//I = sub2ind(dims,Mi) returns the linear index//equivalent to the n subscripts in the columns of the matrix Mi for a matrix//of size dims.d=[1;cumprod(matrix(dims(1:$-1),-1,1))]fori=1:size(varargin)ifvarargin(i)==[]thenI=[],return,endendifsize(varargin)==1then//subindices are the columns of the argumentI=(varargin(1)-1)*d+1else//subindices are given as separated argumentsI=1fori=1:size(varargin)I=I+(varargin(i)-1)*d(i)endendendfunction
Scilab has many contributed toolboxes for different tasks, such as
More are available on ATOMS Portal or the Scilab forge.
Scilab was created in 1990 by researchers fromINRIA andÉcole nationale des ponts et chaussées (ENPC). It was initially namedΨlab[13](Psilab). The Scilab Consortium was formed in May 2003 to broaden contributions and promote Scilab as worldwide reference software in academia and industry.[14] In July 2008, in order to improve the technology transfer, the Scilab Consortium joined the Digiteo Foundation.
Scilab 5.1, the first release compiled forMac, was available in early 2009, and supportedMac OS X 10.5, a.k.a.Leopard. Thus, OSX 10.4,Tiger, was never supported except by porting from sources.Linux andWindows builds had been released since the beginning, withSolaris support dropped with version 3.1.1, andHP-UX dropped with version 4.1.2 after spotty support.
In June 2010, the Consortium announced the creation of Scilab Enterprises.[15] 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.
In February 2017 Scilab 6.0.0 was released which leveraged the latest C++ standards and lifted memory allocation limitations.
Since July 2012, Scilab is developed and published by Scilab Enterprises and in early 2017 Scilab Enterprises was acquired by Virtual Prototyping pioneerESI Group[16]
Since 2019 and Scilab 6.0.2, theUniversity of Technology of Compiègne provides resources to build and maintain the macOS version.
After 5 years of Scilab versions made by ESI Group, Scilab operational team joins Dassault Systèmes in 2022.[17]
Since 2016 Scilab can be embedded in a browser and be called via an interface written in Scilab or an API.
This new deployment method has the notable advantages of masking code & data as well as providing large computational power.[18]
These features have not been included in the open source version of Scilab and are still proprietary developments.
{{cite book}}: CS1 maint: location missing publisher (link){{cite web}}:|archive-url= is malformed: timestamp (help)