Está en la página 1de 20

Tutorial de Scilab http://www.scilab.

org/
Mara Patricia Trujillo Deisy Chaves Edificio 331 Oficina 2108 maria.trujillo@correounivalle.edu.co deisy.chaves@correounivalle.edu.co Atencin a estudiantes: Jueves 2:00 PM a 4:00 PM

Tutorial de SCILAB

Introduccin a la programacin matemtica en scilab Constantes, variables numricas y lgicas en scilab Operaciones con vectores, matrices y polinomios Operaciones lgicas Bucles, ciclos y condicionales Creacin de macros de funciones Creacin de un programa en forma de fichero

Creacin de grficos

Tutorial de SCILAB

Slide 2 / 20

Introduccin

SCILAB es un programa que proporciona en un slo ambiente herramientas de clculo numrico, programacin y grficos. Fue desarrollado por el INRIA (Institut Nationale de Recherche en Informatique et en Automatique) y el ENPC (Ecole Nationale des Ponts et Chausses) de Francia. Es similar a MATLAB y otros programas de clculo numrico. Puede ser utilizado en una variedad de sistemas operativos tales como: Windows, Linux, Mac OS. SCILAB esta disponible en forma gratuita en sitio web oficial de SCILAB: http://www.scilab.org/ SCILAB Group, Introduction to SCILAB. disponible en el siguiente sitio web: http://www.scilab.org/resources/documentation/tutorials

Tutorial de SCILAB

Slide 3 / 20

Caractersticas

Programacin con un lenguaje simple y fcilmente asimilable Posee funciones para la generacin de grficos en dos y tres dimensiones

Permite diversas operaciones matriciales Permite operaciones con polinomios y funciones de transferencia Permite la resolucin de sistemas de ecuaciones lineales y ecuaciones diferenciales

Posibilita al usuario la creacin y definicin de funciones propias Crea y utiliza conjuntos de funciones destinadas a aplicaciones especficas denominados Toolboxes
Tutorial de SCILAB Slide 4 / 20

Menu Principal

La barra de herramientas se tienen diferentes opciones, entre ellas File: para manejo y ejecucin de archivos Editor: que inicializa el editor de archivos de comandos y funciones Control: con las funciones resume, abort e interrupt, que permiten moverse dentro de diferentes workspace (ambiente de trabajo)
Tutorial de SCILAB Slide 5 / 20

Operaciones bsicas

SCILAB muestra el siguiente smbolo indicando que el programa est listo para ejecutar la siguiente instruccin. Esto se conoce como prompt -->

Activar el men de ayuda: --> help Una variable se define en el espacio de trabajo con: --> a = 5.1

Un arreglo se define en el espacio de trabajo con : --> a = [4, 2, 3]


Una matriz se define en el espacio de trabajo con: --> a=[1 2 ; 3 4 ; 9 8]

Para ver las variable las variables activas se utiliza:


--> who

Tutorial de SCILAB

Slide 6 / 20

Operaciones bsicas

Existen variables predefinidas y por lo tanto esos nombres no se pueden utilizar para definir nuevas variables, por ejemplo:

%e, %i, %pi, %eps, %inf, %nan, etc.

Con el operador : (dos puntos) se crea un vector fila, por ejemplo: --> nombre del vector = valor inicial : incremento : valor final

Con el operador ; (punto y coma) se evita la impresin en pantalla de la


salida del comando

Para obtener la transpuesta de una matriz se debe usar un apstrofe ' Para introducir un comentario y no ejecutar la lnea se usa: // Para ver el directorio actual de trabajo: --> pwd
Tutorial de SCILAB Slide 7 / 20

Manejo de una sesin

Cambio del directorio de trabajo: --> chdir(nombre de nuevo directorio)

Para listar archivos existentes en el directorio de trabajo:


--> ls

Para limpiar la pantalla: --> clc

Para empezar a guardar una sesin de SCILAB en un archivo se usa: --> diary(nombre_del_archivo)

Para terminar de guardar la sesin de SCILAB se usa: --> diary(0)

Para ejecutar un archivo de comandos (script) se usa: --> exec(nombre de archivo)

Tutorial de SCILAB

Slide 8 / 20

Programacin

Operadores de comparacin: = =, <, >, <=, >=, <> o ~= Operadores lgicos: & (and), | (or), ~ (not) FOR for ndice = valor_inicial : incremento : valor_final <comandos o instrucciones> end WHILE while condicin <comandos o instrucciones> end

Tutorial de SCILAB

Slide 9 / 20

Programacin

Condicional IF: if condicin then <comandos o instrucciones> else <comandos o instrucciones> end Seleccin de casos con SELECT-CASE: select nombre_variable case valor_1 <comandos o instrucciones> case valor_2 <comandos o instrucciones> . end

Tutorial de SCILAB

Slide 10 / 20

Manejo de Variables

Variable Global: son aquellas variables definidas en el ambiente principal SCILAB

