Scilab Licenciado - Facultad de Ciencias Económicas

Anuncio
Esta obra está bajo una licencia Reconocimiento-No comercial 2.5 Colombia de Creative
Commons. Para ver una copia de esta licencia, visite
http://creativecommons.org/licenses/by/2.5/co/ o envié una carta a Creative Commons,
171 Second Street, Suite 30 San Francisco, California 94105, USA
La información adicional que pudiera contradecir esta información es anulada.
SCILAB
Autores:
DIEGO FELIPE CORTES
BRAYAN RICARDO ROJAS ORMAZA
Tutor Investigación:
Coordinadores:
Coordinador Servicios Web:
Analista de Infraestructura y Comunicaciones:
Leidy Diana Rincón
Maria Alejandra Enrı́quez
Leydi Diana Rincón
Miguel Ibañez
Adelaida Amaya
Analista de Sistemas de Información:
Lı́der de Gestión de Recurso Humano:
Álvaro Enrique Palacios Villamil
Islena del Pilar Gonzalez
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
BOGOTÁ D.C.
JULIO 2006
SCILAB
Director Unidad de Informática: Henry Martı́nez
Tutor Investigación:
Leidy Diana Rincón
Auxiliares de Investigación:
ANDRES MAURICIO SALAMANCA
BRAYAN RICARDO ROJAS
CAMILO ERNESTO LOPEZ
CAMILO IBAÑEZ
CARLOS HERNAN PORRAS
CAROLINA RUBIANO OCHOA
CATHERINE CRUZ
CLAUDIA PATRICIA TOVAR
CRISTIAN GERARDO GIL
CRISTIAN JAVIER PEÑALOZA
DANIEL ENRIQUE QUINTERO
DANIEL ERNESTO CABEZAS
DIANA ESPERANZA OROZCO
DIANA KATHERINE SANCHEZ
DIANA PATRICIA TELLEZ
DIEGO FELIPE CORTÉS
EDSSON DIRCEU RODRÍGUEZ
EDWIN MONTAÑO
GUILLERMO ALBERTO ARIZA
HENRY ALEXANDER RINCON
HOOVER QUITIAN
JORGE ELIECER ROJAS
JUAN FELIPE RINCON
LEIDY CAROLINA RINCÓN
LEIDY VIVIANA AVILÉS
LUIS ALFONSO NIETO
LUZ KARINA RAMOS
MILLER GIOVANNY FRANCO
SANDRA LILIANA BARRIOS
SANDRA MILENA GOMEZ
SANDRA PAOLA RAMIREZ
SERGIO ORJUELA RUIZ
Este trabajo es resultado del esfuerzo de todo el equipo perteneciente a la Unidad de Informática.
Se prohı́be la reproducción parcial o total de este documento, por cualquier tipo de método
fotomecánico y/o electrónico, sin previa autorización de la Universidad Nacional de Colombia.
UNIVERSIDAD NACIONAL COLOMBIA
FACULTAD DE CIENCIAS ECONÓMICAS
UNIDAD DE INFORMÁTICA Y COMUNICACIONES
BOGOTÁ D.C.
JULIO 2006
2
TABLA DE CONTENIDO
1. RESUMEN
6
2. ABSTRACT
7
3. GENERALIDADES DE SCILAB
3.1. VENTAJAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. DESVENTAJAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
9
9
4. REQUERIMIENTOS
4.1. HARDWARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2. SOFTWARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
10
10
5. INSTALACIÓN
11
6. COMANDOS BÁSICOS
6.1. CREAR VARIABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2. OPERADORES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3. FUNCIONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
20
21
22
7. VECTORES Y MATRICES
23
8. PROGRAMACION
8.1. Generalidades . . . . . . . . . . .
8.2. Condicionales . . . . . . . . . . .
8.2.1. Comando IF . . . . . . . .
8.2.2. Comando SELECT-CASE
8.3. Bucles . . . . . . . . . . . . . . .
8.3.1. Comando FOR . . . . . .
8.3.2. Comando WHILE . . . . .
8.4. Funciones y scripts . . . . . . . .
8.5. OPERADORES . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
32
32
34
34
35
36
36
36
37
38
9. GRÁFICAS
40
10.MANEJO DEL ENTORNO SCILAB
43
11.TOOLBOXES
11.1. GROCER (ECONOMÉTRICO) . . . . . . . . . . . . . . . . . . . . . . . . .
46
50
12.INSTALACIÓN EN SUSE - LINUX
52
3
13.CURSO LIBRE SCILAB
54
14.ALCANCES
54
15.CONCLUSIONES
55
4
TABLA DE FIGURAS
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
PAGINA SCILAB . . . . . . . . . . . .
SELECCIÓN SISTEMA OPERATIVO
VERSION BINARIA . . . . . . . . . .
UBICACIÓN . . . . . . . . . . . . . .
IDIOMA . . . . . . . . . . . . . . . . .
INSTALACION . . . . . . . . . . . . .
LICENCIA . . . . . . . . . . . . . . .
CARPETA DE ARCHIVOS . . . . . .
COMPONENTES . . . . . . . . . . . .
MENU INICIO . . . . . . . . . . . . .
ADICIONAR TAREAS . . . . . . . .
INICIO DE INSTALACION . . . . . .
EXTRAER ARCHIVOS . . . . . . . .
INFORMACIÓN . . . . . . . . . . . .
FINALIZACIÓN DEL PROCESO . . .
EJECUTAR PROGRAMA . . . . . . .
ENTORNO DE TRABAJO . . . . . .
GRAFICA MATRIZ . . . . . . . . . .
Recta . . . . . . . . . . . . . . . . . .
Recta . . . . . . . . . . . . . . . . . .
MENU FILE . . . . . . . . . . . . . .
MENU EDIT . . . . . . . . . . . . . .
MENU PREFERENCES . . . . . . . .
MENU CONTROL . . . . . . . . . . .
MENU EDITOR . . . . . . . . . . . .
SCICOS . . . . . . . . . . . . . . . . .
EditGraph . . . . . . . . . . . . . . . .
MENU APLICATIONS . . . . . . . .
MENU AYUDA (?) . . . . . . . . . . .
INSTALACIÓN TOOLBOXES . . . .
INSTALACIÓN TOOLBOXES . . . .
RESULTADO 1 . . . . . . . . . . . . .
RESULTADO 2 . . . . . . . . . . . . .
5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11
11
12
12
13
13
14
14
15
15
16
16
17
17
18
18
19
41
42
42
43
44
45
45
45
46
47
47
47
49
49
51
52
SCILAB
1.
RESUMEN
En este trabajo de investigación, se podrá encontrar las nociones básicas para utilizar este
completo programa amparado por licencia de software libre, lo cual lo hace más accesible y
sujeto a colaboraciones que lo hacen cada vez más completo y potente.
El manual comienza con una introducción a lo que es el programa, sus generalidades, requerimientos tanto de hardware como de software y una guı́a de instalación en Windows.
En la segunda parte se exponen los comandos básicos de operación del programa, operaciones
matemáticas básicas tanto para números como para vectores y matrices, y una introducción
a la programación. Adicionalmente a esto, se ilustra acerca del manejo del entorno Scilab.
En la tercera parte, se explora un poco más a fondo la programación con la utilización de
funciones, además se muestran las funciones gráficas del programa.
En la cuarta y última parte, se muestra una introducción a los toolboxes de Scilab, su instalación; y el funcionamiento de uno en especial: GROCER, el cual es un toolbox econométrico.
También se hace una pequeña guı́a para la instalación de SCILAB en SUSE Linux, y una
profundización en la parte gráfica
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
6
SCILAB
2.
ABSTRACT
In this investigation work, the reader can find the Basic notions for use SCILAB, a very
complete and free license mathematic program, which makes more accessible and subject to
collaborations that make it more and more complete and powerful.
The manual begins with an introduction to the program, its generalities, hardware and software requirements, and an installation in Windows guide.
At the second section, are exposed the basic commands of program operation, mathematic
operations for numbers, matrices and vectors, and an introduction about programming. Additionally, show something about the handling of the Scilab surroundings.
At the third section, are explore more the programming using function, in addition, shows
the Scilab’s basic graphic functions.
At the fourth and last section, shows an introduction to de Scilab’s toolboxes, its installation
and the operation of one in special: GROCER, which is an econometric toolbox. Also, shows
an installation guide under suse-linux and a deepening of the graphic section.
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
7
SCILAB
3.
GENERALIDADES DE SCILAB
1
Scilab es una potente herramienta matemática similar a MATLAB la cual es su competencia directa, esta alternativa de Software Libre a sido desarrollada desde 1990 en el INRIA
(Instituto Nacional de Investigación en Informática y Control de Francia) y el ENPC (École
Nationale des Ponts et Chaussées), destinada a solucionar desde las operaciones más básicas
hasta los más complejos problemas matemáticos, estadı́sticos, econométricos etc. 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.
A parte de estos institutos se han únido varias empresas que han promovido el desarrollo de
esta herramienta conformando ası́ lo que se conoce como el Consorcio Scilab.
Scilab no es tan potente como Matlab, tiene la ventaja con respecto a este que es libre, es
decir, no hay que pagar por descargarlo, además SCILAB es multiplataforma puede trabajar
bajo Windows como bajo Linux y otras plataformas.
Para realizar diferentes acciones o tareas SCILAB cuenta con toolboxes (herramientas) que
sirven para poder realizar estos procesos estas son:
Gráficos 2-D y 3-D, animación
Álgebra lineal, matrices ralas
Polinomios y funciones racionales
Simulación: programas de resolución de sistemas de ecuaciones diferenciales (explı́citas
e implı́citas)
Scicos: 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
Interfase con el cálculo formal (Maple, MuPAD)
Interfase con TCL/TK
1 Tomado
de www.scilab.org
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
8
SCILAB
Econometrı́a
Una desventaja que posee este programa es que todo su contenido esta en dos versiones de
idioma en ingles y en francés reduciendo alternativas para un conocimiento apropiado de
esta herramienta.
3.1.
VENTAJAS
Aquı́ se presentarán algunas ventajas generales de SCILAB:
Es software libre permitiendo el acceso a cualquier persona sin ninguna restricción.
Permite su manipulación en cualquier plataforma (WINDOWS, LINUX, Sun,. . . )
Sus requisitos de hardware y software no son muy amplios.
El uso de toolboxes permite perfeccionar y completar diferentes aplicaciones no incluidas
en el programa básico.
Permite la interacción de diferentes lenguajes de programación como C++, JAVA. C y
FORTRAN.
Su lenguaje de programación es similar al de MATLAB, por lo tanto usuarios de MATLAB pueden desempñarse muy bien en SCILAB,
3.2.
DESVENTAJAS
Se mencionaran algunas desventajas generales del programa:
Presentación en sólo 2 idiomas dificulta el aprendizaje
Es necesario tener conocimientos previos sobre programación o manejo de MATLAB
para un desempeño ágil y eficaz
Su entorno gráfico no es muy amigable
4.
REQUERIMIENTOS
Para un correcto desempeño de SCILAB son necesarios algunos requisitos mı́nimos en cuanto
aspectos de hardware y software que se mencionarán.
Se menciona que hay una versión binaria la cual es ejecutable desde diversas plataformas,
los requerimientos que se mencionan a continuación corresponden especialmente para esta
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
9
SCILAB
versión sin embargo para diferentes versiones los requerimientos son similares.
4.1.
HARDWARE
Los requerimientos fı́sicos para una correcta ejecución de SCILAB son;
En disco duro mı́nimo 80 MB
Unidad de CD si se ha descargado a través de un CD
32 MB en RAM
Pantalla, mouse y teclado
4.2.
SOFTWARE
Como es multiplataforma los requerimientos de software pueden variar pero aquı́ se mencionan algunos:
Para Windows versiones disponibles para 95, 98, NT, 2000 y XP
Linux SUSE, Red Hat, debian y Mandrake
Sun Sparc ( Sun OS4.1.3.)y Sun Sparc ( Sun Solaris 2.3)
HP 9000 ( HP-UX 9.01 )
IBM-RS6000 ( AIX 3.2)
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
10
SCILAB
5.
INSTALACIÓN
Para poder tener una buena referencia para consultas futuras de este documento se ha hecho
necesaria la inclusión del proceso de instalación de SCILAB bajo entorno Windows.
Para poder realizar la instalación se puede realizar por tres mecanimos.
1. Internet
2. CD
3. Red
El proceso que se presentará será el realizado desde Internet directamente desde la página oficial de SCILAB (www.scilab.org) y ahı́ se encuentra el link Download SCILAB 4.0 (figura 1)
Figura 1: PAGINA SCILAB
A continuación se escoge el sistema operativo sobre el cual de quiere instalar. En este caso
serı́a Windows. (figura 2)
Figura 2: SELECCIÓN SISTEMA OPERATIVO
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
11
SCILAB
Posteriormente se escoge el instalador para la versión binaria. (figura 3)
Figura 3: VERSION BINARIA
En el cuadro de diálogo que aparece hacemos clic en Abrir. Si se desea guardar el instalador entonces se hace clic en guardar y luego se escoge la ubicación en la que se quiere
guardar.(figura 4)
Figura 4: UBICACIÓN
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
12
SCILAB
En este paso se escoge el idioma para la instalación solo están disponibles inglés y francés.
(figura 5)
Figura 5: IDIOMA
Después de esto se comienza a hacer clic en Next repetidamente. (figura 6)
Figura 6: INSTALACION
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
13
SCILAB
No olvidar que hay que aceptar los términos de la licencia. (figura 7)
Figura 7: LICENCIA
Se selecciona la carpeta donde se guardaron los archivos compilados (figura 8)
Figura 8: CARPETA DE ARCHIVOS
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
14
SCILAB
Posteriormente se debe seleccionar que tipo de componentes desean instalar. (figura 9)
Figura 9: COMPONENTES
Se puede definir el nombre para determinarlo en el menú inicio. (figura 10)
Figura 10: MENU INICIO
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
15
SCILAB
Adicional a los componentes mencionados anteriormente se pueden agregar algunas tareas
como asociar diferentes tipos de archivos para que se ejecuten desde SCILAB (figura 11)
Figura 11: ADICIONAR TAREAS
Agregados los nuevos componentes se procede a iniciar la instalación de SCILAB 4.0 (figura
12)
Figura 12: INICIO DE INSTALACION
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
16
SCILAB
Aceptado el inicio de la instalación se empiezan a extraer los archivos. (figura 13)
Figura 13: EXTRAER ARCHIVOS
Terminada la instalación el sistema da una información sobre el proceso. (figura 14)
Figura 14: INFORMACIÓN
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
17
SCILAB
El sistema informa sobre la finalización del proceso y la posibilidad de crear un acceso directo
en el escritorio del equipo. (figura 15)
Figura 15: FINALIZACIÓN DEL PROCESO
Se desplaza una ventana emergente que da la opción de observar un archivo de texto sobre
el proceso de la instalación y si desea ejecutar el programa. (figura 16)
Figura 16: EJECUTAR PROGRAMA
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
18
SCILAB
Finalmente se presenta el entorno de trabajo de SCILAB 4.0 (figura 17)
Figura 17: ENTORNO DE TRABAJO
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
19
SCILAB
6.
COMANDOS BÁSICOS
Los comandos se ejecutan en la ventana de comandos en la cual aparece −− > lo cual nos
indica que en está lı́nea se debe proceder a redactar el comando que deseamos ejecutar.
6.1.
CREAR VARIABLES
Para la creación de variables es necesario colocar el nombre de la variable y el valor que se
le asigna, esto para variables con valores puntuales, por ejemplo:
x = 2,52
Este comando nos genera la variable x imprimiendo la siguiente lı́nea:
x =
2.52
Scilab distingue las variables entre mayúsculas y minúsculas al igual que los comandos,
es necesario una buena especificación gramatical para obtener buenos resultados, es decir,
"A" es diferente de "a".. Se anota que después del nombre de la variable se da un espacio t un igual y otro espacio t y el valor, aunque esto no es del todo necesario pero permite
una mayor comprensión de los comandos.
La sintaxis es ası́: a = 5, ahı́ SCILAB sabrá que la variable "a" tendrá un valor de 5. Si
solamente se digita un valor sin asignárselo a ninguna variable, SCILAB creará automáticamente una llamada ”ans” y le asignará dicho valor.
Si deseamos que Scilab no imprima la variable como lo observamos en el ejemplo anterior
utilizamos punto y coma después del valor de la variable insertada para poder evitar que
nos aparezca de nuevo la variable con su valor.
;
Los valores que se le asignan a cada variable pueden aparecer en diferentes formatos es decir
que si se desea expresar el valor de la variable en términos decimales es valido al igual que
en notación cientı́fica, además, si se quieren hacer cálculos dentro de la misma variable se
permiten.
brayan = 875e52
diego = 52/986532
brayan =
diego =
8.750D+54
0.0000527
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
20
SCILAB
Se menciona que no se deben dejar espacios para los nombres de las variables, en este caso se
debe asignar carácteres especiales como $, !, ?, , # para el registro de las variables
sin producir error.
6.2.
OPERADORES
Para poder realizar las operaciones básicas y algunas básicas de la matemática utilizamos
los siguientes operadores:
OPERADOR
+
−
/
∗
∧
∗∗
OPERACIÓN
suma
sustracción
Inverso aditivo
División
Multiplicación
Potenciación
Para hacer operaciones entre variables o entre constantes, también es bastante sencillo, basta con escribir la variable, el operador aritmético o el que se necesite y la otra variable
(Ejm : c = 2 ∗ 9; b = a + 5). Acá ocurre igual que en la definición de variables, si no se le
asigna a ninguna variable el valor de la operación, este será asignado a la variable ”ans”.
De igual manera que otros programas SCILAB ejecuta las órdenes de operación de acuerdo
a su prioridad por ejemplo si agregamos la siguiente función:
x = (4∧ 5) ∗ (2 + (6/2))
x=
5120
Realizando primero la potenciación, luego la multiplicación o división y por último la suma
o la resta. Se anota que SCILAB reconoce como sı́mbolos de agrupación los paréntesis ( ),
de esta manera se realizaran cálculos más acertados y precisos, en el caso en que no se hubieran colocado paréntesis el resultado hubiera sido 2051, que no es el mismo que utilizando
sı́mbolos de agrupación.
Incluyendo la unidad anterior se incluye que si tenemos definidas dos variables se pueden
realizar operaciones entre estas variables, a través de los operadores descritos anteriormente
o por medio de funciones como las veremos en la siguiente unidad.
Por ejemplo:
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
21
SCILAB
x = (4∧ 5) ∗ (2 + (6/2))
y = (5 ∗ 8) + ((2/5)∧ 2)
y=
40.16
x∗y
ans =
205619.2
En este caso no es necesario definir otra variable, SCILAB reconoce la operación y define el
resultado como ANS refiriéndose a la respuesta del proceso anterior.
6.3.
FUNCIONES
Hay a parte de las operaciones aritméticas básicas un conjunto de funciones que se relacionan a la trigonometrı́a, al cálculo y a otras divisiones de la matemática., en esta sección
trataremos algunas de ellas la cuales se describen a continuación, se deja como ejercicio al
lector realizar pruebas de estas funciones.
Por generalidad para poder ejecutar una función, puedo ejercerlo de dos maneras, la primera
le asigno una variable a la función por ejemplo:
Z = abs(x)
La segunda opción es no incluir la función dentro de una variable de la siguiente forma:
abs(x)
Las dos formas darán el mismo resultado, de igual manera se pueden realizar operaciones
dentro de las funciones por ejemplo: abs(x ∗ y) o abs(2 ∗ 9), es necesario que después del
nombre de la función se registre la variable o la operación dentro de ( ) paréntesis.
En esta sección trataremos algunas de ellas la cuales se describen a continuación, se deja
como ejercicio al lector realizar pruebas de estas funciones.
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
22
SCILAB
FUNCIÓN SCILAB
abs()
acos
acosh
asin
asinh
atan
atanh
ceil
cos
cosh
cotg
coth
exp
fix
floor
int
log
log10
log2
max
min
modulo
rand
round
sin
sinh
sqrt
tan
tanh
7.
DESCRIPCIÓN
Imprime el valor absoluto
Inverso del coseno
Inverso hiperbólico del coseno
Inverso del seno
Inverso hiperbólico del seno
Inverso de la tangente
arcotangente hiperbólica
parte entera superior
coseno
coseno hiperbólico
cotangente
cotangente hiperbólica
función exponencial
redondeo hacia cero (igual a int)
parte entera inferior
redondeo hacia cero (igual a fix)
logaritmo natural
logaritmo decimal
logaritmo en base dos
máximo
mı́nimo
residuo entero
número aleatorio
redondeo
seno
seno hiperbólico
raı́z cuadrada
tangente
tangente hiperbólica
VECTORES Y MATRICES
Los vectores y las matrices son por decirlo ası́, el alma de SCILAB, ya que es sobre lo que
más se trabaja, y lo que más tiene aplicación práctica.
Para saber como definir una matriz primero tenemos que comenzar por lo más básico: definir
una variable lo cual se realizo en la unidad anterior.
En SCILAB no se trabajan vectores ya que estos son tratados como matrices nx1 o 1xn
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
23
SCILAB
según sean fila o columna. La definición de estas es bastante sencilla. Se hace entre corchetes
y separando cada fila de la siguiente por un punto y coma, y los datos de la fila se separan
con un espacio, ası́:
A = [f ila1; f ila2; . . . ; f ilan], y las filas se definen:
dato1 dato2 dato3 . . . daton , pueden ser separados por espacios o por comas.
Ej: al escribir esta matriz: A = [1 2 3; 4 5 6; 7 8 9]
El programa almacenará la matriz y ası́ la mostrará al usuario:
A=
1. 2.
4. 5.
7. 8.
3.
6.
9.
Hay una forma para definir los vectores largos más rápidamente: consiste en que al momento
de hacer la definición se escribe primero el valor inicial, separado por dos puntos seguido se
escribe el incremento que se quiere y al final se escribe el valor final, ası́: b = [2 : 0,3 : 3],
esto es lo mismo que escribir b = [2 2,3 2,6 2,9], obviamente es solo cuando se tiene un
incremento constante. Si el incremento es 1, no hay necesidad de escribirlo.
SCILAB cuenta con unas matrices predefinidas que sirven para hacer operaciones comunes
en temas como econometrı́a u otros. Estas son:
Matriz de unos de tamaño n*m: ones(n,m).
-->ones(5,5)
ans =
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
Matriz de ceros de tamaño n*m: zeros(n,m).
-->zeros(5,5)
ans =
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
24
SCILAB
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
Matriz aleatoria tamaño n*m: rand(n,m).
-->rand(5,5)
ans =
0.5935095
0.5015342
0.4368588
0.2693125
0.6325745
0.4051954
0.9184708
0.0437334
0.4818509
0.2639556
0.4148104
0.2806498
0.1280058
0.7783129
0.2119030
0.1121355
0.6856896
0.1531217
0.6970851
0.8415518
0.4062025
0.4094825
0.8784126
0.1138360
0.1998338
Matriz identidad de orden n: eye(n,n).
-->eye(5,5)
ans =
1.
0.
0.
0.
0.
0.
1.
0.
0.
0.
0.
0.
1.
0.
0.
0.
0.
0.
1.
0.
0.
0.
0.
0.
1.
Si se ponen números distintos, las filas o columnas que sobren serán de ceros.
Para seleccionar un dato ubicado en una matriz simplemente se da el nombre de la matriz
y enseguida entre paréntesis la ubicación ası́: A(2,1): de la matriz A se escoge el valor que
está en la fila 2 y en la columna 1. Para seleccionar la fila n se escribe A(n,:) y para seleccionar la columna m se escriba a(:,m).
Las operaciones entre matrices tienen las restricciones normales. La suma y la resta debe
ser entre matrices de tamaños iguales, la multiplicación se debe hacer entre matrices tales
que el número de columnas de la primera sea igual al número de filas de la segunda y ası́.
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
25
SCILAB
Las operaciones se escriben normalmente. En lo único que hay que tener cuidado es en la
multiplicación, ya que el producto punto (multiplicando dato por dato) se escribe .* y el
producto cruz (el que es toda la fila por toda la columna) se escribe solo *
Ejm: El producto punto entre A y B es A.*B y el producto cruz es A*B.
De igual manera se debe poner atención en la potenciación de matrices. Si se escribe A.∧ n
se elevará al cuadrado elemento por elemento2 , mientras que si se escribe A∧ n, se eleva la
matriz a la n. (para esto último, A debe ser una matriz cuadrada).
Hay diversas funciones que SCILAB trae hechas previamente para usar con las matrices. A
continuación unas de ellas 3 :
rank(a) calcula el rango de a.
det(c) determinante de una matriz cuadrada c.
>b = [rand(5,5)]
b =
0.3303271
0.6653811
0.6283918
0.8497452
0.6857310
0.8782165
0.0683740
0.5608486
0.6623569
0.7263507
0.1985144
0.5442573
0.2320748
0.2312237
0.2164633
0.8833888
0.6525135
0.3076091
0.9329616
0.2146008
0.312642
0.3616361
0.2922267
0.5664249
0.4826472
-->det(b)
ans =
0.0216762
inv(c) inversa de una matriz cuadrada e invertible c.
>inv(b)
ans =
- 1.5807721
1.0244939
1.3429427
0.4352852
- 0.0917186
2 Notese
- 0.7829656
- 0.5187676
2.302367
- 0.0159412
0.8676194
4.147227
1.1357003
- 0.2743768
0.0338309
- 7.4933959
1.2110069
- 1.0414012
- 3.058274
0.9951557
0.7758052
que se incluye el punto para que se haga el procedimiento elemento por elemento
Héctor, ”Introducción a SCILAB”.Universidad Nacional de Colombia, Bogota,2005
3 MORA.
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
26
- 2.3215931
0.2596076
1.1602333
- 1.458396
5.1077625
SCILAB
rref(a) matriz escalonada reducida por filas equivalente a a.
-->rref(b)
ans =
1.
0.
0.
0.
0.
0.
1.
0.
0.
0.
0.
0.
1.
0.
0.
0.
0.
0.
1.
0.
0.
0.
0.
0.
1.
diag(c) produce un vector columna con los elementos diagonales de la matriz cuadrada
c.
-->diag(b)
ans =
0.3303271
0.0683740
0.2320748
0.9329616
0.4826472
Si utilizamos [y, k] = sort(x): y es el vector ordenado de manera decreciente, k es un
vector que contiene los ı́ndices del ordenamiento, o sea, y = x(k).
Por ejemplo:
c = [1 : 1 : 5; 6 : 1 : 10; 11 : 1 : 15; 16 : 1 : 20; 21 : 1 : 25]
c
=
1.
6.
11.
16.
21.
2.
7.
12.
17.
22.
3.
8.
13.
18.
23.
4.
9.
14.
19.
24.
5.
10.
15.
20.
25.
22.
21.
-->[y,k] = sort(c)
k =
25.
24.
23.
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
27
SCILAB
y
20.
15.
10.
5.
=
19.
14.
9.
4.
18.
13.
8.
3.
17.
12.
7.
2.
16.
11.
6.
1.
25.
24.
23.
22.
21.
20.
19.
18.
17.
16.
15.
14.
13.
12.
11.
10.
9.
8.
7.
6.
5.
4.
3.
2.
1.
b = sort(a) ordena la matriz a de manera decreciente, considerando cada matriz como
un vector formado por la primera columna, la segunda columna, . . ., la ultima columna.
>sort(c)
ans =
25.
24.
23.
22.
21.
20.
19.
18.
17.
16.
15.
14.
13.
12.
11.
10.
9.
8.
7.
6.
5.
4.
3.
2.
1.
b = sort(a, ’r’) ordena la matriz a de manera decreciente por columnas. Atención,
aunque ’r’ tiene un significado interno de filas, el resultado externo es un ordenamiento
de las columnas.
Si continuamos con nuestra matriz c, entonces:
>c = sort(c,’r’)
c =
21.
16.
11.
6.
1.
22.
17.
12.
7.
2.
23.
18.
13.
8.
3.
24.
19.
14.
9.
4.
25.
20.
15.
10.
5.
b = sort(a, ’c’) ordena la matriz a de manera decreciente por filas. Atención, aunque
’c’ tiene un significado interno de columnas, el resultado externo es un ordenamiento de
las filas.
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
28
SCILAB
-->c = sort(c,’c’)
c =
25.
20.
15.
10.
5.
24.
19.
14.
9.
4.
23.
18.
13.
8.
3.
22.
17.
12.
7.
2.
21.
16.
11.
6.
1.
m = max(x) calcula el máximo del vector (fila o columna) x o de la matriz a.
Si [m, k] = max(x): m es el máximo del vector x o de la matriz a, k indica la posición
donde está el máximo.
>[m,k] = max(c)
k =
m
5.
=
5.
25.
m = max(a, ’r’) : m es un vector fila (row) que contiene los máximos de las columnas
de a.
>max(c,’r’)
ans =
21.
22.
23.
24.
25.
Cuando se utiliza [m, k] = max(a, ’r’) : m es un vector fila que contiene los máximos
de las columnas de a, k es un vector fila que contiene las posiciones de los máximos.
min semejante a max pero para el mı́nimo.
-->min(c)
ans =
1.
m = mean(x) calcula el promedio del vector (fila o columna) x o de la matriz.
-->mean(c)
ans =
13.
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
29
SCILAB
m = mean(a, ’r’) : m es un vector fila (row) que contiene los promedios las columnas
de a.
-->mean(c,’r’)
ans =
11.
12.
13.
14.
15.
m = mean(a, ’c’) : m es un vector columna que contiene los promedios las filas de a.
-->mean(c,’c’)
ans =
3.
8.
13.
18.
23.
median semejante a mean pero para la mediana.
-->median(c)
ans =
13
st deviation semejante a mean pero para la desviación estándar.
-->st_deviation(c)
ans =
7.3598007
sum semejante a mean pero para la suma.
-->sum(c)
ans =
325.
prod semejante a mean pero para el producto.
-->prod(c)
ans =
1.551D+25
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
30
SCILAB
norm(x) calcula la norma euclidiana del vector x (fila o columna).
-->norm(c)
ans =
74.254054
La orden fc = size(a) proporciona un vector fila 1 * 2 con el número de filas y el número
de columnas de a.
-->size(c)
ans =
5.
5.
La orden size(a,1) proporciona el número de filas de a. Análogamente, size(a,2) proporciona el número de columnas de a
Por medio de tril se puede obtener la parte triangular inferior (low) de una matriz
cuadrada.
Por ejemplo:
-->tril(c)
ans =
1.
6.
11.
16.
21.
0.
7.
12.
17.
22.
0.
0.
13.
18.
23.
0.
0.
0.
19.
24.
0.
0.
0.
0.
25.
La función triu produce la parte triangular superior (upper).
-->triu(c)
ans =
1.
0.
0.
0.
0.
2.
7.
0.
0.
0.
3.
8.
13.
0.
0.
4.
9.
14.
19.
0.
5.
10.
15.
20.
25
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
31
SCILAB
Si a es una matriz cuadrada, por medio de v = spec(a) se obtiene un vector columna
con los valores propios (reales o complejos) de a.
-->spec(c)
ans =
- 3.6420807
68.642081
- 7.375D-16 + 2.439D-15i
- 7.375D-16 - 2.439D-15i
9.209D-16
Con la orden [v, s] = spec(a) se obtiene la matriz v cuyas columnas son vectores propios
y la matriz diagonal s cuyos elementos diagonales son los valores propios.
Como podemos ver, el manejo de matrices en SCILAB es muy completo, además de ser muy
sencillo. Y lo mejor es que si hubiese algo que le falte, con la parte de programación que se
verá en el siguiente capı́tulo, se puede complementar, creando nuevas funciones.
8.
8.1.
PROGRAMACION
Generalidades
El lenguaje de programación de SCILAB es un lenguaje de alto nivel para programación
matemática. Los lenguajes de alto nivel son los que se pueden usar en cualquier computador
y simplifican mucho la labor del programador ya que solo se debe conocer la sintaxis básica
y el orden correcto de las instrucciones que se deben escribir, El lenguaje de SCILAB Tiene
elementos de C++ y del lenguaje de MATLAB, y para alguien que ya está un poco familiarizado con estos dos lenguajes, será más sencillo aprender a programar con el.
Hay dos tipos de programas que se pueden hacer: las FUNCIONES que son las que reciben
datos y hacen operaciones con ellos, por ejemplo, se hace una función que recibe dos datos:
A y B, y luego los sume. Otro ejemplo serı́a una función que reciba una matriz y calcule su
derivada. Luego tenemos los SCRIPTS, que son el otro tipo de programas, los cuales sirven
para que SCILAB coja las funciones y les haga algo como graficarlas o hacer operaciones
entre ellas.
Para programar en SCILAB se debe hacer desde el SCIPAD que es como un block de notas el
cual se encuentra en el menú Editor de la barra de menús de la pantalla principal. También
se puede digitar el programa desde el block de notas de windows, y al guardarlo se le pone
extensión .sci que es la caracterı́stica de las funciones.
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
32
SCILAB
Para saber en que carpeta se guardan los archivos se ejecuta la orden ”pwd”, allı́ se deberán
guardar todos los archivos para que SCILAB los pueda correr después cuando se necesite
dentro de una aplicación hecha por cada persona. Generalmente al instalar el programa, la
carpeta que trae predefinida es el escritorio, pero se puede cambiar, ejecutando desde la pantalla de SCILAB el comando ”chdir” seguido de la nueva dirección de la carpeta que se eligió.
La programación en scilab es muy intuitiva, para la persona que ya conoce C++ o MATLAB, será muy fácil familiarizarse con este entorno. Comenzando por la sintaxis, la cual es
muy parecida, ası́ como lo es la estructura, aunque esta es más simplificada, y por lo tanto hay que ponerle mucho cuidado y ser muy ordenado programando, para evitar confusiones.
Para comenzar, la programación se hace como si uno estuviera dando órdenes en la pantalla
principal de SCILAB, es decir, no hay que escribirle un encabezado a el programita, sino
que se comienza de una a ejecutar los comandos.
Como primer ejemplo, para sumar dos números que el usuario escoja, se utilizan dos comandos que van a ser muy importantes de ahora en adelante: ”input ”disp”. El input sirve para
ingresarle datos al programa, mostrando un mensaje para que el usuario sepa que es lo que
debe digitar; y el disp sirve para mostrar los datos de salida, es decir, después de realizadas
las operaciones, muestre los resultados.
2
Ahora sı́, al ejemplo:
A=input(’Digite el primer numero’);
B=input(’Digite el segundo número’);
C=A+B;
disp(C)
Los dos primeros comandos, son los que hacen que el programa lea los números que va a
sumar. La leyenda que se va a mostrar se escribe entre comillas para que el programa sepa
que no es una instrucción.
La tercera lı́nea es la que hace la operación. Como se puede observar, no tiene ninguna sintaxis extraña, solo realiza la operación tal y como está escrita.
La última instrucción es la que muestra el resultado de la suma.
Si el lector es buen observador, habrá notado que al final de cada instrucción se escribe un
punto y coma, esto es para que el programa no vaya escribiendo cada paso los resultados
parciales, sino que todo salga a lo último, ası́ que este punto y coma es opcional.
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
33
SCILAB
Con este sencillo ejemplo, nos damos cuenta de lo básico e intuitivo que es hacer operaciones
numéricas. Basándonos en el, podemos hacer operaciones más complicadas, ya que la sintaxis
básica es la misma.
Para ejecutar los programas hechos, primero hay que guardarlos, lo cual se hace como
cualquier documento normal. Luego de haberlo guardado, se ejecuta desde la pantalla principal de SCILAB, con el comando .exec ”seguido del nombre con el que se guardó el programa.
Ası́, para el ejemplo anterior, lo guardamos con el nombre ”suma ”, y desde la pantalla
principal de SCILAB se escribe .exec suma ası́ se ejecutará el programa.
2
8.2.
8.2.1.
Condicionales
Comando IF
Es el condicional más sencillo y usado. Su sintaxis es la siguiente:
If condición1 then
instrucciones
Elseif condición2 then
instrucciones
Else
instrucciones
End.
Esto es para cuando hay más de dos resultados posibles para la condición, pero si solo es
una condición con dos posibles resultados, se puede prescindir del comando .elseif ”.
Ahora vamos a ampliar el primer ejemplo, agregándole una condicional. La idea es que se
ingresen dos números, y si el primero es mayor que el segundo, se sumen; si son iguales, se
haga una operación (2A+3B); y si el primero es menor, se multipliquen.
A=input(’Digite el primer numero’);
B=input(’Digite el segundo número’);
if A¿B then;
C=A+B;
elseif A==B then; -¿acá se escribe doble igual para hacer comparaciones.
C=2*A+3*B;
else
C=A*B;
end;
disp(C);
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
34
SCILAB
Acá vemos como se aplica el ”if”, aplicando las condicionales en las lı́neas 3, 5 y 7, y seguido
a cada condicional, la instrucción que se debe aplicar en cada caso.
También se pueden hacer condicionales anidadas (un if dentro de otro if). Para hacer esto es
importante tener mucho orden en la programación, ya que es fácil perderse. La sintaxis para
hacer estas condicionales anidadas es la misma que para una simple. Usarlas o no depende
de la complejidad del programa que se vaya a hacer.
8.2.2.
Comando SELECT-CASE
Este comando mira el valor de una variable, y si es igual a cierto valor, ejecuta las instrucciones respectivas. Este comando es indicado para hacer menús, o para condicionales que
puedan tomar un gran número de diferentes valores.
A continuación se presenta un ejemplo en el cual saldrá un menú que pregunta que se desea
hacer con 2 números previamente digitados. Es como una especie de menú.
a=input(’Digite el primer numero’);
b=input(’Digite el segundo numero’);
disp(’1. suma’);
disp(’2. resta’);
disp(’3. Multiplicación’);
disp(’4. División’);
c=input(’Digite el número de la operación que desee realizar’);
select c
case 1
d=a+b;
case 2
d=a-b
case 3
d=a*b
case 4
d=a/b
else
break
end
disp(d);
La variable sobre la que se hace la revisión es la variable c. según el número que se entre
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
35
SCILAB
(1,2,3 ó 4), el programa hará una operación distinta sobre los números.
Este programa también se podrı́a hacer con el comando IF, pero la programación serı́a más
larga y compleja. Digamos que estos dos comandos no compiten sino que cada uno tiene su
sector bien definido.
8.3.
8.3.1.
Bucles
Comando FOR
Este comando se usa para realizar una acción mientras que una variable está entre un
rango previamente definido. La forma de escribirlo es sencilla: For variable=lı́mite inferior:incremento:lı́mite superior. Pero es más fácil explicarla con un ejemplo: for a=1:0.2:4.
Acá la variable a se moverá desde 1 hasta 4 con incrementos de 0.2. Cuando el incremento
es 1, no hay necesidad de escribirlo.
A continuación, un ejemplo que calcula la distancia que hay entre dos números.
a=input(’Digite el numero menor’);
b=input(’Digite el numero mayor’);
c=0
for i=a:b-1
c=c+1
end
disp(c);
Se ve que se definen 2 variables nuevas: i y c. La variable i sirve como guı́a de las veces que
se habrá de repetir el bucle, y la variable c es un acumulador, en la que se irán guardando
el número de pasos, y al final este número será el que se muestra.
El comando for también se puede usar de forma anidada, para programas más complejos, en
general, para los programas en los que se usan matrices. Más adelante veremos ejemplos de
estos casos.
8.3.2.
Comando WHILE
Como su nombre lo indica, el comando While (mientras que...) hace que se ejecute una instrucción mientras que se cumpla una condición. Es muy parecido al comando For, sirven
para lo mismo, pero se puede usar a discreción del usuario, según la conveniencia o preferencia.
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
36
SCILAB
Ahora vamos a hacer el mismo ejemplo anterior pero usando el comando While
a=input(’Digite el numero menor’);
b=input(’Digite el numero mayor’);
c=0
while c¡b-a
c=c+1
end
disp(c);
se ve el cambio en la lı́nea 4 del programa, en vez del for, se usa el while y cambia la restricción que debe cumplir para que se ejecuten las instrucciones. También se ve que desaparece
la variable i, ya que no es necesaria porque la restricción está planteada sobre la variable c.
Como vemos, estos dos comandos son muy similares, ası́ que en la mayorı́a de los casos es
indiferente cual de los dos se use en un programa. Las facilidades y ventajas de uno contra
el otro se irán viendo a medida que se hagan programas, con la experiencia.
Esta es la programación básica de SCILAB, de aquı́ en adelante será todo con base en lo
que acabamos de ver, pero ya con otras aplicaciones, como en matrices.
8.4.
Funciones y scripts
Para ilustrar las funciones y los scripts, tenemos este ejemplo en el cual se crea primero la
siguiente función:
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
en la cual se crean las matrices X y Y y se devuelve su derivada; luego este se guarda con el
nombre de vdp.sci. A continuación creamos el siguiente script:
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);
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
37
SCILAB
x=yt(1,:);
y=yt(2,:);
plot2d(x,y,2)
el cual invoca la función anteriormente creada (instrucción getf vdp.sci) y luego devuelve la
gráfica.
Las funciones no se pueden correr desde la pantalla de SCILAB solas, necesitan un script
porque de ellos es que toman los datos para hacer sus operaciones. De esta forma la programación se puede hacer de forma ordenada ya que se guardan los procedimientos por aparte
evitando los programas muy largos en los cuales es más posible enredarse y cometer errores.
8.5.
OPERADORES
Al ser un lenguaje de alto nivel, y estar basado en C y en MATLAB, el lenguaje de SCILAB
usa los mismos operadores que estos, como son el condicional IF acompañado de ELSEIF,
que sirve para que el programa haga algo si se cumple una condición y haga otra cosa si
no se cumple; los bucles FOR y WHILE que hacen cierto proceso mientras se cumple una
condición; y el SELECT acompañado del CASE que hace algo si cierta variable tiene cierto
valor.
Para IF, la sintaxis es igual que en C, comenzando con IF, luego la secuencia de comandos;
luego ELSE (opcional) y al final END. Todo se puede escribir en una sola lı́nea separado
por comas, pero no es recomendable por los programadores ya que se puede prestar para
confusiones.
Para FOR, se escribe el comando luego la variable seguida de el valor inicial, el incremento y
el valor final (como en la definición de vectores con incremento constante vista en el capı́tulo
anterior), separados por dos puntos. Por ejemplo FOR a = 4:.2:10; esto quiere decir que
la variable comienza en 4, se incrementa de a 0.2 y finaliza en 10, mientras esto ocurra la
iteración se repetirá. La estructura se finaliza con el comando end.
Para W HILE se escribe el comando, luego la condición, y luego el programa y se finaliza
con un end. Un ejemplo serı́a: W HILEa < 10 . . . .EN D.
Para SELECT, se escribe la variable que se quiere y luego se escribe CASE y los diferentes
valores que deberı́a tomar, seguido de cada uno irı́a la secuencia del programa.
El BREAK se usa para interrumpir un bucle bruscamente. El RETURN y el ABORT sirven
para interrumpir una función.
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
38
SCILAB
Para que el programa muestre algo en pantalla se usa el comando DISP y entre paréntesis
los datos que quiere que muestre; también puede usar PRINTF (de la misma forma que su
homólogo de C)
A continuación se exponen algunos ejemplos de estos operadores4 :
En este ejemplo usando el operador FOR el programa devuelve los cuadrados del 1 hasta el
10.
m=[];
for m = 1:10
a(m) = m^2
end
a
En el siguiente ejemplo, con el operador WHILE se toman los números desde 100 hasta 50
con decrementos de a 5, y se devuelven los cuadrados.
s = 100;
while s>50
disp(s^2)
s = s - 5
end
En el siguiente ejemplo, usando el operador IF dentro de un WHILE se imprime el valor de
x si es menor a 5, el valor de y si x está entre 6 y 10 y el valor de z si x es mayor a 10. Para
interrumpir el programa se debe dar a x el valor de 0.
x= 1; y = 100; z = 400;
while x<>0
x=input(’Introduzca el valor x = ’);
if x<5 then
disp(x)
elseif x>=10 then
disp(z)
else
disp(y)
end
end
4 FERNANDEZ
y otros.Universidad Nacional de Asunción. Facultad de ingenierı́a. www.ing.una.py
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
39
SCILAB
SCILAB tiene un comando muy útil que traduce los programas hechos previamente en MATLAB a lenguaje propio para poder ejecutarlos y ası́ ayudar al cambio a software libre que es
tan necesario. Para hacer esto, lo único que hay que hacer es escribir el comando MFILE2SCI
y a continuación el nombre del archivo del programa de MATLAB con extensión .m, ası́ lo
traducirá y le podrá correr.
Para correrlo, primero hay que escribir el comando GETF, luego sı́ se podrá usar como
una función normal. Hay algunos programas que no se podrán traducir pero ahı́ SCILAB
mostrará la ayuda para funciones imperfectas.
9.
GRÁFICAS
Es muy importante para poder evalúar un programa matemático su manejo gráfico, pero
SCILAB tiene las condiciones para llevarse una buena calificación por su buen contenido de
gráficas de igual manera hay complementos que permiten un manejo mayor a este importante factor, por ejemplo en el menú Applications la opción EDitGraph permite modificar
algunas gráficas.
Cuando se ejecuta una función o procedimiento matemático generalmente se desea observa
en gráficas por eso en esta unidad se presentarán los comando básicos para poder realizar
esta labor.
Para poder realizar una gráfica tenemos la opción de que se encuentre en una dimensión es
decir la recta, en dos dimensiones o tres dimensiones, además según la escala que se este
utilizando con variables continuas o discretas, de igual manera SCILAB soporta estas diferentes opciones.
Por ejemplo si continuamos con la misma matriz b
-->b
b =
0.3303271
0.6653811
0.6283918
0.8497452
0.6857310
0.8782165
0.0683740
0.5608486
0.6623569
0.7263507
0.1985144
0.5442573
0.2320748
0.2312237
0.2164633
0.8833888
0.6525135
0.3076091
0.9329616
0.2146008
0.312642
0.3616361
0.2922267
0.5664249
0.4826472
Y deseamos gráficas esta matriz utilizamos el comando plot(b) lo cual nos genera la siguiente
gráfica 18:
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
40
SCILAB
Figura 18: GRAFICA MATRIZ
Se puede observar que cada columna genera un color de lı́nea. Pero para poder realizar
mejores gráficas generalmente se utilizan dos o más varaibles y en dos o tres dimensiones. A
continuación se presentarán otros ejemplos de diferentes gráficas de mayor complejidad.
Para poder realizar una buena gráfica es necesario primero establecer el rango de los ejes
que tendrá la imagen, por ejemplo si utilizamos los siguientes rangos:
x = [0:0.1:2]
y = [0:0.1:2]
Recordando esto nos genera un vector que inicia en cero e incrementa a 0.1 hasta el dos, los
nombres de las variables pueden cambiar, si generamos una gráfica esta vez de dos dimensiones utilizando el comando plot2d(variable eje x, variable eje y) nos generarı́a una
recta 19 que pasa por el origen.
Si deseamos sacar la función seno de una función podemos utilizar la siguiente lı́nea de comandos:
-->a =[0:0.1:10];
-->plot2d(a,sin(a))
Que genera una función seno de 2 dimensiones 20, es de notar que es necesario que tanto el
eje x como el eje y deben tener las mismas dimensiones.
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
41
SCILAB
Figura 19: Recta
Figura 20: Recta
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
42
SCILAB
10.
MANEJO DEL ENTORNO SCILAB
Como anexo a este manual se ha incluido el manejo del entorno de scilab, sus menús y aplicaciones importantes.
En estas imágenes podemos ver los menús de la pantalla principal de SCILAB. Este entorno
principal no es muy amigable en especial porque está en idioma inglés, pero con un poco de
práctica se podrá familiarizar con el.
En el menú FILE (gráfica 21) , vemos las opciones para el manejo general de los archivos:
NEW SCILAB Abre una nueva ventana de manejo de SCILAB
EXEC Ejecuta un archivo de programación .sce o .sci
OPEN Permite abrir archivos de extensión .sce o .sci que son los elaborados por SCILAB es similar a EXEC
LOAD Carga los archivos elaborados por SCILAB .sav o .bin
CHANGE .. Permite cambiar la ubicación donde se buscaran archivos para ser ejecutados
GET . . . Carga el directorio actual que esta especı́ficado en Change directory
PRINT Permite imprimir lo realizado en el área de trabajo
EXIT Salir del entorno SCILAB
Figura 21: MENU FILE
En el menú EDIT (gráfica 22) vemos las opciones propias del portapapeles. Además en la
pestañita HISTORY están las opciones de lo que se puede hacer con los comandos escritos
(borrar, siguiente, anterior . . . )
SELECT ALL Selecciona todo el texto del área de trabajo
COPY Copia el tecto seleccionado
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
43
SCILAB
PASTE Pega un tecto copiado
EMPTY CLIPBOARD Borra las imágenes de portapapeles copiadas
HISTORY Presenta las órdenes anteriores, carácteres y comandos
Figura 22: MENU EDIT
En el menú PREFERENCES (gráfica 23) se encuentran las opciones para personalizar el
entorno de trabajo, para hacerlo más amigables. En el idioma sólo están disponibles inglés
y francés.
LANGUAGE Permite seleccionar el idioma de los dos posibles francés o inglés
COLORS Selecciona el color del texto y/o del área de trabajo
TOOLBAR Muestra la barra de herramientas
FILES ASSOCIATION Escoge el tipo de archivo en el que se esta trabajando es similar a save
CHOOSE FONT Cambia la fuente del texto
CLEAR HISTORY Borra el historial de Scilab de los comandos o carácteres ejecutados
CLEAR COMMAND WINDOW Limpia totalmente el área de trabajo
CONSOLE Emerge una ventana para el manejo de la consola de SCILAB
Seguidamente encontramos el menú CONTROL (gráfica 24) el cual sirve para controlar los
movimientos de los programas creados por el usuario.
RESUME Resume el procedimiento
ABORT Aborta las funciones o procesos que se esten realizando
INTERRUPT Interrumpe los procesos que se esten realizando
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
44
SCILAB
Figura 23: MENU PREFERENCES
Figura 24: MENU CONTROL
Figura 25: MENU EDITOR
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
45
SCILAB
Después encontramos la opción EDITOR (gráfica 25) la cual abre la ventana para programar.
El siguiente es APPLICATIONS (gráfica 28) el cual contiene las aplicaciones como el editor
de gráficas y otras que se le almacenen. Acá encontraremos los toolboxes que sirven para las
diferentes extensiones del programa.
SCICOS Abre el editor de modelación (gráfica 26)
EditGraph Abre el editro gráfico (gráfica 27)
m2sci Permite hacer conversión de matlab a SCILAB
Figura 26: SCICOS
Por ultimo vemos el menú de ayuda (gráfica 29), la cual es bastante completa aunque requiere su tiempo familiarizarse con ella ya que encontrar exactamente lo que uno busca es
en algunos casos difı́cil.
SCILAB HELP Abre el menú ayuda de SCILAB
CONFIGURE Permite configurar de nuevo a SCILAB
WEB LINKS Muestra la página oficial de SCILAB y otras relacionadas al programa
ABOUT Muestra los derechos de SCILAB
11.
TOOLBOXES
Un toolbox es esencialmente un pequeño programita especializado en alguna materia, que
resuelve problemas de un sector especı́fico. Es básicamente una función compilada en el editor de SCILAB, es decir, un archivo con extensión .sci. En las ciencias económicas, unos de
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
46
SCILAB
Figura 27: EditGraph
Figura 28: MENU APLICATIONS
Figura 29: MENU AYUDA (?)
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
47
SCILAB
los toolboxes más importantes son los econométricos y estadı́sticos, por eso, estudiaremos
uno de este tipo, llamado GROCER.
Algunos de los toolboxes encontrados actualmente en la página de SCILAB son:
GUI TOOLS
OPTIMIZATION TOOLS
MODELING AND CONTROL TOOLS
EDITOR STYLES
MATH TOOLS
IMAGE TOOLS
SCICOS
DATA ANALYSIS AND STATISTICS
MANUALS
SPECIALIZED TOOLBOXES
FINITE ELEMENTES TOOLS
DATA HANDLING TOOLS
CONTRIBUTED SCILAB TOOLS
En cada uno de los anteriores ı́tems contiene diferentes toolboxes desarrollados para diferentes aplicaciones, ramas y contextos. El proceso de instalación de un toolbox es el siguiente:
Hay dos clases de toolboxes, los que son para Windows y los que son para Linux. Con respecto a las utilidades, los toolboxes vienen para distintos problemas. En la página oficial se
consiguen por las siguientes categorı́as (entre otras):
Imágenes, elementos finitos, optimización, modelación y control, análisis de datos y estadı́sticos, matemáticos, estilos del editor, manuales y herramientas especializadas, entre las que se
encuentran herramientas para ingenierı́a.
La mayorı́a de los toolboxes están diseñados para trabajar en Linux, pero se consiguen algunos de Windows, como el GROCER, que es un toolbox econométrico, y es el que se usa
como ejemplo para la instalación.
Para esto, hay que ir a la página de SCILAB, entrar en el menú de la izquierda en la opción
CONTRIBUTIONS y luego elegir DOWNLOADS. Ahı́ aparece la lista con las categorı́as de
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
48
SCILAB
los toolboxes.
El que se usa en esta ocasión se encuentra en la parte DATA ANALYSIS AND STATISTICS.
(gráfica 30)
Figura 30: INSTALACIÓN TOOLBOXES
Al hacer clic ahı́, se despliega una lista con las diferentes herramientas para descargar, se
buscan por el nombre. Al encontrarlo, se hace clic en el enlace del nombre, al lado del cual
se encuentra una breve descripción de la herramienta. También aparece en algunos casos el
enlace a la página web del autor, o del programa, si se sigue este enlace, se podrá obtener
más información sobre la herramienta.(gráfica 31)
Figura 31: INSTALACIÓN TOOLBOXES
Al hacer clic en el enlace del nombre, se abre una página con el archivo para descargar, y
con un archivo README en el cual vienen las instrucciones para la instalación.
Para instalar GROCER (y en general cualquier toolbox para Windows) se debe guardar el
archivo .zip en el disco duro, no importa la ubicación, pero una vez guardado, se debe extraer
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
49
SCILAB
en la carpeta en la que está guardado SCILAB, que por defecto es C : \Archivosdeprograma\
scilab − 4,0. Luego de hecho esto, se inicia SCILAB y él automáticamente carga el toolbox.
11.1.
GROCER (ECONOMÉTRICO)
Este toolbox es muy completo y útil para la estimación de regresiones por el método de
minimos cuadrados. Es creado por Eric Dubois para la versión SCILAB 3.0, pero corre perfectamente en las versiones posteriores.
El creador del toolbox dice que su creación se facilitó por la semejanza de SCILAB con
MATLAB, lo que hace más fácil su programación. GROCER, al ser software libre, y no ser
un programa independiente sino una herramienta de otro programa, tiene problemas con
respecto a otro software econométrico como eviews, respecto a su facilidad de uso y a su
velocidad; el mismo autor lo reconoce.
Es una herramienta muy básica, no recomendable para problemas con matrices muy grandes
de datos, o para problemas de simulación y estimación muy exacta.
Como SCILAB es un programa que trabaja esencialmente con matrices y vectores, las estimaciones con GROCER se harán sobre series plasmadas en matrices. Esto es una ventaja
ya que la estimación de una regresión con mı́nimos cuadrados se hace a través de este medio
matemático; recordando: B = (X 0 X) − 1(X 0 Y ) siendo X la matriz de variables exógenas, Y
el vector de variables endógenas y B el vector de coeficientes.
Para hacer una regresión sencilla a manera de ejemplo, se entran los datos de las variables
exógenas en forma de matriz, p.ej:
consumo_prod=[800; 810; 820; 840; 801; 810; 805; 799; 750; 700],
consumo_imp=[100; 150; 200; 140; 120; 90; 85; 60; 45; 100],
y los de la endógena de la misma manera.
ingreso=[1000; 950; 948; 990; 1005; 1102; 1500; 1800; 1400; 1000].
Luego se escribe la instrucción ols(0 ingreso0 ,0 consumo prod0 ,0 consumo imp0 ), teniendo en
cuenta que va primero la variable endógena y después las exógenas. Ası́, el programa devolverá los datos de la regresión, gráficas de los residuos y del ajuste de la variable ası́:
ols estimation results for dependent variable: ingreso
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
50
SCILAB
number of observations: 10
number of variables: 2
standard error of the regression: 202.14235
sum of squared residuals: 326892.23
DW(0) =1.6409213
Belsley, Kuh, Welsch Condition index: 22
variable
coeff
t-statistic p value
consumo_prod 2.2261004 9.6989632
0.0000107
consumo_imp -5.4761928 -3.5212103 0.0078320
*
*
ans
*
=
ols estimation results
Figura 32: RESULTADO 1
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
51
SCILAB
Figura 33: RESULTADO 2
12.
INSTALACIÓN EN SUSE - LINUX
Esta guı́a es para instalar SCILAB en Linux, en la distribución SUSE. Luego de descargar
el instalador, se debe entrar en la consola.
Ahı́ se busca la carpeta en la que se encuentra el instalador (home\ scilab). Es necesario
descomprimir los archivos del instalador. Para esto, se escribe el comando tar zxvf y el nombre del archivo (el que se usa en este caso, es el que se descargó de la página oficial de scilab
www.scilab.org: scilab-4.0.bin.linux-i686.tar.gz).
Luego se entra al directorio en el que se descomprimieron los archivos, en este caso, se llama
scilab 4.0. el comando a usar en este caso es: cd scilab 4.0
Luego se escribe el comando ./configure
A continuación se escribe el comando Make
Luego es necesario ingresar como usuario root para poder instalar, para esto se escribe el
comando su y a continuación la consola le pedirá la contraseña.
El paso siguiente es la instalación, para esto se usa el comando Make install. En este
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
52
SCILAB
momento se copian los archivos uno por uno, habrá que esperar unos minutos mientras se
completa el proceso.
Al finalizar, es recomendable salir de la sesión de usuario root para evitar daños por cambios
indeseados, para esto se escribe el comando exit.
Al terminar todos estos pasos, para entrar al programa se debe ejecutar el comando scilab,
y estará listo para disfrutar las ventajas de este programa.
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
53
SCILAB
13.
CURSO LIBRE SCILAB
Durante el desarrollo de la investigación se observaron las posibilidades para la inclusión de
un curso libre, la idea inicial es poder fusionar los contenidos del curso de MATLAB con
introducción a SCILAB.
Por lo tanto se recomienda incluir los siguientes temas dentro de las clases de SCILAB:
1. Introducción a SCILAB
Qué es el software libre?
Historia de SCILAB
Generalidades del programa
Proceso de descarga
2. Operaciones básicas con SCILAB
3. Manejo de vectores y matrices
4. Programación básica
5. Programación Avanzada
6. Manejo de gráficas y toolboxes
Estos temas se realizaran en un semana aproximadamente de dos (2) horas por tema, es
decir que entre el curso de MATLAB y el de SCILAB se dedicarán entre dos y tres semanas
de dos horas por sesión.
14.
ALCANCES
SCILAB permite es multivariable ofrece la posibilidad de hacer algunos cálculos simbólicos
como derivadas de funciones polinomiales y racionales, diferentes opciones de gráficas en 2-D
y 3-D, opciones para ecuaciones diferenciales, optimización además de las herramientas para
estadı́stica y econometrı́a.
Observando lo anterior se analiza que SCILAB es una opción de gran importancia para la
facultad de ciencias económicas en especial el área de Matemática y Estadı́stica, para la
unidad de informática permitirı́a fortalecer el desarrollo e incentivar el software libre.
De igual manera alcances paralelos a los anteriores están los del desarrollo del curso libre
para usuarios y de capacitaciones para los monitores de la UIFCE.
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
54
SCILAB
15.
CONCLUSIONES
SCILAB es un programa muy potente, el hecho de que sea software libre no lo hace
inferior a sus competidores, La posibilidad de incorporar nuevas colaboraciones en la
parte programable hace que se vuelva a medida que pasa el tiempo mucho más funcional
para diversas ramas.
Las operaciones matemáticas son muy sencillas e intuitivas, además que el programa es
bastante rápido, lo que permite tener soluciones rápidas a cualquier clase de problema
matemático.
El lenguaje de programación es sencillo e intuitivo, pero para aprovechar al máximo
sus posibilidades, es necesario tener conocimientos básicos previos de programación
estructurada (lenguaje C++) y/o de programación matemática (lenguaje de Matlab)
La ayuda del programa es completa aunque en algunas ocasiones se dificulta encontrar
algo puntual. Es recomendable mirar los ejemplos y la sintaxis que se encuentran de
cada una de las funciones.
La parte gráfica es completa y su uso es importante para obtener las soluciones a los
problemas planteados.
Las adiciones hechas al programa gracias a los toolboxes son de gran utilidad ya que
incorporan funciones que antes tocaba hacer manualmente. Esto abrevia bastante el
trabajo y hace accesible el programa a usuarios menos avanzados en los temas de programación.
En definitiva, SCILAB es una muy buena alternativa en el uso de programas matemáticos,
ya que su uso no se diferencia mucho del de MATLAB y serı́a bastante accesible la migración por parte de las empresas o grupos de trabajo hacia el software libre, logrando
disminuciones de costos.
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
55
SCILAB
BIBLIOGRAFIA
Referencias
MORA, Hector. ”Introducción a SCILAB”. Universidad Nacional de Colombia, Bogotá. 2005
Laboratorio de Computación de Alto Desemepeño. ”Introducción a SCILAB”. Universidad
Nacional de Asunción, Asunción.2005
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE CIENCIAS ECONOMICAS
UNIDAD DE INFORMATICA Y COMUNICACIONES
56
Descargar