Está en la página 1de 15

Tutorial Scilab, Neuta, Universidad Nacional de Colombia. Segundo semestre del 2010 – .

TUTORIAL SCILAB
Jairo Andrés Neuta Bernal - 261227
Universidad Nacional de Colombia
21 de noviembre del 2010
En este documento se presenta un sencillo tutorial sobre Scilab en su versión 5.1, aquí se hace una
descripción de 20 comandos básicos, cada uno con un ejemplo que muestra su aplicación en este
software usado para calculo científico y de uso programable. Scilab se caracteriza por manejar
datos de forma natural y sencilla, con un entorno fácil de manipular y escalar, con soporte para
librerías de desarrollo llamadas toolbox aplicadas al área de control lineal y no lineal ,
procesamiento de señales y análisis de redes entre otros temas.

Para comenzar es importante mencionar y hacer referencia a los autores de este programa, Scilab
fue desarrollado en INRIA, Institut National de Recherche en Informatique et Automatique;
reconocido como un excelente Instituto Francés, con la colaboraccion de la escuela de Ingenieros
ENPC, Ecole Nationale de ponts et Chaussées en el año de 1990, con la filosofía de software de
distribución libre bajo la licencia GPL.

1. Comando: asignación de variables de tipo escalar.

En mi concepto este comando es el más básico e importante que se debe manejar en


Scilab, ya que con este comando (constantes), nos permite asignar en memoria un
valor numérico a alguna de las letras disponibles del alfabeto, con el objetivo de
realizar alguna operación matemática posteriormente. Existen dos tipos de
constantes matemáticas; las constantes asignadas por los usuarios (ver figura 2) y
las constantes que vienen implementada en el paquete del programa, para hacer uso
de este tipo de constantes se debe preceder la constante por el símbolo “% “(ver
figura 5).
Con respecto a la asignación de constantes el procedimiento es el siguiente: Scilab
ofrece una ventana de trabajo con un ambiente muy amigable y práctico muy
similar a la que ofrece Matlab (ver figura 1).

Fig. 1 Consola de programación de Scilab.


Tutorial Scilab, Neuta, Universidad Nacional de Colombia. Segundo semestre del 2010 – . 2

En esta consola de programación, para realizar cualquier tipo de comando se debe


escribir frente al símbolo -- > (prompt) el comando deseado, ya que este símbolo inicializa
cada línea de la consola disponible para programar.

Si quiero asignar un valor numérico de tipo escalar a una letra del alfabeto, debo escribir en
consola la letra que quiero, seguido el símbolo = y posteriormente el valor numérico
deseado, luego de esto se oprime la tecla Enter, para que el comando se ejecutado y
mostrado en pantalla, pero si se desea que el valor de una asignación o operación no sean
mostrados en la pantalla, se debe terminar cada línea de comando con un punto y coma “;”.
Es importante mencionar que Scilab reconoce y diferencia las letras mayúsculas de las
minúsculas en el momento que se hace una asignación, también este programa soporta
valores numérico de carácter entero, con valores decimales, complejos entre otros. Esta
asignación se puede observar en la siguiente imagen:

Fig. 2 Consola de programación de Scilab


en la que se muestra asignación de variables.
Tutorial Scilab, Neuta, Universidad Nacional de Colombia. Segundo semestre del 2010 – . 3

En el momento que se desee eliminar o remover el valor numérico de tipo escalar asignado
a una letra se utiliza el comando “clear” y seguido la letra que se desea remover (ver
figura 3).

Fig. 3 Remover variable con comando clear.

Al escribir el comando de instrucción Who en consola, se logra saber con qué constantes se
está trabajando en la sesión de programación actual, es decir; muestra en una ventana
alterna que se abre las variables del programa, las variables que se han asignado por el
programador y muestra los elementos y variables que estoy usando del total de las ofrecidas
y soportadas por el programa (ver figura 4).

Fig.4 Conjunto de variables utilizadas en el programa


observadas mediante el comando Who.
Tutorial Scilab, Neuta, Universidad Nacional de Colombia. Segundo semestre del 2010 – . 4

Ahora para el caso de las constantes que vienen implementadas en el paquete del programa,
el procedimiento que se debe seguir para utilizarlas, es el siguiente:

Fig.4 Constantes implementadas en el paquete de Scilab.

2. Operaciones y funciones en Scilab:

Ahora que ya se conoce el procedimiento para declarar constantes, se puede


empezar a realizar operaciones entre las variables de tipo escalar; como sumas,
restas, multiplicaciones, divisiones, potencias, raíces y funciones como exponencial
de x o logaritmo de x entre otras.

Fig. 5 Suma de dos variables de tipo escalar en Scilab.


Tutorial Scilab, Neuta, Universidad Nacional de Colombia. Segundo semestre del 2010 – . 5