Variable Local: son aquellas variables definidas solamente dentro de una


funcin Guardando variables en un archivo: --> save(nombre_de_archivo, lista_de_variables)

Cargando variables desde un archivo:


--> load(nombre_de_archivo)

Imprimiendo en un archivo de salida sin formato: --> print(nombre_de_archivo, lista_de_variables)

Creando un nuevo archivo de salida: --> nombre_unidad = file(open, nombre_de_archivo, new)

Tutorial de SCILAB

Slide 11 / 20

Escribiendo un archivo con formato

Escribiendo en un archivo de salida: --> write(nombre_unidad, lista_de_variables, (formato))

El formato para escribir a un archivo es estilo FORTRAN: iw : i para entero, w = nmero de caracteres permitido (ancho del campo)

fw.d : f para coma-flotante, w = ancho de campo, d = nmero de


decimales ew.d : e para coma-flotante con notacin cientfica, w = ancho del campo, d =nmero de decimales aw : a para alfa-numrico (string - cadena ), w = ancho del campo, a : ancho de la variable 12

Tutorial de SCILAB

Slide 12 / 20

Vectores

Magnitud de un vector: Transpuesta de un vector:

-->norm( v) --> v

Mnimo y mximo de los valores de un vector: --> min( v) --> max( v)

Producto escalar de dos vectores fila: --> u*v

Operacin trmino a trmino de matrices: usar el punto (.) antes del operador,

--> C = A.*B
--> C = A./B
Tutorial de SCILAB Slide 13 / 20

Matrices

Transpuesta de una matriz/vector: usar el apstrofe: --> A Inversa de una matriz: --> inv( A) Matriz identidad: --> eye(n,n) Traza: --> trace( A) Dimensiones de una matriz/vector: --> size(A) Matriz con elementos aleatorios: --> A=rand(n,m) Extrayendo filas: --> B=A(2,:) Extrayendo columnas: --> C=(:,1)

Tutorial de SCILAB

Slide 14 / 20

Matrices

Rango de una matriz: --> rank( A)

Normas de una matriz: --> norm(A) o norm(A,2) : norma Euclidiana --> norm(A,1) : norma columna --> norm(A,inf): norma infinita --> norm(A,fro) : norma Frobenius

Nmero de condicin de una matriz: --> cond( A)

Determinante de una matriz: --> det(A)

Tutorial de SCILAB

Slide 15 / 20

Solucin de Sistemas

Solucin de un sistema lineal A*x = b : --> xsol = A\b Factorizacin LU: [L,U] = lu(A) or [L,U,P] = lu(A) Descomposicin en valores singulares: [U,S,V] = svd(A) Para resolver una ecuacin o un sistema de ecuaciones no lineales en SCILAB, se puede usar el comando: --> [x [,v [,info]]]=fsolve(x0,fct [,fjac] [,tol])

Tutorial de SCILAB

Slide 16 / 20

Integracin y EDO

SCILAB permite realizar integracin numrica utilizando la regla del trapecio usando el comando: --> [v] = inttrap([x,] y), SCILAB permite obtener soluciones numricas a problemas de valor inicial de la forma: dy/dx = f(x,y), dada la condicin inicial ( x0,y0). El comando a ser utilizado es: --> [y] = ode([type],y0,x0,x,f)

Tutorial de SCILAB

Slide 17 / 20

Polinomios

Los polinomios son creados en SCILAB usando el comando poly Para definir una variable polinomial: --> x = poly(0,x)

Para definir un polinomio en base a sus coeficientes: --> Polinomio = poly(c,x,coeff)

donde c es un vector que contiene los coeficientes en orden creciente


c = [ a0 a1 a2 a3 an ]

Para definir un polinomio en base a sus races: --> Polinomio = poly(r,x) donde r es un vector que contiene las races del polinomio r = [ r1 r2 rn ]

Tutorial de SCILAB

Slide 18 / 20

Grficos

Creamos grficos simples en 2 dimensiones (2-D): --> plot(x,y, "ttulo_eje_x","ttulo_eje_y","ttulo_del_grfico")

Para agregar una grilla para grficos simples en 2-D:


--> grid(n)

Para cambiar parmetros de: color, tipo de lneas, fondo, espesor de lneas, etc., se puede consultar: --> xset( )

Creamos grficos en 3 dimensiones: (3-D): --> plot3d(x,y,z[,theta,alpha,leyenda,flag,ebox]) donde theta y alpha son los ngulos (en grados sexagesimales) representado las coordenadas esfricas del punto de vista, leyenda contiene las leyendas identificadoras de los ejes

Tutorial de SCILAB

Slide 19 / 20

Funciones Adicionales
Otras funciones y comandos que SCILAB trae son herramientas como:

Toolbox de anlisis de sistemas y control Toolbox de control robusto Toolbox de optimizacin Toolbox de procesamiento de seales Toolbox para procesamiento paralelo Otros

Tutorial de SCILAB

Slide 20 / 20

También podría gustarte