Scilab

Scilab
Scilab
Escilab.png
Scilab 5.2.2
Desarrollador
Scilab Consortium
www.scilab.org
Información general
Última versión estable 5.3.3 (info)
22 de julio de 2011; hace 3 meses (2011-07-22)
Última versión en pruebas Master branch - nightly builds (info)
Género Computación técnica
Programado en C
Sistema operativo Windows
GNU/Linux
Mac OS X
Plataforma 32 bits (excepto Mac)
64 bits
Licencia CeCILL
Idiomas Inglés
En español No. 

Scilab es un software matemático, con un lenguaje de programación de alto nivel, para cálculo científico, interactivo de libre uso y disponible en múltiples sistemas operativos (Mac OS X, GNU/Linux, Windows) desarrollado por INRIA (Institut National de Recherche en Informatique et Automatique) y la ENPC (École Nationale des Ponts et Chaussées) desde 1990. Scilab es ahora desarrollado por Scilab Consortium dentro de la fundación Digiteo.

Scilab fue creado para hacer cálculos numéricos aunque también ofrece la posibilidad de hacer algunos cálculos simbólicos como derivadas de funciones polinomiales y racionales. Posee cientos de funciones matemáticas y la posibilidad de integrar programas en los lenguajes más usados (Fortran, Java, C y C++ ). La integración puede ser de dos formas; por ejemplo, un programa en Fortran que utilice Scilab o viceversa.[1] Scilab fue hecho para ser un sistema abierto donde el usuario puede definir nuevos tipos de datos y operaciones entre los mismos.

Scilab viene con numerosas herramientas: gráficos 2-D y 3-D, animación, álgebra lineal, matrices dispersas, polinomios y funciones racionales, Simulación: programas de resolución de sistemas de ecuaciones diferenciales (explícitas e implícitas), Xcos: simulador por diagramas en bloque de sistemas dinámicos híbridos, Control clásico, robusto, optimización LMI, Optimización diferenciable y no diferenciable, Tratamiento de señales, Grafos y redes, Scilab paralelo empleando PVM, Estadísticas, Creación de GUIs, Interfaz con el cálculo simbólico (Maple, MuPAD), Interfaz con TCL/TK.

Además se pueden agregar numerosas herramientas o toolboxes hechas por los usuarios como Grocer una herramienta para Econometría u Open FEM (Una caja de Herramientas para Elementos Finitos), hecha por INRIA.

En el pasado Scilab podía ser utilizado en el análisis de sistemas, pero no podía interactuar con el exterior. Hoy en día se pueden construir interfaces para que desde Scilab se pueda manejar un dispositivo, se conecte a la red a través de Tcp (Protocolo de Control de Transmisión) o Udp (User Datagram Protocol), etc. Esto brinda la posibilidad de conectar una placa de adquisición de datos a Scilab y de esta forma el control de una planta on-line.[2] [3] [4]

Contenido

Historia

Ejemplos en 3D, en Scilab 4.0.

Scilab fue creado en 1990 por investigadores del INRIA y de la École nationale des ponts et chaussées (ENPC). El Consorcio Scilab (Scilab Consortium en inglés) fue creado en mayo de 2003 para ampliar y promover Scilab como software de referencia en todo el mundo en el mundo académico y la industria.[5] En julio de 2008, con el fin de mejorar la transferencia de tecnología, el Scilab Consortium se unió a la Fundación Digiteo.

Sintaxis

Scilab posee su propio lenguaje de programación, orientado al uso de matrices y vectores. Es un lenguaje interpretado. Scilab incorpora su propio editor llamado SciNotes, aunque está disponible también Scipad. La extensión de estos archivos es *.sce o *.sci. Ejemplo del programa hola mundo:

//línea de comentario.... como en C++
clc //limpia la pantalla
disp("Hola Mundo") //imprime Hola Mundo

Scilab permite la operación de matrices. Ejemplo del uso de matrices:

A = \begin{bmatrix}
\frac{2}{3} & \frac{3}{5} \\
21 & 7 \\
\end{bmatrix}
--> A=[2/3 3/5; 21 7];

Gráficos

Gráfico de la función y = f(t) = sen(t)