Fig. 6 Resta de dos variables de tipo escalar en Scilab.

Es importante mencionar que los paréntesis determinan un papel importante en las


operaciones matemáticas, ya que agrupan y organizan operaciones que pueden llegar a ser
complejas.

Fig. 7 Multiplicación y división de dos variables de tipo escalar en Scilab

El siguiente comando se utiliza para elevar una variable a una determinada potencia,
simplemente se hace uso del operando”^” o también se puede expresar como “**” (ver
figura 8).
Tutorial Scilab, Neuta, Universidad Nacional de Colombia. Segundo semestre del 2010 – . 6

Fig. 8 Potencia en Scilab

También es importante mencionar que para indicar al programa, que la instrucción en una
sentencia es demasiado larga y no se ha finalizado y que por ende debe continuar en la
siguiente línea de comando, se debe poner tres puntos al final de la sentencia de código.

Fig. 9 Función sqrt en Scilab.

Fig. 10 Función exp en Scilab.

En la figura 9 se puede observar el uso de sqrt que corresponde a una de las funciones
matemáticas más usadas como también lo son: sin, cos, abs, exp, log, max, min entre otras,
para hacer uso de estos comandos es necesario escribir el comando requerido seguido luego
de paréntesis, dentro de los cuales se escribirá la variable o argumento deseado. Es
importante mencionar que el argumento para el caso de las funciones trigonométricas debe
Tutorial Scilab, Neuta, Universidad Nacional de Colombia. Segundo semestre del 2010 – . 7

estar dado en radianes, pues el programa no reconoce el argumento en grados (ver figura
11).

Fig. 11 Función trigonometrica en Scilab.

Para las funciones trigonométricas se muestra la función correspondiente, el comando que


representa y el ejemplo de asignación en la línea de sentencia de la función, a una variable
determinada.

Fig. 12 Funciones trigonométricas en Scilab.1

Para consultar las funciones disponibles en el paquete de programación de Scilab se puede


hacer uso del comando “apropos function”; al ordenar este comando se abre una nueva
ventana que contiene todas las funciones matemáticas disponibles en el programa, cada una
tiene su descripción, modo de uso y un ejemplo que aclara la manera en que se debe usar
en Scilab.

3. Uso de Vectores y matrices:

Así como en los comandos anteriores se trabajo con valores escalares, también se puede
trabajar con vectores y matrices, Scilab permite representar variables físicas que son
expresadas mediante el uso de vectores; como por ejemplo la fuerza ejercida sobre un
cuerpo, la velocidad de un vehículo, entre otros fenómenos modelables.
Tutorial Scilab, Neuta, Universidad Nacional de Colombia. Segundo semestre del 2010 – . 8

En Scilab se puede trabajar con vectores fila y vectores columna, para introducir un
vector fila en la línea de comandos; primero se debe nombrar al vector, luego se usa el
signo de asignación “=” y posteriormente se dispone a ubicarse los componentes del
vector separados por espacio en blanco o comas y ubicados dentro de paréntesis
cuadrados. Para el caso en el que se quiera introducir un vector columna se nombra el
vector, se utiliza el signo “=” para asignar los valores del vector y finalmente se ubica
cada componente del vector; oprimiendo enter para escribir el componente de la otra
fila o separando cada componente con “;”, los componentes van en paréntesis
cuadrados (ver figura 13).

Fig. 13 Vectores fila y columna en Scilab.


Tutorial Scilab, Neuta, Universidad Nacional de Colombia. Segundo semestre del 2010 – . 9

Es importante mencionar que se puede generar un vector columna a partir de


un vector fila, utilizando la transpuesta del vector fila indicado por comilla
sencilla” ´” (ver figura 14).

Fig. 14 Vector columna mediante la transpuesta del vector fila en Scilab

Para representar un matriz en Scilab es muy sencillo pues requiere los pasos utilizados para
los vectores fila y columna, en este caso se puede representar una matriz de n*m; donde n
equivale al número de filas de la matriz y m al número de columnas presentes en la matriz.
La construcción de la matriz se hace siguiendo estos parámetros, primero es necesario
nombrar la matriz, luego se utiliza el signo de asignación “=” y finalmente dentro de
paréntesis cuadrados ubico los vectores fila separados por comas o espacios y para indicar
el siguiente vector fila finalizo el vector con un “;” (ver figura 15).

Fig. 15 Matriz en Scilab.

Para realizar el comando producto punto es necesario asignar un vector de n componentes


a una variable, a esta se le multiplica por la variable o el valor escalar deseado, como se
sabe el producto punto genera un escalar (ver figura 16).
Tutorial Scilab, Neuta, Universidad Nacional de Colombia. Segundo semestre del 2010 – . 10

