Scilab

Last updated
Scilab
Scilab Logo.png
Scilab 6 1.png
Screenshot of Scilab 6.1
Developer(s) ESI Group
Stable release
6.1.0 [1] / 25 February 2020;16 months ago (25 February 2020)
Repository OOjs UI icon edit-ltr-progressive.svg
Written inScilab, 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, previously CeCILL
Website www.scilab.org

Scilab is a free and 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.

Contents

Scilab is one of the two major open-source alternatives to MATLAB, the other one being GNU Octave. [2] [3] [4] [5] Scilab puts less emphasis on syntactic compatibility with MATLAB than Octave does, [2] [6] [7] but it is similar enough that some authors suggest that it is easy to transfer skills between the two systems. [8]

Introduction

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. [9] [10] [11]

Scilab also includes a free package called Xcos 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.

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)

Toolboxes

Scilab has many contributed toolboxes for different tasks, such as

More 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.

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 pioneer ESI Group [15]

Scilab Cloud App & Scilab Cloud API

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. [16]

See also

Related Research Articles

MATLAB is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages.

GNU Octave

GNU Octave is software featuring a high-level programming language, primarily intended for numerical computations. Octave helps in solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB. It may also be used as a batch-oriented language. Since it is part of the GNU Project, it is free software under the terms of the GNU General Public License.

Simulink Programming environment

Simulink is a MATLAB-based graphical programming environment for modeling, simulating and analyzing multidomain dynamical systems. Its primary interface is a graphical block diagramming tool and a customizable set of block libraries. It offers tight integration with the rest of the MATLAB environment and can either drive MATLAB or be scripted from it. Simulink is widely used in automatic control and digital signal processing for multidomain simulation and model-based design.

Computational science, also known as scientific computing or scientific computation (SC), is a rapidly growing field that uses advanced computing capabilities to understand and solve complex problems. It is an area of science which spans many disciplines, but at its core, it involves the development of models and simulations to understand natural systems.

The following tables provide a comparison of numerical-analysis software.

Scicos is a graphical dynamical system modeler and simulator. Users can create block diagrams to model and simulate the dynamics of hybrid dynamical systems and compile these models into executable code. Applications include signal processing, systems control, queuing systems, and the study of physical and biological systems.

Dynamic simulation is the use of a computer program to model the time-varying behavior of a dynamical system. The systems are typically described by ordinary differential equations or partial differential equations. A simulation run solves the state-equation system to find the behavior of the state variables over a specified period of time. The equation is solved through numerical integration methods to produce the transient behavior of the state variables. Simulation of dynamic systems predicts the values of model-system state variables, as they are determined the past state values. This relationship is found by creating a model of the system.

SimulationX

SimulationX is a CAE software application running on Microsoft Windows for the physical simulation of technical systems developed and sold by ESI ITI GmbH in Dresden, Germany.

ScicosLab

ScicosLab is a software package providing a multi-platform environment for scientific computation. It is based on the official Scilab 4.x (BUILD4) distribution, and includes the modeling and simulation tool Scicos and a number of other toolboxes.

Ecolego

Ecolego is a simulation software tool that is used for creating dynamic models and performing deterministic and probabilistic simulations. It is also used for conducting risk assessments of complex dynamic systems evolving over time.

20-sim

20-sim is commercial modeling and simulation program for multi-domain dynamic systems, which is developed by Controllab. With 20-sim, models can be entered as equations, block diagrams, bond graphs and physical components. 20-sim is widely used for modeling complex multi-domain systems and for the development of control systems.

The Robotics Toolbox is MATLAB toolbox software that supports research and teaching into arm-type and mobile robotics. While the Robotics Toolbox is free software, it requires the proprietary MATLAB environment in order to execute. A subset of functions have been ported to GNU Octave and Python. The Toolbox forms the basis of the exercises in several textbooks.

The following table compares notable software frameworks, libraries and computer programs for deep learning.

FEATool Multiphysics

FEATool Multiphysics is a physics, finite element analysis (FEA), and PDE simulation toolbox. FEATool Multiphysics features the ability to model fully coupled heat transfer, fluid dynamics, chemical engineering, structural mechanics, fluid-structure interaction (FSI), electromagnetics, as well as user-defined and custom PDE problems in 1D, 2D (axisymmetry), or 3D, all within a graphical user interface (GUI) or optionally as script files. FEATool has been employed and used in academic research, teaching, and industrial engineering simulation contexts.

References

  1. https://www.scilab.org/download/6.1.0.
  2. 1 2 Thomas Trappenberg (2010). Fundamentals of Computational Neuroscience. Oxford University Press. p. 361. ISBN   978-0-19-956841-3.
  3. A Muhammad; V Zalizniak (2011). Practical Scientific Computing. Woodhead Publishing. p. 3. ISBN   978-0-85709-226-7.
  4. Bernard A. Megrey; Erlend Moksness (2008). Computers in Fisheries Research. Springer Science & Business Media. p. 345. ISBN   978-1-4020-8636-6.
  5. Raul Raymond Kapuno (2008). Programming for Chemical Engineers Using C, C++, and MATLAB. Jones & Bartlett Publishers. p. 365. ISBN   978-1-934015-09-4.
  6. Russell L. Herman (2013). A Course in Mathematical Methods for Physicists. CRC Press. p. 42. ISBN   978-1-4665-8467-9.
  7. Alain Vande Wouwer; Philippe Saucez; Carlos Vilas (2014). Simulation of ODE/PDE Models with MATLAB®, OCTAVE and SCILAB: Scientific and Engineering Applications. Springer. pp. 114–115. ISBN   978-3-319-06790-2.
  8. Mark A. Haidekker (2013). Linear Feedback Controls: The Essentials. Newnes. p. 3. ISBN   978-0-12-405513-1.
  9. Holopainen, Timo (2000). "Modelling and simulation of multitechnological machine systems" (PDF).
  10. Guenther, Raidl (May 1998). An improved genetic algorithm for the multiconstrained 0-1 knapsackproblem. Evolutionary Computation Proceedings. pp. 207–211. CiteSeerX   10.1.1.20.6454 . doi:10.1109/ICEC.1998.699502. ISBN   978-0-7803-4869-1.
  11. Philippe., Roux (2016-03-29). Scilab : I. Fundamentals, from theory to practice. Paris, France. ISBN   9782822702935. OCLC   1003630046.
  12. "META2.3.1.1.html META2.3.1.1".
  13. "SCILAB Consortium launched". 2003.
  14. "SCILAB Enterprises announced". 2010. Archived from the original on 2010-06-20.
  15. "Archived copy". Archived from the original on 2017-08-24. Retrieved 2017-08-24.CS1 maint: archived copy as title (link)
  16. "Scilab Cloud". Scilab.io. Retrieved 2017-10-08.

Further reading