t=[0:0.001:2*%pi];
y=sin(t);
xlabel("eje X");ylabel("Eje y");title("Título del gráfico"); 
plot(t,y)
Senox.jpg

Gráfico de una función de dos variables w=f(x,y)=5x^2-y^2\cdot

i=[-2:0.05:2];
j=[-3:0.1:3];
[u,v]=meshgrid(i,j);
w=5*u.^2-v.^2;
plot3d(u,v,w)
Meshgridscilab.jpg

Este programa integra numéricamente el sistema de ecuaciones diferenciales conocido como Oscilador de van der Pol:

\dot x=y

\dot y=-x+y(1-x^2)

Lo primero es crear una función que de cuenta de las anteriores ecuaciones (es decir que al ingresarle x,y y t esta devuelva \dot x y \dot y) esta puede crearse con SciPad y se puede guardar con el nombre de vdp.sci y contiene lo siguiente:

function fxy =vdp(x,y)
fxy=zeros(2,1)
fxy(1)=y(2)
fxy(2)=-y(1)+y(2)*(1-y(1)*y(1))
endfunction

Luego se ejecuta el siguiente script que usa la función anteriormente creada, invoca a la función ode de scilab y finalmente muestra la gráfica (que hace parte de la imagen mostrada en esta página):

getf vdp.sci
x0=0.01;
y0=[0.00001;0.00001];
t=[0.01:0.01:5000*0.01];
yt=ode(y0,x0,t,vdp);
x=yt(1,:);
y=yt(2,:);
plot2d(x,y,2)

Polinomios y cálculo simbólico

Scilab tiene funciones diseñadas especialmente para el tratamiento de polinomios y cálculo simbólico (aunque existen otros que facilitan la transcripción de texto como Máxima). Por ejemplo para insertar el polinomio:

y=f(x)=5\cdot x^3+\frac{1}{2}\cdot x-3

