Scilab es un paquete de computación numérica multiplataforma, gratuito y de código abierto , y un lenguaje de programación de alto nivel orientado numéricamente . Puede utilizarse para el procesamiento de señales , análisis estadístico , mejora de imágenes , simulaciones de dinámica de fluidos , optimización numérica , modelado, simulación de sistemas dinámicos explícitos e implícitos y (si se instala la caja de herramientas correspondiente) manipulaciones simbólicas. [ 2 ] [ 3 ] [ 4 ]
Scilab es una de las dos principales alternativas de código abierto a MATLAB , siendo la otra GNU Octave . [ 5 ] [ 6 ] [ 7 ] [ 8 ] Scilab pone menos énfasis en la compatibilidad sintáctica con MATLAB que Octave, [ 5 ] [ 9 ] [ 10 ] pero es lo suficientemente similar como para que algunos autores sugieran que es fácil transferir habilidades entre los dos sistemas. [ 11 ] Junto con Xcos .
Introducción
Scilab es un lenguaje de programación de alto nivel, orientado a cálculos numéricos. Proporciona un entorno de programación interpretado , con matrices como tipo de dato principal . Mediante el uso de computación matricial, tipado dinámico y gestión automática de memoria , muchos problemas numéricos pueden expresarse con un número reducido de líneas de código, en comparación con soluciones similares que utilizan lenguajes tradicionales como Fortran , C o C++ . Esto permite a los usuarios construir rápidamente modelos para una variedad de problemas matemáticos. Si bien el lenguaje ofrece operaciones matriciales sencillas, como la multiplicación, el paquete Scilab también proporciona una biblioteca de operaciones de alto nivel, como correlación y aritmética multidimensional compleja.
Scilab también incluye un paquete gratuito llamado Xcos para el modelado y la simulación de sistemas dinámicos explícitos e implícitos, incluyendo subsistemas continuos y discretos. Xcos es el equivalente de código abierto de Simulink de MathWorks .
Dado que la sintaxis de Scilab es similar a la de MATLAB, Scilab incluye un traductor de código fuente para facilitar la conversión de código de MATLAB a Scilab. Scilab está disponible de forma gratuita bajo una licencia de código abierto . Debido a su naturaleza de código abierto, algunas contribuciones de los usuarios se han integrado en el programa principal.
La programación orientada a objetos se introdujo en la versión Scilab 2026.0.0 con el classdefcomando .
Sintaxis
La sintaxis de Scilab se basa en gran medida en el lenguaje MATLAB. La forma más sencilla de ejecutar código Scilab es escribirlo en el indicador , --> , en la ventana de comandos gráfica. De esta manera, Scilab puede utilizarse como un entorno matemático interactivo .
¡Hola mundo! en Scilab:
disp ( 'Hola Mundo' );Representación gráfica de una función de superficie 3D:
// Un gráfico simple de z = f(x,y) t =[ 0 : 0.3 : 2 * %pi ] ' ; // nota: t es un vector columna, t' es un vector fila z = sin ( t ) * cos ( t ' ); // el producto diádico de sin(t) y cos(t') produce la matriz z plot3d ( t , t ' , z )Determinación del índice único equivalente correspondiente a un conjunto dado de valores de subíndice: [ 12 ]
función I = sub2ind ( dims,varargin ) //I = sub2ind(dims,i1,i2,..) devuelve el índice lineal equivalente a los //subíndices de fila, columna, ... en las matrices i1,i2,.. para una matriz de //tamaño dims. //I = sub2ind(dims,Mi) devuelve el índice lineal //equivalente a los n subíndices en las columnas de la matriz Mi para una matriz //de tamaño dims. d =[ 1 ; cumprod ( matrix ( dims ( 1 : $ - 1 ), - 1 , 1 ))] para i = 1 : size ( varargin ) si varargin ( i )==[] entonces I =[], return , fin finifsize(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)endendendfunctionToolboxes
Scilab has many contributed toolboxes for different tasks, such as
- Scilab Image Processing Toolbox (SIP) and its variants (such as SIVP)
- Scilab Wavelet Toolbox
- Scilab Java and .NET Module
- Scilab Remote Access Module
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[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 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.[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 pioneer ESI Group[16]
Since 2019 and Scilab 6.0.2, the University 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 joined Dassault Systèmes in 2022.[17] The Scilab versions from then on have been named by the year, the first one being scilab-2023.0.0. Typically two releases haves been published per year, the current being scilab-2026.1.0.
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.[18]
These features have not been included in the open source version of Scilab and are still proprietary developments.
See also
References
- ↑"Scilab 2026.1.0". Retrieved 19 May 2026.
- ↑Holopainen, Timo (2000). "Modelling and simulation of multitechnological machine systems"(PDF).
- ↑Guenther, Raidl (May 1998). "An improved genetic algorithm for the multiconstrained 0-1 knapsack problem". 1998 IEEE International Conference on Evolutionary Computation Proceedings. IEEE World Congress on Computational Intelligence (Cat. No.98TH8360). pp. 207–211. CiteSeerX 10.1.1.20.6454. doi:10.1109/ICEC.1998.699502. ISBN 978-0-7803-4869-1. S2CID 2337792.
- ↑Philippe., Roux (2016-03-29). Scilab: I. Fundamentals, from theory to practice. Paris, France. ISBN 978-2-8227-0293-5. OCLC 1003630046.
{{cite book}}: CS1 maint: location missing publisher (link) - 12Thomas Trappenberg (2010). Fundamentals of Computational Neuroscience. Oxford University Press. p. 361. ISBN 978-0-19-956841-3.
- ↑A Muhammad; V Zalizniak (2011). Practical Scientific Computing. Woodhead Publishing. p. 3. ISBN 978-0-85709-226-7.
- ↑Bernard A. Megrey; Erlend Moksness (2008). Computers in Fisheries Research. Springer Science & Business Media. p. 345. ISBN 978-1-4020-8636-6.
- ↑Raul Raymond Kapuno (2008). Programming for Chemical Engineers Using C, C++, and MATLAB. Jones & Bartlett Publishers. p. 365. ISBN 978-1-934015-09-4.
- ↑Russell L. Herman (2013). A Course in Mathematical Methods for Physicists. CRC Press. p. 42. ISBN 978-1-4665-8467-9.
- ↑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.
- ↑Mark A. Haidekker (2013). Linear Feedback Controls: The Essentials. Newnes. p. 3. ISBN 978-0-12-405513-1.
- ↑pygments/tests/examplefiles/scilab/scilab.sci on GitHub
- ↑"META2.3.1.1.html META2.3.1.1".
- ↑"SCILAB Consortium launched". 2003.
- ↑"SCILAB Enterprises announced". 2010.
{{cite web}}: CS1 maint: deprecated archival service (link) - ↑"ESI Group: Acquisition of Scilab Enterprises, Publisher of Scilab Open Source Analytical Computational Software". Archived from the original on 2017-08-24. Retrieved 2017-08-24.
- ↑"Scilab History". Retrieved 2025-03-20.
- ↑"Scilab Cloud". Scilab.io. Archived from the original on 2017-10-08. Retrieved 2017-10-08.
Further reading
- Stephen L. Campbell; Jean-Philippe Chancelier; Ramine Nikoukhah (2006). Modeling and Simulation in Scilab/Scicos. New York: Springer. ISBN 978-0-387-27802-5.
External links
- Scilab website
- Array programming languages
- Computer algebra system software for Linux
- Computer algebra systems
- Dassault Systèmes
- Free educational software
- Free mathematics software
- Free software programmed in Fortran
- Numerical analysis software for Linux
- Numerical analysis software for macOS
- Numerical analysis software for Windows
- Numerical programming languages
- Science software that uses GTK
- Software using the GNU General Public License