Vous êtes sur la page 1sur 9

Scilab es un software matemtico, con un lenguaje de programacin de alto nivel, para clculo cientfico, interactivo de libre uso y disponible

en mltiples 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 Chausses) desde 1990, por Scilab Consortium dentro de la fundacin Digiteo desde 2008, Scilab es ahora desarrollado por Scilab Enterprises desde julio 2012. Scilab fue creado para hacer clculos numricos aunque tambin ofrece la posibilidad de hacer algunos clculos simblicos como derivadas de funciones polinomiales y racionales. Posee cientos de funciones matemticas y la posibilidad de integrar programas en los lenguajes ms usados (Fortran, Java, C y C++). La integracin 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 pueda definir nuevos tipos de datos y operaciones entre los mismos. Scilab viene con numerosas herramientas: grficos 2-D y 3-D, animacin, lgebra lineal, matrices dispersas, polinomios y funciones racionales, Simulacin: programas de resolucin de sistemas de ecuaciones diferenciales (explcitas e implcitas), Xcos: simulador por diagramas en bloque de sistemas dinmicos hbridos, Control clsico, robusto, optimizacin LMI, Optimizacin diferenciable y no diferenciable, Tratamiento de seales, Grafos y redes, Scilab paralelo empleando PVM, Estadsticas, Creacin de GUIs, Interfaz con el clculo simblico (Maple, MuPAD), Interfaz con TCL/TK. Adems se pueden agregar numerosas herramientas o toolboxes hechas por los usuarios como Grocer una herramienta para Econometra u Open FEM (Una caja de Herramientas para Elementos Finitos), hecha por INRIA. En el pasado Scilab poda ser utilizado en el anlisis de sistemas, pero no poda interactuar con el exterior. Hoy en da se pueden construir interfaces para que desde Scilab se pueda manejar un dispositivo, se conecte a la red a travs de Tcp (Protocolo de Control de Transmisin) o Udp (User Datagram Protocol), etc. Esto brinda la posibilidad de conectar una placa de adquisicin de datos a Scilab y de esta forma el control de una planta on-line.2
34

ndice

1 Historia 2 Sintaxis o 2.1 Grficos 3 Polinomios y clculo simblico o 3.1 Fracciones parciales 4 Xcos 5 Paquetes disponibles para Scilab (Toolbox) 6 Programas similares 7 Referencias

8 Enlaces externos

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 chausses (ENPC). El Consorcio Scilab (Scilab Consortium en ingls) fue creado en mayo de 2003 para ampliar y promover Scilab como software de referencia en todo el mundo en el mundo acadmico y la industria.5 En julio de 2008, con el fin de mejorar la transferencia de tecnologa, el Scilab Consortium se uni a la Fundacin Digiteo. Desde julio de 2012, Scilab Enterprises desarrolla y publica Scilab.

Sintaxis
Scilab posee su propio lenguaje de programacin, orientado al uso de matrices y vectores. Es un lenguaje interpretado. Scilab incorpora su propio editor llamado SciNotes, aunque est disponible tambin Scipad. La extensin de estos archivos es *.sce o *.sci. Ejemplo del programa hola mundo:
// lnea de comentario, como en C++ clc // limpia la pantalla disp("Hola Mundo") // imprime Hola Mundo

Scilab permite la operacin de matrices. Ejemplo del uso de matrices:

--> A=[2/3 3/5; 21 7]

Grficos
Grfico de la funcin

t = [0 : 0.001 : 2 * %pi] y = sin(t) xlabel("eje X"); ylabel("Eje y"); title("Ttulo del grfico") plot(t, y)

Grfico de una funcin de dos variables


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)

Este programa integra numricamente el sistema de ecuaciones diferenciales conocido como Oscilador de van der Pol:

