Está en la página 1de 26

SCILAB

CONCEPTO

HISTORIA
Se inicia en los aos 80 con la creacin de Blaise creado por el INRIA
Se formulo con el fin de crear una herramienta de control

En 1984 Blaise se convierte en Basile y fue distribuido por SIMULOG impulsado por INRIA

Cuando se deja de distribuir Basile el software cambia nombre a Scilab creado en conjunto con la ENPC y otros investigadores

En 1994 aparece la primera versin de Scilab hasta que en 2003 el consorcio por motivos de desarrollo y mantenimiento

A partir de 2008 se une al grupo DIGITEO

Descripcin

Descripcin de Scilab
Scilab posee su propio lenguaje de programacin, orientado al uso de matrices y vectores. Scilab incorpora su propio editor llamado SciNotes. La extensin de estos archivos es *.sce *.sci

Como obtenerlo e instalarlo


Scilab est disponible para el entorno X11 en la mayor parte de las estaciones de trabajo Unix, Windows, y maquinas Linux. Est disponible tanto en "http://wwwrocq.inria.fr/scilab" tanto en formato rpm como en cdigo fuente.

Instalacin bajo Unx y Linux La instalacin desde el cdigo fuente es la ms general. El procedimiento de instalacin est descrito en un fichero texto denominado readme (o install) que aparece al descomprimir el software.

Instalacin en Windows En el caso de plataformas Windows 98, 2000 o XP, el procedimiento de instalacin es el estndar: al ejecutar el Setup,el software se instala automticamente como cualquier programa Windows, apareciendo el icono de Scilab en el men de inicio.

Modos de trabajo
Existen dos formas de trabajar con Scilab:

Modo interactivo Modo bash

Modo Interactivo
Ejecucin de cualquier expresin, programa o funcin Scilab dentro del entorno. El modo interactivo puede arrancarse en modo ventana o en modo texto: - Modo ventana: $ scilab - Modo texto: $ scilab -nw

Modo Bash
Ejecucin de un fichero sin necesidad de entrar en el entorno del programa. $ echo "exec('ordenes.sce'); quit" | scilab nw > resultados.out.

La programacin
Existen tres clases de programas que pueden ejecutarse en el entorno: Macros y funciones. Programas Scilab. Programas C o Fortran (Interfaces).

Aplicaciones

Sintaxis clc //limpia la pantalla disp("Hola Mundo") //imprime Hola Mundo

Scilab permite la operacin de matrices

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

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

Grficos de una funcin de dos variables


2 2 w=f(x,y)=5x -y

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)

Luego se ejecuta:
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) Invoca a la funcin ode de scilab y finalmente muestra la grfica.

Ecuaciones:

Lo primero es que al ingresarle x,y y t sta devuelva y ) 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

Polinomios
Para insertar este polinomio, se utiliza los siguientes comandos: y=poly([-3 1/2 0 5],"x","coeff") Para hallar las races de un polinomio; se utiliza el comando roots: s=roots(poly([-3 1/2 0 5],"x","coeff"))

O si ya tiene un polinomio definido: s=roots(y) Adems, hacer operaciones simblicas entre los polinomios:

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

Para evaluar el polinomio en un punto determinado y guardarlo en una variable f:


f=horner(oper2,3) Tambin se puede obtener el producto, la suma, la diferencia o el cociente de dos funciones definidas como:

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

Fracciones Parciales Para hacer un calculo simblico de una funcin racional: s=poly(0,"s"); g=s^2/((s+1)^3-2);
Para recuperar el numerador y el denominador de la funcin: numerador=numer(g) numerador = 2 s denominador=denom(g) denominador = 2 3 - 1 + 3s + 3s + s

Como el entorno de Scilab es similar al de Matlab, se puede lanzar una nueva ventada desde Scilab con el comando:
Xcos

Nota Los polinomios se pueden declarar tambin por sus races no incluyendo la opcin "coeff" en el comando "poly.

Gracias!