Se utilizan los siguientes comandos (nótese que los coeficientes del polinomio se insertan del término con menor orden x0 hasta el término de orden mayor x3 poniendo ceros en los términos no existentes:

y=poly([-3 1/2 0 5],"x","coeff")

Para hallar las raíces de un polinomio dado, se utiliza el comando roots que se emplea de la siguiente forma:

s=roots(poly([-3 1/2 0 5],"x","coeff"))

o si ya se tiene definido un polinomio (en el ejemplo se ha definido como y')':

s=roots(y)

El vector s guarda las raíces del polinomio, sean estas reales o complejas.

Se pueden hacer operaciones simbólicas entre los polinomios. Por ejemplo si se quiere hacer la siguiente operación:

z=((x+1)\cdot (x-1))^2=(x^2-1)^2=x^4-2\cdot x^2+1

podemos proceder con las siguientes órdenes:

p1=poly([1 1],"x","coeff");
p2=poly([-1 1],"x","coeff");
oper1=p1*p2
oper2=oper1^2

Si se desea evaluar el anterior polinomio en un punto determinado y guardar su valor en una variable f, se pueden utilizar los siguientes comandos:

f=horner(oper2,3)

Nótese que se ha evaluado el polinomio en el punto x=3.

Estos procedimientos sirven y funcionan de igual forma para funciones racionales, lo cual es muy útil en la teoría de control. Por ejemplo se puede obtener el producto (la suma, la diferencia o el cociente) de dos funciones definidas como siguen:

G(\bold{s})=\frac{\bold{s}}{\bold{s}^2+1}; H(\bold{s})=\frac{1}{\bold{s}}
G(\bold{s})\cdot H(\bold{s})=\frac{1}{\bold{s}^2+1}

Lo que en Scilab se realiza de la siguiente forma (nótese la forma de definir las funciones, de forma similar como se hace en Matlab:

s=poly(0,"s")// se define la variable s como un polinomio de orden 1
g=s/(s^2+1)
h=1/s
gh=g*h

Los polinomios se pueden declarar también por sus raíces no incluyendo la opción "coeff" en el comando "poly", como se hizo en el ejemplo anterior al definir \bold{s} como un polinomio con raíz en cero.

Fracciones parciales

El programa también tiene opciones para cálculo simbólico. Por ejemplo, sí se tiene la siguiente función racional:

G(s)=\frac{s^2}{(s+1)^3-2}

puede ser introducida por los siguientes comandos:

s=poly(0,"s");
g=s^2/((s+1)^3-2);

El numerador y el denominador de la función G(s) puede ser recuperado en variables mediante los siguientes comandos:

numerador=numer(g)
 numerador  =
 
     2  
    s  

denominador=denom(g)
 denominador  =
 
               2   3  
  - 1 + 3s + 3s + s    

Xcos

El programa Scilab tiene un entorno similar a Simulink de Matlab para simulación de sistemas dinámicos y resolución de sistemas de ecuaciones diferenciales. Este entorno posee varios paquetes que incluye algunas herramientas para simulación sencilla de circuitos eléctricos y termo hidráulica.

Para lanzar el entorno desde Scilab basta con poner el siguiente comando:

xcos

Se lanza una nueva ventana, desde en la cual se insertan y conectan todos los bloques a voluntad del usuario.

Xcos-ejemplo.png

Paquetes disponibles para Scilab (Toolbox)

A partir de la versión 5.2 se puede consultar: http://atoms.scilab.org/ para obtener un listado de módulos que extienden las capacidades de Scilab.

Para instalar módulos, podemos abrir Atoms haciendo click en Applications->Module Manager ATOMS, seleccionamos la aplicación y ATOMS la descargara de internet y la instalara en nuestro Scilab.

Atoms.png

Programas similares

Enlaces externos

Wikilibros

Referencias

  1. Modeling and Simulation in Scilab/Scicos. Stephen L. Campbell, Jean-Philippe Chancellier and Ramine Nikoukhah
  2. The Present and Future of Scilab’s Engineering Application. Zhe Peng, Longhua Ma. http://www.equalis.com/resource/dynamic/forums/20101012_150034_22180.pdf
  3. Scicos Hardware In The Loop http://www-scicos.inria.fr/scicoshil.html
  4. Articulo que describe una aplicación http://www-scicos.inria.fr/ScicosHIL/angers2006eng.pdf
  5. Gomez, Claude (julio de 2003). «SCILAB Consortium launched» (en inglés). Consultado el 28 de marzo de 2011.

Wikimedia foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Mira otros diccionarios:

  • Scilab — Scilab …   Deutsch Wikipedia

  • Scilab — Scilab …   Wikipédia en Français

  • Scilab — Scilab …   Википедия

  • Scilab — es un lenguaje de programación de alto nivel para cálculo científico, interactivo de libre uso y disponible en múltiples sistemas operativos (Unix, GNU/Linux, Windows, Sun, Alpha) desarrolado por INRIA (Institut National de Recherche en… …   Enciclopedia Universal

  • Scilab — Infobox Software name = Scilab caption = A Screenshot of Scilab Running developer = INRIA latest release version = 5.0.2 latest release date = 2008 09 29 preview version = operating system = Linux, UNIX, Windows genre = Technical computing… …   Wikipedia

  • Scilab Image Processing — SIP is a toolbox for processing images in Scilab. SIP is meant to be a free, complete, and useful image toolbox for Scilab. Its goals include tasks such as filtering, blurring, edge detection, thresholding, histogram manipulation, segmentation,… …   Wikipedia

  • Poids/Scilab — Le programme Scilab suivant a été utilisé pour l article Poids, pour déterminer les maximum et minimum de g et l angle maximum de g avec la verticale. Il est donné à des fins de contrôle (rectification d une possible erreur). On considère ici un… …   Wikipédia en Français

  • Scicos — Scilab Bildschirmfoto von Scilab Basisdaten Entwickler …   Deutsch Wikipedia

  • The Dark Wielder — Infobox television show name = The Dark Wielder caption = genre = Action/Adventure/Supernatural Drama creator = Bryan Alvarado location = ACDC Town starring = Zeo Cullen Kari Demonia Connor Cullen (4+) Kai Johnson (7) country = USA language =… …   Wikipedia

  • Lifting En Ondelettes — Un lifting en ondelettes est, en mathématiques, un schéma d’implantation d’une transformation en ondelettes un peu différent de celui plus habituel réalisé par les bancs de filtres. Le lifting en ondelettes est l’expression retenue pour désigner… …   Wikipédia en Français

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”