Lo primero es crear una funcin que de cuenta de las anteriores ecuaciones (es decir que al ingresarle , y esta devuelva 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 funcin anteriormente creada, invoca a la funcin ode de scilab y finalmente muestra la grfica (que hace parte de la imagen mostrada en esta pgina):
getf vdp.sci//"getf" ya no existe a partir de la versin 5.3. Utilcese "exec" en su lugar 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 clculo simblico


Scilab tiene funciones diseadas especialmente para el tratamiento de polinomios y clculo simblico (aunque existen otros que facilitan la transcripcin de texto como Mxima). Por ejemplo para insertar el polinomio:

Se utilizan los siguientes comandos (ntese que los coeficientes del polinomio se insertan del trmino con menor orden hasta el trmino de orden mayor poniendo ceros en los trminos no existentes:
y = poly([-3 1/2 0 5], "x", "coeff")

Para hallar las races 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 races del polinomio, sean estas reales o complejas. Se pueden hacer operaciones simblicas entre los polinomios. Por ejemplo si se quiere hacer la siguiente operacin:

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)

Ntese 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 teora de control. Por ejemplo se puede obtener el producto (la suma, la diferencia o el cociente) de dos funciones definidas como siguen:

Lo que en Scilab se realiza de la siguiente forma (ntese 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 tambin por sus races no incluyendo la opcin "coeff" en el comando "poly", como se hizo en el ejemplo anterior al definir como un polinomio con raz en cero.

Fracciones parciales
El programa tambin tiene opciones para clculo simblico. Por ejemplo, s se tiene la siguiente funcin racional:

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 funcin mediante los siguientes comandos:


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

puede ser recuperado en variables

Xcos
El programa Scilab tiene un entorno similar a Simulink de Matlab para simulacin de sistemas dinmicos y resolucin de sistemas de ecuaciones diferenciales. Este entorno posee varios paquetes que incluye algunas herramientas para simulacin sencilla de circuitos elctricos y termo hidrulica. 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.

Paquetes disponibles para Scilab (Toolbox)


A partir de la versin 5.2 se puede consultar: http://atoms.scilab.org/ para obtener un listado de mdulos que extienden las capacidades de Scilab. Para instalar mdulos, podemos abrir Atoms haciendo click en Applications->Module Manager ATOMS, seleccionamos la aplicacin y ATOMS la descarga de internet y la instala.

MuPAD Comparacin de Matlab con Scilab, otra herramienta de clculo tcnico muy eficiente y reconocida mundialmente. Posee un entorno de simulacin de sistemas similar a Simulink llamado Sicos. SciLab es un lenguaje interpretado para clculo cientfico, que fue desarrollado en 1990 por el reconocido instituto francs de investigacin INRIA (Institut National de Recherche en Informatique et Automatique). Posteriormente colabor en su desarrollo, la escuela de ingenieros ENPC (Ecole Nationale de Ponts et Chausses). Desde mayo del 2003, es mantenido y desarrollado por SciLab Consortium, un consorcio de empresas colaboradoras como Renault, Peugeot-Citron, CEA (Commissariat l'Energie Atomique), CNES (Centre National d'Etudes spatiales), Dassault Aviation, EDF (Electricit de France), entre otras. Las facilidades de este software, es que nos permite hacer clculos numricos y algunos clculos simblicos, como derivadas de funciones polinmicas y racionales. Posee cientos de funciones matemticas y la posibilidad de integrar programas en los lenguajes ms usados (FORTRAN, Java y C y C++ ). Trae numerosas herramientas: Grficos 2-D y 3-D, lgebra lineal, matrices, resolucin de sistemas de ecuaciones diferenciales (explcitas e implcitas) y muchas cosas mas que resultan de suma utilidad para el estudio de las ciencias duras (matemtica, fsica, qumica, astronoma, biologa, etc.) SciLab fue hecho para ser un sistema abierto donde el usuario puede definir nuevos tipos de datos y operaciones entre los mismos. Adems se pueden agregar numerosas herramientas o toolboxes hechas por los usuarios, como por ejemplo, Open FEM (Una caja de Herramientas visual para

tratamientos con la tcnica de Elementos Finitos). Esto permite a los docentes, producir aplicaciones didcticas especficamente para el curso que imparten. Como si fuera poco, Scilab es

Vous aimerez peut-être aussi