Fig. 16 Producto punto en Scilab

Para hacer producto cruz se debe asignar dos vectores fila o dos vectores columna de la
misma dimensión, luego para realizar el comando se debe utilizar “.*” para realizar el
producto cruz, el cual generara como resultado un vector (Ver figura 17).

Fig. 17 Producto cruz en Scilab.

4. Usando polinomios:

Para manejar polinomios en Scilab, se hace de manera práctica, tan solo es necesario tener
claro si el polinomio que se va a crear se va hacer mediante la asignación de coeficientes y
la variables o si se hará introduciendo las raíces del polinomio y la variable con la que se
desea trabajar.

Si se opta por introducir los coeficientes y la variable a trabajar el proceso es el siguiente:


primero se le asigna un nombre al polinomio, luego se pone el símbolo de asignación “=” ,
posteriormente se escribe “poly” , luego se escribe dentro de paréntesis redondos las
características del polinomio, dentro de estos se escriben los coeficientes del polinomio que
van a su vez en paréntesis cuadrados y finalmente se separan los coeficientes de la variable
que está dentro de comillas sencillas mediante una coma, luego de la variable base del
polinomio se escribe separados por coma también dentro de comillas sencillas la letra ‘c’
que indica que el polinimio esta descrito por coeficientes y su variable (Ver figura 18).
Tutorial Scilab, Neuta, Universidad Nacional de Colombia. Segundo semestre del 2010 – . 11

Fig. 18 Polinomio con coeficientes en Scilab

Ahora si se opta por introducir las raíces y la variable a trabajar el proceso es el siguiente:
primero se le asigna un nombre al polinomio, luego se pone el símbolo de asignación “=” ,
posteriormente se escribe “poly” , luego se escribe dentro de paréntesis redondos las
características del polinomio, dentro de estos se escriben las raíces del polinomio que van a
su vez en paréntesis cuadrados y finalmente se separan los coeficientes de la variable que
está dentro de comillas sencillas mediante una coma (Ver figura 19).

Fig. 19 Polinomios con raíces en Scilab

Finalmente para integrar temas vistos en el curso de señales y sistemas II se va trabajar con
un ejercicio de la siguiente manera:

Se inicia escribiendo la función de transferencia de uno de los ejercicios desarrollados en


clase (ver figura 20).

Primero se asigna el polinomio a la variable “num” que representa el numerador de la


función de transferencia, para este ejercicio el polinomio es de grado cero, pues
simplemente es una constante, igualmente se asigna an la variable “den” el polinomio del
denominador de la función de transferencia con la que se va a trabajar (ver figura 19).
Tutorial Scilab, Neuta, Universidad Nacional de Colombia. Segundo semestre del 2010 – . 12

Fig. 19 Función de transferencia en Scilab

Tambien se puede utilizar el comando Syslin para asignar un sistema lineal a una variable
de la siguiente manera:

g=syslin('c',num/den);

Donde g es la variable que caracteriza la función de transferencia, c indica que esta


indicado por sus coeficientes donde num y den determinan el numerador y el denominador
de la función de transferencia respectivamente. En la siguiente figura se observa como
mediante el comando roots:

nombre=roots(poly([0 2 3 1],'s','c'))

Se logra obtener las raíces de un polinomio dado.

Fig. 20 Raíces de un polinomio en Scilab.


Tutorial Scilab, Neuta, Universidad Nacional de Colombia. Segundo semestre del 2010 – . 13

Ahora utilizando el comando Evans se logra obtener el lugar geométrico de las raíces de la
función de transferencia g (s) implementada mediante el comando (lista SYSLIN). Este es
el lugar geométrico de las raíces de * 1 + k H (s) * = 1 + N k (s) / D (s), en el plano
complejo. (Ver figura 21)
Tutorial Scilab, Neuta, Universidad Nacional de Colombia. Segundo semestre del 2010 – . 14

Fig. 21 Lugar geométrico de las raíces en Scilab.

El siguiente paso es graficar bode haciendo el siguiente comando:

Fig. 22 Diagrama de bode de la función de transferencia g(s) en Scilab.

Finalmente para obtener la respuesta al impulso, se ingresa el instante de tiempo y la


entrada, utilizando el comando siguiente:
Tutorial Scilab, Neuta, Universidad Nacional de Colombia. Segundo semestre del 2010 – . 15

Fig. 23 Diagrama de respuesta al impulso para g(s) en Scilab.

Bibliografia:

1) Fundamentos de Scilab y aplicaciones. Pdf, Andres Alfonso Caro y


Cesar Valero Sepúlveda, versión 0.1, 2004.

2) Scilab Computación Numérica bajo Linux y Windows, Andrés


Jiménez Jiménez, titulado superior de apoyo a investigación,
Universidad de Cádiz.