SlideShare una empresa de Scribd logo
Primeros pasos - Contenido
En este tutorial, hacemos una descripción general de las características de Scilab para que
podamos familiarizarnos con este entorno. El objetivo es presentar el núcleo de las habilidades
necesarias para comenzar con Scilab. En la primera parte, presentamos cómo obtener e instalar
este software en nuestra computadora. También presentamos cómo obtener ayuda con la
documentación provista en línea y también gracias a los recursos y foros web. En la última sección,
presentamoslas característicasgráficasde Scilab y mostramos cómo crear una gráfica en 2D, cómo
con fi gurar el título y la leyenda, y cómo exportar esa parcela a un formato vectorial o de mapa de
bits.
Contenido
1 Descripción general
1.1 Introducción
1.2 Descripción general de Scilab
1.3. Cómo obtener e instalar Scilab
1.3.1 Instalación de Scilab en Windows
1.3.2 Instalación de Scilab en Linux
1.3.3 Instalación de Scilab en Mac OS
1.4 Ayuda integrada y en línea
1.5 Listas de correo, informes wiki y de fallos
1.6 Demostraciones de Scilab y macros
2 Primeros pasos
2.1 La consola
2.2 El editor
2.3 Docking
2.4 El navegador de variables y el historial de comandos
2.5 Using exec
2.6 Procesamiento por lotes
2.7 Localización
2.8 ATOMS, el sistema de empaquetado de Scilab
2.9 Ejercicios
3 Trazado
3.1 Resumen
3.2 Trama 2D
3.3 Tramas de contorno
3.4 Títulos, ejes y leyendas
3.5 Exportación
1. Información general
En esta sección, presentamos una descripción general de Scilab. La primera subsección presenta
el proyecto de fuente abierta asociado con la creación de este documento. Luego presentamos el
software, la licencia y los aspectos científicos de Scilab. En la tercera subsección, describimos los
métodos para descargar e instalar Scilab en sistemas operativos Windows, GNU / Linux y Mac. En
las subsecciones restantes, describimos varias fuentes de información necesarias cuando tenemos
que obtener ayuda de Scilab o de otros usuarios. Describimos las páginas de ayuda integradas y
analizamos las listas de correo y la wiki que están disponibles en línea. Finalmente, nos tomamos
un momento para ver las demostraciones que se proporcionan con Scilab.
1.1 Introducción
Este documento es un proyecto de código abierto. Las fuentes de LATEX están disponibles en
Scilab Forge:
http://forge.scilab.org/index.php/p/docintrotoscilab/
Las fuentes de LATEX se proporcionan bajo los términos de Creative Commons
AttributionShareAlike 3.0 Unported License:
http://creativecommons.org/licenses/by-sa/3.0
Los scriptsScilab se proporcionan en Forge,dentro delproyecto,bajo elsubdirectorio de scripts. Los
scripts están disponibles bajo la licencia CeCiLL:
http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
1.2 Descripción general de Scilab
Scilab es un lenguaje de programación asociado con una rica colección de algoritmos numéricos
que cubren muchos aspectos de los problemas de la informática científica.
Desde el punto de vista del software, Scilab es un lenguaje interpretado. En general, esto acelera
el proceso de desarrollo, porque el usuario accede directamente a un lenguaje de alto nivel, con un
amplio conjunto de funciones proporcionadas por la biblioteca. El lenguaje Scilab debe extenderse
para que los tipos de datos definidospor el usuario se puedan de fi nir con operacionesposiblemente
sobrecargadas. Los usuarios de Scilab pueden desarrollar sus propios módulos para que puedan
resolver sus problemas particulares. El lenguaje Scilab puede compilar y vincular dinámicamente
otros lenguajes como Fortran y C: de esta forma, las bibliotecas externas se pueden usar como si
fueran parte de las funciones integradas de Scilab. Scilab también interactúa con LabVIEW, una
plataforma y entorno de desarrollo para un lenguaje de programación visual de National Instruments.
Desde el punto de vista de la licencia, Scilab es un software libre en el sentido de que el usuario no
paga y Scilab es un software de código abierto, provisto bajo la licencia de Cecill [2]. El software se
distribuye con código fuente, de modo que el usuario tenga acceso a los aspectos más internos de
Scilab. La mayoría de las veces, el usuario descarga e instala una versión binaria de Scilab, ya que
el consorcio Scilab ofrece versiones ejecutables de Windows, Linux y Mac OS. La ayuda en línea
se proporciona en muchos idiomas locales.
Desde el punto de vista científico, Scilab viene con muchas características. Al comienzo de Scilab,
las funciones se centraron en el álgebra lineal. Pero, rápidamente, la cantidad de funciones se
extendió para abarcar muchas áreas de la informática científica. La siguiente es una breve lista de
sus capacidades:
• Álgebra lineal, matrices dispersas,
• polinomios y funciones racionales,
• interpolación, aproximación,
• optimización lineal, cuadrática y no lineal,
• solucionador de ecuaciones diferenciales ordinarias y solucionador de ecuaciones algebraicas
diferenciales,
• control clásico y robusto, optimización de desigualdad de matriz lineal,
• Optimización diferenciable y no diferenciable,
• Procesamiento de señal,
• Estadísticas.
Scilab proporciona muchas características gráficas, incluido un conjunto de funciones de trazado,
que crean gráficos 2D y 3D, así como interfaces de usuario. El entorno Xcos proporciona un
modelador y simulador de sistemas dinámicos híbridos.
1.3 Cómo obtener e instalar Scilab
Cualquiera que sea su plataforma (es decir, Windows, Linux o Mac), los archivos binarios de Scilab
se pueden descargar directamente desde la página principal de Scilab.
http://www.scilab.org
o desde el área de descarga
http://www.scilab.org/download
Los archivos binarios Scilab se proporcionan para plataformas de 32 y 64 bits para que coincidan
con la máquina de instalación de destino. Scilab también se puede descargar en forma de fuente,
para que pueda compilar Scilab usted mismo y producir su propio binario. Compilar Scilab y generar
un binario es especialmente interesante cuando queremos comprender o depurar una característica
existente, o cuando queremos agregar una nueva característica. Para compilar Scilab, se requieren
algunos requisitos previos de archivos binarios, que también se proporcionan en el Centro de
descargas. Además, se requiere un compilador de Fortran y un compilador de C. La compilación de
Scilab es un proceso que no se detallará más en este documento,ya que este capítulo está dedicado
principalmente al comportamiento externo de Scilab.
1.3.1 Instalación de Scilab en Windows
Scilab se distribuye como un binario de Windows y se proporciona un instalador para que la
instalación sea realmente fácil. La consola Scilab se presenta en la figura 1. Se pueden hacer varios
comentarios sobre este proceso de instalación.
Figura 1: consola Scilab en Windows.
En Windows, si su máquina está basada en un procesador Intel, la biblioteca Intel® Kernel Library
(MKL) [6] permite a Scilab realizar cálculos numéricos más rápidos.
1.3.2 Instalación de Scilab en Linux
En Linux, las versionesbinariasestán disponibles en el sitio web de Scilab como archivos .tar.gz. No
hay necesidad de un programa de instalación con Scilab en Linux: simplemente descomprima el
archivo en un directorio de destino. Una vez hecho, el archivo binario se encuentra en <ruta>
/scilab5.5.2/bin/scilab. Cuando se ejecuta este script, la consola aparece inmediatamente y se ve
exactamente igual que en Windows. Tenga en cuenta que Scilab también se distribuye con el
sistema de empaquetado disponible con distribuciones de Linux basadas en Debian (por ejemplo,
Ubuntu). Este método de instalación es extremadamente simple y eficiente. Sin embargo, tiene un
pequeño inconveniente: la versión de Scilab empaquetada para su distribución de Linux puede no
estar actualizada. Esto se debe a que hay una demora (de varias semanas a varios meses) entre la
disponibilidad de una versión actualizada de Scilab en Linux y su lanzamiento en distribuciones de
Linux. Por ahora, Scilab viene en Linux con una biblioteca de álgebra lineal binaria que garantiza la
portabilidad. Bajo Linux, Scilab no viene con una versión binaria de ATLAS [1], por lo que el álgebra
lineal es un poco más lenta para esa plataforma, en comparación con Windows.
1.3.3 Instalación de Scilab bajo Mac OS
Bajo Mac OS, las versiones binarias están disponibles en el sitio web de Scilab como un archivo
.dmg. Este binario funciona para las versiones de Mac OS a partir de la versión 10.5. Utiliza el
instalador de Mac OS, que proporciona un proceso de instalación clásico. Scilab no está disponible
en los sistemas Power PC. Por razones técnicas, Scilab versión 5.5 para Mac OS X viene con una
interfaz Tcl / Tk desactivada. Como consecuencia, hay algunas pequeñas limitaciones en el uso de
Scilab en esta plataforma. Por ejemplo, la interfaz Scilab / Tcl (TclSci) y el editor gráfico no
funcionan. Estas características se reescribirán en Java en futuras versiones de Scilab y estas
limitaciones desaparecerán. Aun así,usar Scilab en un sistema Mac OS es fácil y usa los atajos que
son familiares para los usuarios de esta plataforma. Por ejemplo, la consola y el editor usan la tecla
Cmd (tecla Apple) que se encuentra en los teclados de Mac. Además, no hay clic derecho en esta
plataforma. En cambio, Scilab es sensible al evento de teclado Control-Clic. Por ahora, Scilab viene
en Mac OS con una biblioteca de álgebra lineal que está optimizada y garantiza la portabilidad. Bajo
Mac OS, Scilab no viene con una versión binaria de ATLAS [1], por lo que el álgebra lineal es un
poco más lenta para esa plataforma.
1.4 Ayuda integrada y en línea
Figura 2: ventana de ayuda de Scilab.
La forma más sencilla de integrar la ayuda en línea en Scilab es utilizar la función de ayuda. La
Figura 2 presenta la ventana de ayuda de Scilab. Para usar esta función,simplemente escriba "help"
en la consola y presione la tecla <Enter>, como en la siguiente sesión.
ayuda
Supongamos que quiere ayuda sobre la función optim. Puede intentar navegar por la ayuda
integrada, buscar la sección de optimización y luego hacer clic en el elemento optimizado para
mostrar su ayuda. Otra posibilidad es usar la función de ayuda, seguida del nombre de la función,
para la cual se necesita ayuda, como en la siguiente sesión.
ayuda optim
Scilab abre automáticamente la entrada asociada en la ayuda. También podemos utilizar la ayuda
proporcionada en el sitio web de Scilab
https://help.scilab.org/
Esta página siempre contiene la ayuda para la versión actualizada de Scilab. Al utilizar la función
de "búsqueda" de mi navegador web, la mayoría de las veces puedo encontrar rápidamente la
página de ayuda que necesito. Con ese método, puedo ver las páginas de ayuda para varios
comandos Scilab al mismo tiempo (por ejemplo, los comandos derivada yoptim, de modo que pueda
proporcionar la función de costo adecuada para la optimización con optimización calculando
derivados con derivados). En la siguiente página se presenta una lista de libros comerciales, libros
gratuitos, tutoriales en línea y artículos:
http://www.scilab.org/resources/documentation
1.5 listas de correo, wiki e informes de errores
La lista de correo users@lists.scilab.org está diseñada para todas las preguntas de uso de
Scilab. Para suscribirse a esta lista de correo, envíe un correo electrónico a users-
subscribe@lists.scilab.org. La lista de correo dev@lists.scilab.org se enfoca en el desarrollo de
Scilab, ya sea el desarrollo del núcleo de Scilab o de módulos complicados que interactúan
profundamente con el núcleo de Scilab. Para suscribirse a esta lista de correo, envíe un correo
electrónico a dev-subscribe@lists.scilab.org.
Estas listas de correo están archivadas en:
http://mailinglists.scilab.org/Scilab-users-Mailing-Lists-Archives-f2602246.html
y:
http://mailinglists.scilab.org/Scilab-developers-Mailing-Lists-Archives-f2574944.html
Por lo tanto, antes de hacer una pregunta, los usuarios deben considerar buscar en el archivo si la
misma pregunta o tema ya ha sido respondido. Una pregunta publicada en la lista de correo puede
estar relacionada con un punto técnico muy específico, por lo que requiere una respuesta que no
sea lo suficientemente general como para ser pública. La dirección scilab.support@scilab.org está
diseñada para este propósito. Los desarrolladores del equipo Scilab brindan respuestas precisas a
través de este canal de comunicación. La wiki de Scilab es una herramienta pública para leer y
publicar información general sobre Scilab:
http://wiki.scilab.org
Los usuarios y desarrolladores de Scilab lo utilizan para publicar información sobre Scilab. Desde el
punto de vista de un desarrollador, contiene instrucciones paso a paso para compilar Scilab de las
fuentes, dependencias de varias versiones de Scilab, instrucciones para usar el repositorio de
código fuente de Scilab, etc ... The Scilab Bugzilla http: //bugzilla.scilab. org permite enviar un
informe cada vez que encontramos un nuevo error. Puede suceder que este error ya haya sido
descubierto por otra persona. Es por eso que se recomienda buscar en la base de datos de errores
problemas existentes relacionados antes de informar un nuevo error. Si aún no se informa el error,
es muy bueno que lo informe, junto con un script de prueba. Este script de prueba debe ser lo más
simple posible para reproducir elproblema e identificar el origen del problema. Una manera eficiente
de obtener información actualizada es usar feeds RSS.
http://www.scilab.org/en/rss_en.xml
Este canal regularmente ofrece comunicados de prensa y anuncios generales.
1.6 Demostraciones de Scilab y macros
El consorcio Scilab mantiene una colección de scriptsde demostración,que están disponiblesdesde
la consola, en el menú? > Demostraciones Scilab. La Figura 3 presenta la ventana de
demostración. Algunas demostraciones son gráficas, mientras que otras son interactivas, lo que
significa que el usuario debe escribir en la tecla <Entrar> para pasar al siguiente paso de la
demostración.
Figura 3: Ventana de demos de Scilab.
Los scripts de demostración asociados se encuentran en el directorio Scilab, dentro de cada
módulo. Por ejemplo, la demostración asociada con el módulo de optimización se encuentra en el
archivo
<ruta>  scilab-5.5.2  modules  optimization  demos  datafit 
datafit.dem.sce
Por supuesto, la ruta exacta del archivo depende de su instalación particular y su sistema operativo.
El análisis del contenido de estos archivos de demostración a menudo es una solución eficiente
para resolver problemas comunes y comprender características particulares.
Otro método para encontrar algo de ayuda es analizar el código fuente de Scilab (¡Scilab es de
hecho de código abierto!). Por ejemplo, la función derivada se encuentra en
<ruta>  scilab-5.5.2  modules  optimization  macros  derivative.sci
La mayoría de las veces, las macros Scilab están muy bien escritas, teniendo en cuenta todas las
posibles combinaciones de argumentos de entrada y salida y muchos valores posibles de los
argumentos de entrada. A menudo, los problemas numéricos difíciles se resuelven en estos scripts
para que proporcionen una fuente profunda de inspiración para desarrollar sus propios scripts.
2 primeros pasos
En esta sección, damos nuestros primeros pasos con Scilab y presentamos algunas tareas simples
que podemos realizar con el intérprete. Hay varias maneras de usar Scilab y los siguientes párrafos
presentan tres métodos: • uso de la consola en el modo interactivo, • uso de la función exec contra
un archivo, • uso de procesamiento por lotes. También presentamos la gestión de las ventanas
gráficas con el sistema de acoplamiento. Finalmente, presentamos dos características principales
de Scilab: la localización de Scilab, que proporciona mensajes y páginas de ayuda en el idioma del
usuario, y el sistema ATOMS, un sistema de embalaje para módulos externos.
2.1 La consola
La primera es usar Scilab interactivamente, escribiendo comandos en la consola, analizando los
resultados y continuando con este proceso hasta que se calcule el resultado final. Este documento
está diseñado para que los ejemplos de Scilab que se imprimen aquí se puedan copiar a la
consola. El objetivo es que el lector pueda experimentar con el comportamiento de Scilab por sí
mismo. De hecho, esta es una buena forma de entender el comportamiento del programa y, la
mayoría de las veces, es una forma rápida y fluida de realizar el cálculo deseado.
En el siguiente ejemplo, la función disp se usa en el modo interactivo para imprimir la cadena "Hello
World!".
-> s = "¡Hola mundo!"
s =
Hola Mundo!
-> disp (s)
Hola Mundo!
En la sesión anterior, no escribimos los caracteres "->" que es el mensaje, y que es administrado
por Scilab. Solo escribimos la declaración s = "Hello World!" Con nuestro teclado y luego
presionamos la tecla <Enter>. La respuesta de Scilab es s = y Hello World !. Luego escribimos disp
(s) y la respuesta de Scilab es Hello World !.
Cuando editamos un comando, podemos usar el teclado, como con un editor regular. Podemos usar
las flechas ← y derecha → izquierda para mover el cursor en la línea y usar las teclas <Backspace>
y <Suppr> para fijar errores en el texto.
Para acceder a los comandos ejecutados previamente, usamos la flecha hacia arriba ↑. Esto nos
permite navegar por los comandos anteriores usando las teclas de flecha arriba ↑ y abajo ↓.
La tecla <Tab> proporciona una función de finalización muy conveniente. En la siguiente sesión,
escribimos la declaración disp en la consola.
-> disp
Luego podemos escribir en la tecla <Tab>, que hace que aparezca una lista en la consola, como se
presenta en la figura 4. Scilab muestra un cuadro de lista, donde los elementos corresponden a
todas las funciones que comienzan con las letras "disp". Luego podemos usar las teclas de flecha
hacia arriba y hacia abajo para seleccionar la función que queremos.
Figura 4: la finalización en la consola.
La finalización automática funciona con funciones,variables,archivosymanejadoresgráficosy hace
que el desarrollo de scripts sea más fácil y rápido.
2.2 El editor
Scilab proporciona un editor para editar scripts fácilmente. La Figura 5 presenta el editor durante la
edición del ejemplo anterior "Hello World!".
Figura 5: El editor.
Se puede acceder al editor desde el menú de la consola, en el menú Aplicaciones> Editor , o desde
la consola, tal como se presenta en la siguiente sesión.
-> editor ()
Este editor maneja varios archivos al mismo tiempo, como se presenta en la figura 5, donde
editamos cinco archivos al mismo tiempo. Hay muchas características que vale la pena mencionar
en este editor. Las características más comúnmente utilizadas se encuentran en el menú Ejecutar.
• Cargar en Scilab ejecuta las declaraciones en el archivo actual, como si hubiéramos copiado y
pegado. Esto implica que las instrucciones que no terminan con el punto y coma ";" generarán una
salida en la consola.
• Evaluar selección ejecuta las declaraciones que están actualmente seleccionadas.
• Ejecutar archivo en Scilab ejecuta el archivo, como si usáramos la función exec. Los resultados
que se producen en la consola son solo aquellos que están asociados con funciones de impresión,
como por ejemplo disp.
También podemos seleccionar unas pocas líneas en el guión, hacer clic con el botón derecho (o
Cmd + Click en Mac) y obtener el menú contextual que se presenta en la figura 6.
Figura 6: menú contextual en el editor.
El menú Editar proporciona una característica muy interesante, comúnmente conocida como una
"impresora bonita" en la mayoría de los idiomas. Esta es la función Editar> Corregir sangría, que
sangra automáticamente la selección actual. Esta característica es extremadamente conveniente,
ya que formatea algoritmos, por lo que el if, for y otrosbloquesestructuradosson fáciles de analizar.
Figura 7: Ayuda contextual en el editor.
El editor proporciona un acceso rápido a la ayuda en línea. De hecho, supongamos que hemos
seleccionado la declaración disp, tal como se presenta en la figura 7. Cuando hacemos clic derecho
en el editor, obtenemos el menú contextual, donde la ayuda sobre la entrada "disp" abre la página
de ayuda asociada a la función disp.
2.3 Atraque
Los gráficos en Scilab versión 5 se han actualizado para que muchos componentes se basen ahora
en Java. Esto tiene una serie de ventajas, incluida la posibilidad de administrar ventanas de
acoplamiento.
El sistema de acoplamiento utiliza Flexdock [12], un proyecto de código abierto que proporciona un
marco de acoplamiento Swing. Supongamos que tenemos tanto la consola como el editor abiertos
en nuestro entorno, talcomo se presenta en la figura 8. Puede ser molesto administrar dos ventanas,
porque una puede ocultar la otra, de modo que tenemos que moverlas constantemente para que
realmente mira qué pasa.
Figura 8: la barra de título en la ventana de origen. Para colocar el editor en la consola, arrastre y
suelte la barra de título del editor en la consola.
El sistema Flexdock nos permite arrastrar y soltar el editor en la consola, de modo que finalmente
tengamos solo una ventana, con varias ventanas secundarias. Todas las ventanas de Scilab son
acoplables, incluidas la consola, el editor, el navegador de variables, el historial de comandos, la
ayuda y las ventanas de trazado. En la figura 9, presentamos una situación en la que hemos
acoplado cuatro ventanas en la ventana de la consola.
Para colocar una ventana en otra ventana, debemos arrastrar y soltar la ventana de origen en la
ventana de destino. Para hacer esto, hacemos clic izquierdo en la barra de título de la ventana de
acoplamiento, como se indica en la figura 8. Antes de soltar el clic, pasemos el mouse sobre la
ventana de destino y observemos que aparece una ventana rodeada de líneas punteadas. Esta
ventana "fantasma" indica la ubicación de la futura ventana acoplada.
Podemos elegir esta ubicación, que puede estar en la parte superior, inferior, izquierda o derecha
de la ventana de destino. Una vez que hemos elegido la ubicación de destino, lanzamos el clic, que
finalmente mueve la ventana de origen a la ventana de destino, como en la figura 9.
Figura 9: Acciones en la barra de título de la ventana de acoplamiento. La flecha redonda en la
barra de título de la ventana desata la ventana. La cruz cierra la ventana.
También podemos liberar la ventana de origen sobre la ventana de destino, que crea pestañas,
como en la figura 10.
Figura 10: pestañas de acoplamiento.
2.4 El navegador de variables y el historial de comandos
Scilab proporciona un navegador variable, que muestra la lista de variables utilizadas actualmente
en el entorno. La Figura 11 presenta el estado de este navegador durante una sesión.
Figura 11: El navegador de variables.
Podemos acceder a este navegador a través del menú Aplicaciones> Explorador de variables, pero
la función browsevar () tiene el mismo efecto.
Podemos hacer doble clic en una variable, que abre el editor de variables, tal como se presenta en
la figura 12. Entonces, podemos cambiar de forma interactiva el valor de una variable cambiando
su contenido en una celda. Por otro lado, si cambiamos el contenido de la variable dentro de la
consola, debemos actualizar el contenido del cuadro de diálogo presionando el botón Actualizar en
la barra de herramientas del Editor de Variables.
Figura 12: El editor de variables.
El cuadro de diálogo Historial de comandos permite navegar a través de los comandos que hemos
ejecutado previamente. Este diálogo está disponible en el menú Aplicaciones> Historial de
comandos y se presenta en la fi gura 13.
Figura 13: El historial de comandos.
Podemos seleccionar cualquier comando en la lista y hacer doble clic en él para ejecutarlo en la
consola. El clic derecho abre un menú contextual que nos permite evaluar el comando o editarlo en
el editor.
2.5 Usando el ejecutivo
Cuando se deben ejecutar varios comandos, puede ser más conveniente escribir estas
declaraciones en un archivo con el editor Scilab. Para ejecutar los comandos ubicados en dicho
archivo, se puede usar la función exec, seguida del nombre del script. Este archivo generalmente
tiene la extensión .sce o .sci, dependiendo de su contenido:
• los archivos que tienen la extensión .sci contienen funciones Scilab y su ejecución carga las
funciones en el entorno Scilab (pero no las ejecuta),
• los archivos que tienen la extensión .sce contienen funciones Scilab y ejecutables.
La ejecución de un archivo .sce generalmente tiene un efecto, como calcular varias variables y
mostrar los resultados en la consola, crear gráficos en 2D, leer o escribir en un archivo, etc.
Supongamos que el contenido del archivo myscript.sce es el siguiente.
disp ("¡Hola mundo!")
En la consola Scilab, podemos usar la función exec para ejecutar el contenido de este script.
-> exec ("myscript.sce")
-> disp ("¡Hola mundo!")
Hola Mundo !
En situaciones prácticas, como la depuración de un algoritmo complicado, el modo interactivo se
usa la mayor parte del tiempo con una secuencia de llamadas a las funciones exec y disp.
2.6 Procesamiento por lotes
Otra forma de usar Scilab es desde la línea de comando. Varias opciones de línea de comandos
están disponibles y se presentan en la figura 14. Sea cual sea el sistema operativo, los archivos
binarios se encuentran en el directorio scilab-5.3.1 / bin. Las opciones de línea de comando se
deben anexar al binario para la plataforma específica, como se describe a continuación. La opción
-nw desactiva la visualización de la consola. La opción -nwni inicia el modo no gráfico:en este modo,
la consola no se muestra y las funciones de trazado están desactivadas (usarlas generará un error).
• En Windows, se proporcionan dos ejecutables binarios. El primer ejecutable es WScilex.exe, la
consola interactiva, gráfica habitual. Este ejecutable corresponde al icono que está disponible en el
escritorio después de la instalación de Scilab. El segundo ejecutable es Scilex.exe, la consola no
gráfica. Con el ejecutable Scilex.exe, la consola basada en Java no se carga y el terminal de
Windows se usa directamente. El programa Scilex.exe es sensible a las opciones -nw y -nwni.
• En Linux, el script scilab proporciona opciones que configuran su comportamiento. Por defecto, se
inicia el modo de gráficos. La secuencia de comandos scilab es sensible a las opciones -nw y -
nwni. Hay dos ejecutables adicionales en Linux: scilab-cli y scilab-adv-cli. El ejecutable scilab-adv-
cli es equivalente a la opción -nw, mientras que scilab-cli es equivalente a la opción -nwni [7].
• Bajo Mac OS, el comportamiento es similar a la plataforma Linux.
En la siguiente sesión de Windows, iniciamos el programa Scilex.exe con la opción -nwni. Luego
ejecutamos la función de trazado para verificar que esta función no esté disponible en el modo sin
gráficos.
C:  Archivos de programa  scilab-5.5.2  bin> Scilex.exe -nwni
Scilab 5.5.2 (31 de marzo de 2015, 12:04:21)
-> plot ()
! - error 4
Variable indefinida: trama
-e instrucción ejecutar la instrucción Scilab dada en la instrucción
-file ejecutar el script Scilab dado en el archivo
-l lang
configure el idioma del usuario, por ejemplo, "fr" para francés y "en" para
inglés (el valor predeterminado es "en")
-mem N establecer el stack inicial
-ns si esta opción está presente,el archivo de inicio scilab.start no se ejecuta
-nótese bien
si esta opción está presente,no se muestra el banner de bienvenida de
Scilab
-
nouserstartup
no ejecute los archivos de inicio del usuario SCIHOME / .scilab o
SCIHOME / scilab.ini
-noroeste
inicia Scilab como línea de comando con funciones avanzadas (por
ejemplo, gráficos)
-nwni inicia Scilab como línea de comando sin funciones avanzadas
-versión imprimir la versión del producto y salir
Figura 14: Opciones de línea de comando Scilab.
La opción de línea de comando más útil es la opción -f, que ejecuta los comandos de un archivo
dado, un método generalmente llamado procesamiento por lotes. Supongamos que el contenido
del archivo myscript2.sce es el siguiente, donde la función de salir se usa para salir de Scilab.
disp ("¡Hola mundo!")
dejar()
El comportamiento predeterminado de Scilab es esperar la entrada de nuevos usuarios: esta es la
razón por la cual se usa el comando quit, para que la sesión finalice. Para ejecutar la
demostración en Windows, creamos el directorio " C:  scripts " y escribimos las declaraciones en
el archivo C:  scripts  helloworld.sce. La siguiente sesión, ejecutada desde el terminal MS
Windows, muestra cómo usar la opción -f para ejecutar el script anterior. Tenga en cuenta que
usamos la ruta absoluta del ejecutable Scilex.exe.
C:  scripts> "C:  Archivos de programa  scilab-5.5.2  bin 
Scilex.exe" -f helloworld.sce
Scilab 5.5.2 (31 de marzo de 2015, 12:04:21)
Hola Mundo!
Cualquier línea que comience con los dos caracteres de barra "//" es considerada por Scilab como
un comentario y se ignora. Para verificar que Scilab se mantenga de manera predeterminada en
modo interactivo, comentamos la declaración de abandono con la sintaxis "//", como en el
siguiente script.
disp ("¡Hola mundo!")
//dejar()
Si escribimos el comando "scilex -f helloworld.sce" en el terminal, Scilab ahora esperará la entrada
del usuario, como se esperaba. Para salir, escribimos de forma interactiva la declaración quit () en
el terminal.
2.7 Localización
Por defecto, Scilab proporciona sus mensajes y sus páginas de ayuda en inglés. Pero también
puede proporcionarlos en francés, en chino, en portugués y en varios otros idiomas. En esta
sección, revisamos estas características y vemos su efecto en Scilab.
Las características de localización de Scilab cambian dos conjuntos diferentes de características
en Scilab:
• Los mensajes de la aplicación Scilab (menús, mensajes de error, etc.),
• Páginas de ayuda.
La tabla 15 presenta la lista de idiomas admitidos por Scilab 5.5.2 para la aplicación en sí. Para
algunos de estos idiomas, las páginas de ayuda de Scilab se traducen (parcialmente), como se
indica en la tabla.
ca_ES Catalán - España
de_DE Alemán Alemania
en_US Inglés Estados Unidos
es_ES Español - Castellano - España
fr_FR Francés - Francia (con páginas de ayuda)
eso eso Italiano - Italia
ja_JP Japonés - Japón (con páginas de ayuda)
pl_PL Polaco - Polonia
pt_BR Portugués - Brasil (con páginas de ayuda)
ru_RU Rusia - Federación Rusa
uk_UA Ucrania - Ucrania
zh_CN Chino simplificado
zh_TW Chino tradicional
Figura 15: Idiomas admitidos por Scilab.
Scilab proporciona varias funciones que gestiona la localización. Estas funciones se presentan en
la tabla 16.
getdefaultlanguage Devuelve el idioma predeterminado utilizado por Scilab.
getlanguage Devuelve el lenguaje actual utilizado por Scilab.
setdefaultlanguage Establece y guarda el valor de IDIOMA interno.
elegir lenguaje Establece el valor de IDIOMA interno.
dgettext
Obtenga texto traducido en la configuración regional actual y un
dominio específico.
gettext
Obtenga texto traducido en la configuración regional y el dominio
actuales.
_
Obtenga texto traducido en la configuración regional y el dominio
actuales.
Figura 16: Funciones relacionadas con la localización.
En Windows, podemos usar la función setdefaultlanguage, que toma una cadena que representa
el idioma requerido como argumento de entrada. Luego reiniciamos Scilab para que los menús de
la consola se traduzcan. En el siguiente ejemplo, usamos la función setdefaultlanguage para con fi
gurar el idioma en portugués.
setdefaultlanguage ("pt_BR")
Cuando reiniciamos Scilab, los mensajes de error se proporcionan en portugués:
-> 1+ "foo"
! - error 144
Opera ~ A˘g ~ Aco indefinida para os dados operandos.
Verifique ou defina a fun ~ A˘g ~ Aco% s_a_c para overloading.
La figura 17 presenta la página de ayuda de la función bitand en japonés.
Bajo GNU / Linux, Scilab utiliza el lenguaje del sistema operativo, de modo que la mayoría de los
usuarios deberían obtener Scilab en su propio idioma sin configurar Scilab. Por ejemplo, en
Ubuntu, la instalación y la configuración de idiomas se puede hacer en el menú Sistema>
Administración> Soporte de idiomas.
En GNU / Linux o Mac OS X, otra forma de iniciar Scilab en otro idioma es establecer la variable
de entorno LANG. Por ejemplo, el siguiente comando en el terminal Linux ejecuta Scilab en
japonés:
# Inicia Scilab en japonés
LANG = ja_JP scilab
Aún así, puede haber diferencias entre el lenguaje proporcionado por GNU / Linux y el lenguaje
utilizado por Scilab. Estas diferencias pueden provenir de una definición errónea del lenguaje,
donde Scilab no puede encontrar el lenguaje que corresponde al esperado. Cuando ejecutamos
Scilab desde un terminal Linux, puede aparecer el siguiente mensaje:
$ Advertencia: problema de localización.
No es compatible con la configuración regional '' (nula) C.
(proceso: 1516): Gtk-ADVERTENCIA **:
La configuración regional no es compatible con la biblioteca C.
Uso de la ubicación alternativa 'C'.
Una razón común para este error son las diversas formas de definir un idioma. Observe, por
ejemplo, que existe una diferencia entre el idioma "fr" (francés) y el idioma "fr FR" (francés en
Francia). En este caso, debemos configurar el idioma en "fr FR", que es el idioma detectado por
Scilab. Otra razón, especialmente en la distribución Debian GNU / Linux, es que la configuración
regional podría no haberse compilado. En este caso, podemos usar el comando "dpkg-reconfigure
locales" en el terminal de Linux.
Se proporciona más información sobre la localización de Scilab en [8].
2.8 ATOMS, el sistema de embalaje de Scilab
En esta sección, presentamos ATOMS, que es un conjunto de herramientas diseñadas para
instalar cajas de herramientas preconstruidas.
Scilab está diseñado para ser extendido por los usuarios, quienes pueden crear nuevas funciones
y usarlas como si estuvieran distribuidas con Scilab. Estas extensiones se llaman "cajas de
herramientas" o "módulos externos". La creación de un nuevo módulo, con sus páginas de ayuda
y pruebas unitarias, es relativamente simple y esto es parte del éxito de Scilab.
Sin embargo, la mayoría de los módulos no se pueden usar directamente en forma de fuente: el
módulo debe compilarse para que los archivos binarios se puedan cargar en Scilab. Este paso de
compilación no es sencillo y puede ser incluso imposible para los usuarios que desean usar un
módulo basado en el código fuente de C o Fortran y que no tienen un compilador. Este es uno de
los problemas que ATOMS ha resuelto: los módulos se proporcionan en forma binaria, lo que
permite al usuario instalar un módulo sin ninguna fase de compilación y sin problemas de
compatibilidad con Scilab.
Una característica adicional para el usuario es que la mayoría de los módulos están disponibles en
todas las plataformas: los beneficios del desarrollador de la granja de compilación del Consorcio
Scilab, y los beneficios para el usuario de un módulo que, la mayoría de las veces, garantiza ser
una plataforma cruzada.
ATOMS es el sistema de embalaje de módulos externos Scilab. Con esta herramienta, los
módulos Scilab precompilados (es decir, precompilados) se pueden descargar, instalar y
cargar. Las dependencias se administran, de modo que si un módulo A depende de un módulo B,
la instalación del módulo A instala automáticamente el módulo B. Esto es similar al sistema de
empaquetado disponible en la mayoría de las distribuciones GNU / Linux / BSD. Los módulos
ATOMS están disponibles en todos los sistemas operativos en los que Scilab está disponible, es
decir, en Microsoft Windows, GNU / Linux y Mac OS X. Por ejemplo, cuando se instala un módulo
ATOMS en Scilab que se ejecuta en un sistema operativo MS Windows, el El módulo incorporado
que corresponde a la versión MS Windows del módulo se instala automáticamente. El portal web
para ATOMS es:
http://atoms.scilab.org
Este portal presenta la lista completa de módulos de ATOMS y permite a los desarrolladores de
los módulos cargar sus nuevos módulos. La figura 18 presenta los 10 módulos ATOMS más
descargados. Esto es solo un conjunto arbitrario de módulos: más de 100 módulos están
actualmente disponibles en ATOMS.
Herramientas de diseño de procesamiento de imágenes ("IPD")
Funciones para la detección de objetos
Caja de herramientas de procesamiento de imágenes y videos Scilab ("SIVP")
Procesamiento de imágenes y video
Caja de herramientas MinGw
Enlace dinámico con MinGW para Scilab en Windows
Apifun ("apifun")
Comprueba los argumentos de entrada en macros
CPGE ("CPGE")
CPGE dedicado bloques Xcos
Coselica ("coselica")
Standard Open Modelica Blocks
Constructor de GUI ("guibuilder")
Un generador de interfaz gráfica de usuario
Trazado de la biblioteca ("plotlib")
Matlab-como Trazado de la biblioteca
Time Frequency Toolbox ("stftb")
Caja de herramientas desarrollada para el análisis de señales no estacionarias utilizando
distribuciones tiempo-frecuencia.
CelestLab ("celestlab")
CNES Space Mechanics Caja de herramientas para el análisis de la misión
Figura 18: Los 10 módulos ATOMS más descargados.
Hay dos formas de instalar un módulo ATOMS. La primera forma es usar la función atomsGui, que
abre una Interfaz gráfica de usuario (GUI) que permite al usuario navegar por todos los módulos
ATOMS disponibles. Esta herramienta también está disponible en el menú "Aplicaciones>
Administrador de módulos - ATOMS" de la consola Scilab. Dentro de la GUI, podemos leer la
descripción del módulo y simplemente hacer clic en el botón "Instalar". La figura 19 presenta la
GUI de ATOMS.
La segunda forma es usar la función atomsInstall, que toma el nombre de un módulo como
argumento de entrada. Por ejemplo, para instalar el módulo makematrix, se debe ejecutar la
siguiente instrucción:
atomsInstall ("makematrix")
Entonces Scilab debe reiniciarse y el módulo makematrix (y, si lo hay, sus dependencias) se
cargan automáticamente.
Más detalles sobre ATOMS están disponibles en [9].
2.9 Ejercicios
Ejercicio 2.1 (La consola) Escriba la siguiente declaración en la consola.
átomos
Ahora escriba en la tecla <Tab>. ¿Lo que pasa? Ahora escriba la letra "I" y vuelva a escribir en
<Tab>. ¿Lo que pasa?
Ejercicio 2.2 (Uso de exec) Cuando desarrollamos un script Scilab, a menudo usamos la función
exec en combinación con la función ls, que muestra la lista de archivos y directorios en el
directorio actual. También podemos usar el pwd, que muestra el directorio actual. La variable SCI
contiene el nombre del directorio de la instalación Scilab actual. Lo usamos muy a menudo para
ejecutar los scripts que se proporcionan en Scilab. Escriba las siguientes declaraciones en la
consola y vea qué sucede.
pwd
SCI
ls (SCI + "/ modules")
ls (SCI + "/ modules / graphics / demos")
ls (SCI + "/ modules / graphics / demos / 2d_3d_plots")
dname = SCI + "/ modules / graphics / demos / 2d_3d_plots";
filename = fullfile (dname, "contourf.dem.sce");
exec (nombre de archivo)
exec (nombre de archivo);
3 Primeros pasos: trazado
Producir diagramas y gráficos es una tarea muy común para analizar datos y crear informes. Scilab
ofrece muchas formas de crear y personalizar varios tipos de gráficosy diagramas. En esta sección,
presentamos cómo crear gráficos 2D y gráficos de contorno. Luego, personalizamos el título y la
leyenda de nuestros gráficos. Finalmente exportamos las parcelas para que podamos usarlo en un
informe.
3.1 Descripción general
Scilab puede producir muchos tipos de gráficos en 2D y 3D. Puede crear gráficas xy con la función
de trazado, gráficas de contorno con la función de contorno, gráficas 3D con la función de surf,
histogramas con la función histplot y muchos otros tipos de gráficas. Las funciones de trama más
comúnmente utilizadas se presentan en la figura 19.
trama Trama 2D
navegar Trama 3D
contorno dibujo de contorno
tarta Gráfico circular
histplot histograma
bar gráfico de barras
Barh gráfico de barras horizontales
hist3d Histograma 3D
trama polar trazar coordenadas polares
Matplot Diagrama 2D de una matriz usando colores
Sgrayplot trazado 2D liso de una superficie usando colores
Grayplot Trama 2D de una superficie usando colores
Figura 19: funciones de la trama Scilab
Para obtener un ejemplo de una trama 3D, simplemente podemos escribir la declaración surf () en
la consola Scilab.
-> navegar ()
Durante la creación de una trama, utilizamos varias funciones para crear los datos o con fi gurar la
trama. Las funciones presentadas en la figura 20 se usarán en los ejemplos de esta sección.
linspace vector linealmente espaciado
Feval evalúa una función en una grilla
leyenda Con fi gure la leyenda de la trama actual
título con fi gure el título de la trama actual
xtitle con fi gure el título y las leyendas de la trama actual
Figura 20: funciones de Scilab utilizadas al crear un gráfico.
3.2 Trama 2D
En esta sección, presentamos cómo producir un gráfico xy simple. Hacemos hincapié en el uso de
funciones vectorizadas, que producen matrices de datos en una llamada de función.
Comenzamos definiendo la función que se trazará. La función myquadratic cuadra el argumento de
entrada x con el operador "".
función f = myquadratic (x)
f = x ^ 2
función final
Podemos usar la función linspace para producir 50 valores en el intervalo [1,10].
xdata = linspace (1, 10, 50);
La variable xdata ahora contiene un vector de fila con 50 entradas, donde el primer valor es igual a
1 y el último valor es igual a 10. Podemos pasarlo a la función mycuaratática y obtener el valor de
la función en los puntos dados.
ydata = myquadratic (xdata);
Esto produce el vector de fila ydata, que contiene 50 entradas. Finalmente utilizamos la función de
trazado para que los datos se muestren como un gráfico xy.
plot (xdata, ydata)
La Figura 21 presenta la gráfica xy asociada.
Figura 21: un diagrama xy simple.
Tenga en cuenta que podríamos haber producido la misma trama sin generar la matriz intermedia
ydata. De hecho, el segundo argumento de entrada de la función de trazado puede ser una función,
como en la siguiente sesión.
plot (xdata, myquadratic)
Cuando el número de puntos a gestionar es grande, el uso de funciones directamente ahorra una
cantidad significativa de espacio de memoria, ya que evita generar el ydata del vector intermedio.
3.3 Parcelas de contorno
En esta sección, presentamos los diagramas de contorno de una función multivariante y hacemos
uso de la función de contorno. Este tipo de gráfico se usa a menudo en el contexto de optimización
numérica porque dibuja funciones de dos variables de una manera que muestra la ubicación del
óptimo.
El contorno de la función Scilab traza los contornos de una función f. La función de contorno tiene
la siguiente sintaxis
contorno (x, y, z, nz)
dónde
• x (resp. Y) es un vector de fila de valores x (resp. Y) con tamaño n1 (resp n2),
• z es una matriz real de tamaño (n1, n2), que contiene los valoresde la función o una función Scilab
que define la superficie z = f (x, y),
• nz los valores de nivel o el número de niveles.
En la siguiente sesión de Scilab, usamos una forma simple de la función de contorno, donde la
función myquadratic se pasa como un argumento de entrada. La función myquadratic toma dos
argumentos de entrada x1 y x2 y devuelve f (x1, x2) = x1 ^ 2 + x2 ^ 2. La función linspace se usa
para generar vectores de datos para que la función se analice en el rango [-1,1] ^ 2.
función f = myquadratic2arg (x1, x2)
f = x1 ** 2 + x2 ** 2;
función final
xdata = linspace (-1, 1, 100);
ydata = linspace (-1, 1, 100);
contorno (xdata, ydata, myquadratic2arg, 10)
Esto produce la gráfica de contorno presentada en la figura 22.
Figura 22: Diagrama de contorno de la función f (x1, x2) = x1 ^ 2 + x2 ^ 2.
En la práctica, puede suceder que nuestra función tenga el encabezado z = myfunction (x), donde
la variable de entrada x es un vector de fila. El problema es que solo hay un argumento de entrada
único, en lugar de los dos argumentos requeridos por la función de contorno. Hay dos posibilidades
para resolver este pequeño problema:
• proporcionar los datos a la función de contorno haciendo dos bucles anidados,
• proporcionar los datos a la función de contorno mediante el uso de feval,
• definir una nueva función que llame a la primera.
Estas tres soluciones se presentan en esta sección. El primer objetivo es dejar que el lector elija el
método que mejor se adapte a la situación. El segundo objetivo es mostrar que los problemas de
rendimiento se pueden evitar si se hace un uso constante de las funciones proporcionadas por
Scilab.
En la siguiente sesión ingenua de Scilab, definimos la función myquadratic1arg, que toma un vector
como su único argumento de entrada. Luego,realizamos dos buclesanidadospara calcular la matriz
zdata, que contiene los valoresz. Los valoresz se calculan para todas las combinaciones de puntos
(x (i), y (j)) ∈ R ^ 2, para i = 1,2, ..., nx y j = 1,2, ..., ny, donde nx y ny son la cantidad de puntos en
las coordenadas xey. Al final, llamamos a la función de contorno, con la lista de niveles requeridos
(en lugar de la cantidad previa de niveles). Esto obtiene exactamente los niveles que queremos, en
lugar de dejar que Scilab calcule los niveles automáticamente.
función f = myquadratic1arg (x)
f = x (1) ** 2 + x (2) ** 2;
función final
xdata = linspace (-1, 1, 100);
ydata = linspace (-1, 1, 100);
// Precaución ! Dos bucles anidados, esto es malo.
para i = 1: longitud (xdata)
para j = 1: longitud (ydata)
x = [xdata (i) ydata (j)]. ';
zdata (i, j) = myquadratic1arg (x);
fin
fin
contorno (xdata, ydata, zdata, [0.1 0.3 0.5 0.7])
La gráfica de contorno se presenta en la figura 23.
Figura 23: Diagrama de contorno de la función f (x1, x2) = x1 ^ 2 + x2 ^ 2 - Los niveles están
explícitamente configurados.
La secuencia de comandos anterior funciona perfectamente. Aún así, no es eficiente porque usa
dos bucles anidados y esto debería evitarse en Scilab por razones de rendimiento. Otro problema
es que tuvimos que almacenar la matriz zdata, que podría consumir una gran cantidad de espacio
de memoria cuando la cantidad de puntos es grande. Este método debe evitarse ya que es un mal
uso de las funciones proporcionadas por Scilab.
En el siguiente script, utilizamos la función feval, que evalúa una función en una grilla de valores y
devuelve los datoscalculados. La cuadrícula generada está compuesta de todas las combinaciones
de puntos (x (i), y (j)) ∈ R ^ 2. Suponemos aquí que no hay posibilidad de modificar la función
myquadratic1arg, que toma un argumento de entrada. Por lo tanto, creamos una función intermedia
myquadratic3, que toma 2 argumentos de entrada. Una vez hecho esto, pasamos el argumento
myquadratic3 a la función feval y generamos la matriz zdata.
función f = myquadratic1arg (x)
f = x (1) ** 2 + x (2) ** 2;
función final
función f = myquadratic3 (x1, x2)
f = myquadratic1arg ([x1 x2])
función final
xdata = linspace (-1, 1, 100);
ydata = linspace (-1, 1, 100);
zdata = feval (xdata, ydata, myquadratic3);
contorno (xdata, ydata, zdata, [0.1 0.3 0.5 0.7])
La secuencia de comandos anterior produce, por supuesto, exactamente la misma trama que
anteriormente. Este método debe evitarse siempre que sea posible, ya que requiere almacenar la
matriz zdata, que tiene un tamaño de 100 × 100.
Finalmente, hay una tercera forma de crear la trama. En la siguiente sesión de Scilab, usamos la
misma función intermedia myquadratic3 que anteriormente, pero la pasamos directamente a la
función de contorno.
función f = myquadratic1arg (x)
f = x (1) ** 2 + x (2) ** 2;
función final
función f = myquadratic3 (x1, x2)
f = myquadratic1arg ([x1 x2])
función final
xdata = linspace (-1, 1, 100);
ydata = linspace (-1, 1, 100);
contorno (xdata, ydata, myquadratic3, [0.1 0.3 0.5 0.7])
La secuencia de comandos anterior produce, por supuesto, exactamente la misma trama que
anteriormente. La principal ventaja es que no producimos la matriz zdata. Brevemente hemos
delineado cómo producir gráficos 2D simples.
Ahora estamos interesados en la configuración de la trama, de modo que los títulos, ejes y leyendas
correspondan a nuestros datos.
3.4 Títulos, hachas y leyendas
En esta sección, presentamos las características gráficas de Scilab que con fi guran el título, los
ejes y las leyendas de un gráfico xy.
En el siguiente ejemplo, definimos una función cuadrática y la trazamos con la función de trazado.
función f = myquadratic (x)
f = x. ^ 2
función final
xdata = linspace (1, 10, 50);
ydata = myquadratic (xdata);
plot (xdata, ydata)
Ahora tenemos la trama que se presenta en la figura 21.
El sistema de gráficos Scilab se basa en controladores gráficos. Los manejadores de gráficos
proporcionan un acceso orientado a objetos a los campos de una entidad gráfica. El diseño gráfico
se descompone en subobjetos como la línea asociada a la curva, los ejes xey, el título, las
leyendas, etc. Cada objeto puede descomponerse a su vez en otros objetos si es necesario. Cada
objeto gráfico está asociado a una colección de propiedades, como el ancho o el color de la línea
de la curva. Estas propiedades se pueden consultar y configurar simplemente configurando o
obteniendo sus valores, como cualquier otra variable de Scilab. La administración de
identificadores es fácil y muy eficiente.
Pero la mayoría de las configuraciones básicas de trama se pueden hacer mediante llamadas a
funciones simples y, en esta sección, nos enfocaremos en estas características básicas.
En el siguiente guión, usamos la función de título para con fi gurar el título de nuestra trama.
título ("Mi título");
También podemos con fi gurar los ejes de nuestra trama. Para este propósito, usamos la función
xtitle en el siguiente script.
xtitle ("Mi título", "eje X", "eje Y");
La Figura 24 presenta la gráfica producida.
Figura 24: El gráfico xy de una función cuadrática: esta es la misma gráfica que en la figura 21,
con los ejes title y xy configurados.
Puede suceder que deseemos comparar dos conjuntos de datos en la misma gráfica 2D, es decir,
un conjunto de x datos y dos conjuntos de datos y. En el siguiente guión, definimos las dos
funciones f (x) = x ^ 2 yf (x) = 2 * x ^ 2 y graficamos los datos en el mismo diagrama xy. Además,
utilizamos las opciones "+ -" y "o-" de la función de trazado, de modo que podamos distinguir las
dos curvas f (x) = x ^ 2 yf (x) = 2 * x ^ 2.
función f = myquadratic (x)
f = x ^ 2
función final
función f = myquadratic2 (x)
f = 2 * x ^ 2
función final
xdata = linspace (1, 10, 50);
ydata = myquadratic (xdata);
plot (xdata, ydata, "+ -")
ydata2 = myquadratic2 (xdata);
plot (xdata, ydata2, "o-")
xtitle ("Mi título", "eje X", "eje Y");
Además, debemos con fi gurar una leyenda para que podamos saber qué curva está asociada con
f (x) = x ^ 2 y qué curva está asociada con f (x) = 2 * x ^ 2. Para este propósito, usamos la función
de leyenda para imprimir la leyenda asociada a cada curva.
leyenda ("x ^ 2", "2x ^ 2");
La Figura 25 presenta el gráfico xy producido.
Figura 25: El gráfico xy de dos funciones cuadráticas. Hemos configurado la leyenda para que
podamos distinguir las dos funciones f (x) = x ^ 2 y f (x) = 2 * x ^ 2.
Ahora sabemos cómo crear una gráfica y cómo configurarla. Si la trama es lo suficientemente
interesante, puede valer la pena incluirla en un informe. Para hacerlo, podemos exportar la trama
a un archivo, que es el tema de la siguiente sección.
3.5 Exportación
En esta sección, presentamos formas de exportar gráficos a archivos, de forma interactiva o
automática con las funciones de Scilab.
Mapa de bits
Vectorial
xs2png exportar a PNG
xs2pdf exportar a PDF
xs2svg exportar a SVG
xs2eps exportar a Postscript encapsulado
xs2ps exportar a Postscript
xs2emf exportar a EMF (solo para Windows)
Mapa de bits
xs2fig exportar a FIG
xs2gif exportar a GIF
xs2jpg exportar a JPG
xs2bmp exportar a BMP
xs2ppm exportar a PPM
Figura 26: Funciones de exportación.
Alternativamente, podemos usar las funciones xs2 *, presentadas en la figura 26. Todas estas
funciones se basan en la misma secuencia de llamadas:
xs2png (window_number, nombre de archivo)
donde window_number es el número de la ventana de gráficos y el nombre de archivo es el nombre
del archivo para exportar. Por ejemplo, la siguiente sesión exporta el gráfico que está en la ventana
de gráficos número 0, que es la ventana de gráficos predeterminada, en el archivo foo.png.
xs2png (0, "foo.png")
Si queremos producir documentos de mayor calidad, se prefieren los formatos vectoriales. Por
ejemplo, los documentos de LATEX pueden usar diagramas de Scilab exportados a archivos PDF
para mejorar su legibilidad, sea cual sea el tamaño del documento.

Más contenido relacionado

La actualidad más candente

La ciclación de los monosacáridos
La ciclación de los monosacáridos La ciclación de los monosacáridos
La ciclación de los monosacáridos Mª José
 
QOA4
QOA4QOA4
Herramientas de diseño para sistemas embebidos
Herramientas de diseño para sistemas embebidosHerramientas de diseño para sistemas embebidos
Herramientas de diseño para sistemas embebidosLuisf Muñoz
 
Isómeros de fórmula molecular c4 h8o
Isómeros de fórmula molecular c4 h8oIsómeros de fórmula molecular c4 h8o
Isómeros de fórmula molecular c4 h8o
Diego Martín Núñez
 
Archivos C++
Archivos C++Archivos C++
Archivos C++
Gero Calderon
 
Clases de cuantitativa i 2013
Clases de cuantitativa i 2013Clases de cuantitativa i 2013
Clases de cuantitativa i 2013Leag Lopez
 
Sulfato de sodio anhidro
Sulfato de sodio anhidroSulfato de sodio anhidro
Sulfato de sodio anhidro
Elena Blanco
 
Halogenuros de Alquilo y Halogenuros de Acidos
Halogenuros de Alquilo y Halogenuros de AcidosHalogenuros de Alquilo y Halogenuros de Acidos
Halogenuros de Alquilo y Halogenuros de Acidos
Kleyber Castellano
 
Interfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoInterfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduino
Ángel Acaymo M. G.
 
Alcoholes y fenoles
Alcoholes y fenolesAlcoholes y fenoles
Alcoholes y fenoles
karol rodriguez
 
áCido benzoico y benzoato de sodio
áCido benzoico y benzoato de sodioáCido benzoico y benzoato de sodio
áCido benzoico y benzoato de sodioLiliana Eunice
 
Radicales orgánicos de alquilo (r )v2
Radicales orgánicos de alquilo (r )v2Radicales orgánicos de alquilo (r )v2
Radicales orgánicos de alquilo (r )v2David Mls
 
Multímetro agilent
Multímetro agilentMultímetro agilent
Multímetro agilent
ghildamm
 
Propiedades físicas y químicas de los ácidos carboxílicos
Propiedades físicas y químicas de los ácidos carboxílicosPropiedades físicas y químicas de los ácidos carboxílicos
Propiedades físicas y químicas de los ácidos carboxílicosLiliana Eunice
 
Programación de microcontroladores
Programación de microcontroladoresProgramación de microcontroladores
Programación de microcontroladores
Microprocesador Dennis Marilyn
 

La actualidad más candente (20)

Quimica 3
Quimica 3Quimica 3
Quimica 3
 
La ciclación de los monosacáridos
La ciclación de los monosacáridos La ciclación de los monosacáridos
La ciclación de los monosacáridos
 
9. tioles, sulfuros y disulfuros
9. tioles, sulfuros y disulfuros9. tioles, sulfuros y disulfuros
9. tioles, sulfuros y disulfuros
 
QOA4
QOA4QOA4
QOA4
 
Alquenos ii
Alquenos iiAlquenos ii
Alquenos ii
 
Herramientas de diseño para sistemas embebidos
Herramientas de diseño para sistemas embebidosHerramientas de diseño para sistemas embebidos
Herramientas de diseño para sistemas embebidos
 
Isómeros de fórmula molecular c4 h8o
Isómeros de fórmula molecular c4 h8oIsómeros de fórmula molecular c4 h8o
Isómeros de fórmula molecular c4 h8o
 
Archivos C++
Archivos C++Archivos C++
Archivos C++
 
Nomenclatura Iupac form-organica
Nomenclatura  Iupac form-organicaNomenclatura  Iupac form-organica
Nomenclatura Iupac form-organica
 
Clases de cuantitativa i 2013
Clases de cuantitativa i 2013Clases de cuantitativa i 2013
Clases de cuantitativa i 2013
 
Sulfato de sodio anhidro
Sulfato de sodio anhidroSulfato de sodio anhidro
Sulfato de sodio anhidro
 
Reacciones de alquenos
Reacciones de alquenosReacciones de alquenos
Reacciones de alquenos
 
Halogenuros de Alquilo y Halogenuros de Acidos
Halogenuros de Alquilo y Halogenuros de AcidosHalogenuros de Alquilo y Halogenuros de Acidos
Halogenuros de Alquilo y Halogenuros de Acidos
 
Interfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoInterfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduino
 
Alcoholes y fenoles
Alcoholes y fenolesAlcoholes y fenoles
Alcoholes y fenoles
 
áCido benzoico y benzoato de sodio
áCido benzoico y benzoato de sodioáCido benzoico y benzoato de sodio
áCido benzoico y benzoato de sodio
 
Radicales orgánicos de alquilo (r )v2
Radicales orgánicos de alquilo (r )v2Radicales orgánicos de alquilo (r )v2
Radicales orgánicos de alquilo (r )v2
 
Multímetro agilent
Multímetro agilentMultímetro agilent
Multímetro agilent
 
Propiedades físicas y químicas de los ácidos carboxílicos
Propiedades físicas y químicas de los ácidos carboxílicosPropiedades físicas y químicas de los ácidos carboxílicos
Propiedades físicas y químicas de los ácidos carboxílicos
 
Programación de microcontroladores
Programación de microcontroladoresProgramación de microcontroladores
Programación de microcontroladores
 

Similar a scilab-manual

Diapositivas de compiladores
Diapositivas de compiladoresDiapositivas de compiladores
Diapositivas de compiladoresHCL Technologies
 
SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)
SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)
SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)
juandanielp
 
Intro progmacosx[1]
Intro progmacosx[1]Intro progmacosx[1]
Intro progmacosx[1]Moises Levet
 
Manual Pascal
Manual PascalManual Pascal
Manual Pascal
CEUNISAL
 
Tutorial de- c. ++
Tutorial de- c. ++ Tutorial de- c. ++
Tutorial de- c. ++
MartinCetis109
 
Tutorial de-c ++
Tutorial de-c ++Tutorial de-c ++
Tutorial de-c ++
MartinCetis109
 
Tutorial de-c ++
Tutorial de-c ++Tutorial de-c ++
Tutorial de-c ++
MartinCetis109
 
Resumen investigación tesina gnu linux
Resumen investigación tesina gnu linuxResumen investigación tesina gnu linux
Resumen investigación tesina gnu linux
crosbycarbajal
 
Barracuda mvc
Barracuda mvcBarracuda mvc
Barracuda mvc
Luis Angel Martinez
 
Firebird 1.5-quick start-spanish
Firebird 1.5-quick start-spanishFirebird 1.5-quick start-spanish
Firebird 1.5-quick start-spanishJesus Chapo
 
Compiladores
CompiladoresCompiladores
Compiladores
mrbelarmino
 
Java basico 2
Java basico 2Java basico 2
Java basico 2jtk1
 
Java basico 2
Java basico 2Java basico 2
Java basico 2jtk1
 
Programación
ProgramaciónProgramación
Programación
Patricia Nuñez
 
Visual basic 6.0
Visual basic 6.0Visual basic 6.0
Visual basic 6.0
carlos matheus
 
Zanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacionZanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacion
juanpi1991
 
Estructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+xEstructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+x
Sophia Galarraga
 

Similar a scilab-manual (20)

Diapositivas de compiladores
Diapositivas de compiladoresDiapositivas de compiladores
Diapositivas de compiladores
 
SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)
SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)
SAMP (OpenSolaris + Apache + MySQL + PHP / Python / Perl / Drupal / Django)
 
Intro progmacosx[1]
Intro progmacosx[1]Intro progmacosx[1]
Intro progmacosx[1]
 
Manual Pascal
Manual PascalManual Pascal
Manual Pascal
 
Tutorial de- c. ++
Tutorial de- c. ++ Tutorial de- c. ++
Tutorial de- c. ++
 
Tutorial de-c ++
Tutorial de-c ++Tutorial de-c ++
Tutorial de-c ++
 
Tutorial de-c ++
Tutorial de-c ++Tutorial de-c ++
Tutorial de-c ++
 
Resumen investigación tesina gnu linux
Resumen investigación tesina gnu linuxResumen investigación tesina gnu linux
Resumen investigación tesina gnu linux
 
Barracuda mvc
Barracuda mvcBarracuda mvc
Barracuda mvc
 
5 lenguaje (caso de uso)
5 lenguaje  (caso de uso)5 lenguaje  (caso de uso)
5 lenguaje (caso de uso)
 
Firebird 1.5-quick start-spanish
Firebird 1.5-quick start-spanishFirebird 1.5-quick start-spanish
Firebird 1.5-quick start-spanish
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Java basico 2
Java basico 2Java basico 2
Java basico 2
 
Java basico 2
Java basico 2Java basico 2
Java basico 2
 
Programación
ProgramaciónProgramación
Programación
 
Slackware2
Slackware2Slackware2
Slackware2
 
Visual basic 6.0
Visual basic 6.0Visual basic 6.0
Visual basic 6.0
 
5 lenguaje
5 lenguaje5 lenguaje
5 lenguaje
 
Zanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacionZanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacion
 
Estructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+xEstructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+x
 

Más de fgu

Diagrama del mapa curricular BG ppt 39.pdf
Diagrama del mapa curricular BG ppt 39.pdfDiagrama del mapa curricular BG ppt 39.pdf
Diagrama del mapa curricular BG ppt 39.pdf
fgu
 
Notas sobre la Educacion_Media_Superior_ppt_11.docx
Notas sobre la Educacion_Media_Superior_ppt_11.docxNotas sobre la Educacion_Media_Superior_ppt_11.docx
Notas sobre la Educacion_Media_Superior_ppt_11.docx
fgu
 
COMANDOS PHOTOSHOP MARZO 2021.docx
COMANDOS PHOTOSHOP  MARZO 2021.docxCOMANDOS PHOTOSHOP  MARZO 2021.docx
COMANDOS PHOTOSHOP MARZO 2021.docx
fgu
 
Ejercicios_HTML5.pdf
Ejercicios_HTML5.pdfEjercicios_HTML5.pdf
Ejercicios_HTML5.pdf
fgu
 
Visores HTML.docx
Visores HTML.docxVisores HTML.docx
Visores HTML.docx
fgu
 
Formas aplicar CSS a un HTML.docx
Formas aplicar CSS a un HTML.docxFormas aplicar CSS a un HTML.docx
Formas aplicar CSS a un HTML.docx
fgu
 
Ejercicios_HTML5.pdf
Ejercicios_HTML5.pdfEjercicios_HTML5.pdf
Ejercicios_HTML5.pdf
fgu
 
Crea tus gif animados con GIMP.docx
Crea tus gif animados con GIMP.docxCrea tus gif animados con GIMP.docx
Crea tus gif animados con GIMP.docx
fgu
 
sites_google_com_site_karlosnun_curso_html_tablas_html_pli_1.pdf
sites_google_com_site_karlosnun_curso_html_tablas_html_pli_1.pdfsites_google_com_site_karlosnun_curso_html_tablas_html_pli_1.pdf
sites_google_com_site_karlosnun_curso_html_tablas_html_pli_1.pdf
fgu
 
ReglasCSS.docx
ReglasCSS.docxReglasCSS.docx
ReglasCSS.docx
fgu
 
136398 viscosidad solver
136398 viscosidad solver136398 viscosidad solver
136398 viscosidad solver
fgu
 
1 ejerc excel porcentajes
1 ejerc   excel porcentajes1 ejerc   excel porcentajes
1 ejerc excel porcentajes
fgu
 
Procedimiento para crear un aula virtual tarea1
Procedimiento para crear un aula virtual tarea1Procedimiento para crear un aula virtual tarea1
Procedimiento para crear un aula virtual tarea1
fgu
 
Pasos para la investigacion
Pasos para la investigacionPasos para la investigacion
Pasos para la investigacion
fgu
 
Capecidevi proyecto 2018 2
Capecidevi proyecto 2018 2Capecidevi proyecto 2018 2
Capecidevi proyecto 2018 2
fgu
 
Pasos para la investigacion
Pasos para la investigacionPasos para la investigacion
Pasos para la investigacion
fgu
 
Triptico cad 2 d
Triptico cad 2 dTriptico cad 2 d
Triptico cad 2 d
fgu
 
Triptico excel avanzado
Triptico excel avanzadoTriptico excel avanzado
Triptico excel avanzado
fgu
 
Disfunciones en cada fase del ciclo sexual
Disfunciones en cada fase del ciclo sexualDisfunciones en cada fase del ciclo sexual
Disfunciones en cada fase del ciclo sexual
fgu
 
Salud integral del adolescente
Salud integral del adolescente Salud integral del adolescente
Salud integral del adolescente
fgu
 

Más de fgu (20)

Diagrama del mapa curricular BG ppt 39.pdf
Diagrama del mapa curricular BG ppt 39.pdfDiagrama del mapa curricular BG ppt 39.pdf
Diagrama del mapa curricular BG ppt 39.pdf
 
Notas sobre la Educacion_Media_Superior_ppt_11.docx
Notas sobre la Educacion_Media_Superior_ppt_11.docxNotas sobre la Educacion_Media_Superior_ppt_11.docx
Notas sobre la Educacion_Media_Superior_ppt_11.docx
 
COMANDOS PHOTOSHOP MARZO 2021.docx
COMANDOS PHOTOSHOP  MARZO 2021.docxCOMANDOS PHOTOSHOP  MARZO 2021.docx
COMANDOS PHOTOSHOP MARZO 2021.docx
 
Ejercicios_HTML5.pdf
Ejercicios_HTML5.pdfEjercicios_HTML5.pdf
Ejercicios_HTML5.pdf
 
Visores HTML.docx
Visores HTML.docxVisores HTML.docx
Visores HTML.docx
 
Formas aplicar CSS a un HTML.docx
Formas aplicar CSS a un HTML.docxFormas aplicar CSS a un HTML.docx
Formas aplicar CSS a un HTML.docx
 
Ejercicios_HTML5.pdf
Ejercicios_HTML5.pdfEjercicios_HTML5.pdf
Ejercicios_HTML5.pdf
 
Crea tus gif animados con GIMP.docx
Crea tus gif animados con GIMP.docxCrea tus gif animados con GIMP.docx
Crea tus gif animados con GIMP.docx
 
sites_google_com_site_karlosnun_curso_html_tablas_html_pli_1.pdf
sites_google_com_site_karlosnun_curso_html_tablas_html_pli_1.pdfsites_google_com_site_karlosnun_curso_html_tablas_html_pli_1.pdf
sites_google_com_site_karlosnun_curso_html_tablas_html_pli_1.pdf
 
ReglasCSS.docx
ReglasCSS.docxReglasCSS.docx
ReglasCSS.docx
 
136398 viscosidad solver
136398 viscosidad solver136398 viscosidad solver
136398 viscosidad solver
 
1 ejerc excel porcentajes
1 ejerc   excel porcentajes1 ejerc   excel porcentajes
1 ejerc excel porcentajes
 
Procedimiento para crear un aula virtual tarea1
Procedimiento para crear un aula virtual tarea1Procedimiento para crear un aula virtual tarea1
Procedimiento para crear un aula virtual tarea1
 
Pasos para la investigacion
Pasos para la investigacionPasos para la investigacion
Pasos para la investigacion
 
Capecidevi proyecto 2018 2
Capecidevi proyecto 2018 2Capecidevi proyecto 2018 2
Capecidevi proyecto 2018 2
 
Pasos para la investigacion
Pasos para la investigacionPasos para la investigacion
Pasos para la investigacion
 
Triptico cad 2 d
Triptico cad 2 dTriptico cad 2 d
Triptico cad 2 d
 
Triptico excel avanzado
Triptico excel avanzadoTriptico excel avanzado
Triptico excel avanzado
 
Disfunciones en cada fase del ciclo sexual
Disfunciones en cada fase del ciclo sexualDisfunciones en cada fase del ciclo sexual
Disfunciones en cada fase del ciclo sexual
 
Salud integral del adolescente
Salud integral del adolescente Salud integral del adolescente
Salud integral del adolescente
 

Último

Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Demetrio Ccesa Rayme
 
Presentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdfPresentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdf
H4RV3YH3RN4ND3Z
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
valerytorresmendizab
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
MauricioSnchez83
 
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdfGuia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Demetrio Ccesa Rayme
 
Power Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascaradoPower Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascarado
https://gramadal.wordpress.com/
 
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁIMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
Claude LaCombe
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
https://gramadal.wordpress.com/
 
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdfGuia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Demetrio Ccesa Rayme
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
El Fortí
 
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptxSEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
Osiris Urbano
 
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdfUNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
Joan Ribes Gallén
 
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
AracelidelRocioOrdez
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
20minutos
 
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
DanielaBurgosnazario
 
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJELA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
jecgjv
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
20minutos
 
Biografía de Gregor Mendel y sus 3 leyes.pptx
Biografía de Gregor Mendel y sus 3 leyes.pptxBiografía de Gregor Mendel y sus 3 leyes.pptx
Biografía de Gregor Mendel y sus 3 leyes.pptx
ar5498718
 
JOSÉ MARÍA ARGUEDAS cuentos breves para secundaria
JOSÉ MARÍA ARGUEDAS cuentos breves para secundariaJOSÉ MARÍA ARGUEDAS cuentos breves para secundaria
JOSÉ MARÍA ARGUEDAS cuentos breves para secundaria
alegrialesliemarlene
 

Último (20)

Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
 
Presentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdfPresentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdf
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
 
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdfGuia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
 
Power Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascaradoPower Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascarado
 
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁIMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
 
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdfGuia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
 
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptxSEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
 
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdfUNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
 
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
 
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
 
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJELA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
 
Biografía de Gregor Mendel y sus 3 leyes.pptx
Biografía de Gregor Mendel y sus 3 leyes.pptxBiografía de Gregor Mendel y sus 3 leyes.pptx
Biografía de Gregor Mendel y sus 3 leyes.pptx
 
JOSÉ MARÍA ARGUEDAS cuentos breves para secundaria
JOSÉ MARÍA ARGUEDAS cuentos breves para secundariaJOSÉ MARÍA ARGUEDAS cuentos breves para secundaria
JOSÉ MARÍA ARGUEDAS cuentos breves para secundaria
 

scilab-manual

  • 1. Primeros pasos - Contenido En este tutorial, hacemos una descripción general de las características de Scilab para que podamos familiarizarnos con este entorno. El objetivo es presentar el núcleo de las habilidades necesarias para comenzar con Scilab. En la primera parte, presentamos cómo obtener e instalar este software en nuestra computadora. También presentamos cómo obtener ayuda con la documentación provista en línea y también gracias a los recursos y foros web. En la última sección, presentamoslas característicasgráficasde Scilab y mostramos cómo crear una gráfica en 2D, cómo con fi gurar el título y la leyenda, y cómo exportar esa parcela a un formato vectorial o de mapa de bits. Contenido 1 Descripción general 1.1 Introducción 1.2 Descripción general de Scilab 1.3. Cómo obtener e instalar Scilab 1.3.1 Instalación de Scilab en Windows 1.3.2 Instalación de Scilab en Linux 1.3.3 Instalación de Scilab en Mac OS 1.4 Ayuda integrada y en línea 1.5 Listas de correo, informes wiki y de fallos 1.6 Demostraciones de Scilab y macros 2 Primeros pasos 2.1 La consola 2.2 El editor 2.3 Docking 2.4 El navegador de variables y el historial de comandos 2.5 Using exec 2.6 Procesamiento por lotes 2.7 Localización 2.8 ATOMS, el sistema de empaquetado de Scilab 2.9 Ejercicios 3 Trazado 3.1 Resumen 3.2 Trama 2D 3.3 Tramas de contorno 3.4 Títulos, ejes y leyendas 3.5 Exportación 1. Información general En esta sección, presentamos una descripción general de Scilab. La primera subsección presenta el proyecto de fuente abierta asociado con la creación de este documento. Luego presentamos el software, la licencia y los aspectos científicos de Scilab. En la tercera subsección, describimos los métodos para descargar e instalar Scilab en sistemas operativos Windows, GNU / Linux y Mac. En
  • 2. las subsecciones restantes, describimos varias fuentes de información necesarias cuando tenemos que obtener ayuda de Scilab o de otros usuarios. Describimos las páginas de ayuda integradas y analizamos las listas de correo y la wiki que están disponibles en línea. Finalmente, nos tomamos un momento para ver las demostraciones que se proporcionan con Scilab. 1.1 Introducción Este documento es un proyecto de código abierto. Las fuentes de LATEX están disponibles en Scilab Forge: http://forge.scilab.org/index.php/p/docintrotoscilab/ Las fuentes de LATEX se proporcionan bajo los términos de Creative Commons AttributionShareAlike 3.0 Unported License: http://creativecommons.org/licenses/by-sa/3.0 Los scriptsScilab se proporcionan en Forge,dentro delproyecto,bajo elsubdirectorio de scripts. Los scripts están disponibles bajo la licencia CeCiLL: http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt 1.2 Descripción general de Scilab Scilab es un lenguaje de programación asociado con una rica colección de algoritmos numéricos que cubren muchos aspectos de los problemas de la informática científica. Desde el punto de vista del software, Scilab es un lenguaje interpretado. En general, esto acelera el proceso de desarrollo, porque el usuario accede directamente a un lenguaje de alto nivel, con un amplio conjunto de funciones proporcionadas por la biblioteca. El lenguaje Scilab debe extenderse para que los tipos de datos definidospor el usuario se puedan de fi nir con operacionesposiblemente sobrecargadas. Los usuarios de Scilab pueden desarrollar sus propios módulos para que puedan resolver sus problemas particulares. El lenguaje Scilab puede compilar y vincular dinámicamente otros lenguajes como Fortran y C: de esta forma, las bibliotecas externas se pueden usar como si fueran parte de las funciones integradas de Scilab. Scilab también interactúa con LabVIEW, una plataforma y entorno de desarrollo para un lenguaje de programación visual de National Instruments. Desde el punto de vista de la licencia, Scilab es un software libre en el sentido de que el usuario no paga y Scilab es un software de código abierto, provisto bajo la licencia de Cecill [2]. El software se distribuye con código fuente, de modo que el usuario tenga acceso a los aspectos más internos de Scilab. La mayoría de las veces, el usuario descarga e instala una versión binaria de Scilab, ya que el consorcio Scilab ofrece versiones ejecutables de Windows, Linux y Mac OS. La ayuda en línea se proporciona en muchos idiomas locales. Desde el punto de vista científico, Scilab viene con muchas características. Al comienzo de Scilab, las funciones se centraron en el álgebra lineal. Pero, rápidamente, la cantidad de funciones se extendió para abarcar muchas áreas de la informática científica. La siguiente es una breve lista de sus capacidades: • Álgebra lineal, matrices dispersas, • polinomios y funciones racionales, • interpolación, aproximación,
  • 3. • optimización lineal, cuadrática y no lineal, • solucionador de ecuaciones diferenciales ordinarias y solucionador de ecuaciones algebraicas diferenciales, • control clásico y robusto, optimización de desigualdad de matriz lineal, • Optimización diferenciable y no diferenciable, • Procesamiento de señal, • Estadísticas. Scilab proporciona muchas características gráficas, incluido un conjunto de funciones de trazado, que crean gráficos 2D y 3D, así como interfaces de usuario. El entorno Xcos proporciona un modelador y simulador de sistemas dinámicos híbridos. 1.3 Cómo obtener e instalar Scilab Cualquiera que sea su plataforma (es decir, Windows, Linux o Mac), los archivos binarios de Scilab se pueden descargar directamente desde la página principal de Scilab. http://www.scilab.org o desde el área de descarga http://www.scilab.org/download Los archivos binarios Scilab se proporcionan para plataformas de 32 y 64 bits para que coincidan con la máquina de instalación de destino. Scilab también se puede descargar en forma de fuente, para que pueda compilar Scilab usted mismo y producir su propio binario. Compilar Scilab y generar un binario es especialmente interesante cuando queremos comprender o depurar una característica existente, o cuando queremos agregar una nueva característica. Para compilar Scilab, se requieren algunos requisitos previos de archivos binarios, que también se proporcionan en el Centro de descargas. Además, se requiere un compilador de Fortran y un compilador de C. La compilación de Scilab es un proceso que no se detallará más en este documento,ya que este capítulo está dedicado principalmente al comportamiento externo de Scilab. 1.3.1 Instalación de Scilab en Windows Scilab se distribuye como un binario de Windows y se proporciona un instalador para que la instalación sea realmente fácil. La consola Scilab se presenta en la figura 1. Se pueden hacer varios comentarios sobre este proceso de instalación.
  • 4. Figura 1: consola Scilab en Windows. En Windows, si su máquina está basada en un procesador Intel, la biblioteca Intel® Kernel Library (MKL) [6] permite a Scilab realizar cálculos numéricos más rápidos. 1.3.2 Instalación de Scilab en Linux En Linux, las versionesbinariasestán disponibles en el sitio web de Scilab como archivos .tar.gz. No hay necesidad de un programa de instalación con Scilab en Linux: simplemente descomprima el archivo en un directorio de destino. Una vez hecho, el archivo binario se encuentra en <ruta> /scilab5.5.2/bin/scilab. Cuando se ejecuta este script, la consola aparece inmediatamente y se ve exactamente igual que en Windows. Tenga en cuenta que Scilab también se distribuye con el sistema de empaquetado disponible con distribuciones de Linux basadas en Debian (por ejemplo, Ubuntu). Este método de instalación es extremadamente simple y eficiente. Sin embargo, tiene un pequeño inconveniente: la versión de Scilab empaquetada para su distribución de Linux puede no estar actualizada. Esto se debe a que hay una demora (de varias semanas a varios meses) entre la disponibilidad de una versión actualizada de Scilab en Linux y su lanzamiento en distribuciones de Linux. Por ahora, Scilab viene en Linux con una biblioteca de álgebra lineal binaria que garantiza la portabilidad. Bajo Linux, Scilab no viene con una versión binaria de ATLAS [1], por lo que el álgebra lineal es un poco más lenta para esa plataforma, en comparación con Windows. 1.3.3 Instalación de Scilab bajo Mac OS Bajo Mac OS, las versiones binarias están disponibles en el sitio web de Scilab como un archivo .dmg. Este binario funciona para las versiones de Mac OS a partir de la versión 10.5. Utiliza el instalador de Mac OS, que proporciona un proceso de instalación clásico. Scilab no está disponible en los sistemas Power PC. Por razones técnicas, Scilab versión 5.5 para Mac OS X viene con una interfaz Tcl / Tk desactivada. Como consecuencia, hay algunas pequeñas limitaciones en el uso de Scilab en esta plataforma. Por ejemplo, la interfaz Scilab / Tcl (TclSci) y el editor gráfico no funcionan. Estas características se reescribirán en Java en futuras versiones de Scilab y estas limitaciones desaparecerán. Aun así,usar Scilab en un sistema Mac OS es fácil y usa los atajos que son familiares para los usuarios de esta plataforma. Por ejemplo, la consola y el editor usan la tecla Cmd (tecla Apple) que se encuentra en los teclados de Mac. Además, no hay clic derecho en esta plataforma. En cambio, Scilab es sensible al evento de teclado Control-Clic. Por ahora, Scilab viene en Mac OS con una biblioteca de álgebra lineal que está optimizada y garantiza la portabilidad. Bajo Mac OS, Scilab no viene con una versión binaria de ATLAS [1], por lo que el álgebra lineal es un poco más lenta para esa plataforma. 1.4 Ayuda integrada y en línea
  • 5. Figura 2: ventana de ayuda de Scilab. La forma más sencilla de integrar la ayuda en línea en Scilab es utilizar la función de ayuda. La Figura 2 presenta la ventana de ayuda de Scilab. Para usar esta función,simplemente escriba "help" en la consola y presione la tecla <Enter>, como en la siguiente sesión. ayuda Supongamos que quiere ayuda sobre la función optim. Puede intentar navegar por la ayuda integrada, buscar la sección de optimización y luego hacer clic en el elemento optimizado para mostrar su ayuda. Otra posibilidad es usar la función de ayuda, seguida del nombre de la función, para la cual se necesita ayuda, como en la siguiente sesión. ayuda optim Scilab abre automáticamente la entrada asociada en la ayuda. También podemos utilizar la ayuda proporcionada en el sitio web de Scilab https://help.scilab.org/ Esta página siempre contiene la ayuda para la versión actualizada de Scilab. Al utilizar la función de "búsqueda" de mi navegador web, la mayoría de las veces puedo encontrar rápidamente la página de ayuda que necesito. Con ese método, puedo ver las páginas de ayuda para varios
  • 6. comandos Scilab al mismo tiempo (por ejemplo, los comandos derivada yoptim, de modo que pueda proporcionar la función de costo adecuada para la optimización con optimización calculando derivados con derivados). En la siguiente página se presenta una lista de libros comerciales, libros gratuitos, tutoriales en línea y artículos: http://www.scilab.org/resources/documentation 1.5 listas de correo, wiki e informes de errores La lista de correo users@lists.scilab.org está diseñada para todas las preguntas de uso de Scilab. Para suscribirse a esta lista de correo, envíe un correo electrónico a users- subscribe@lists.scilab.org. La lista de correo dev@lists.scilab.org se enfoca en el desarrollo de Scilab, ya sea el desarrollo del núcleo de Scilab o de módulos complicados que interactúan profundamente con el núcleo de Scilab. Para suscribirse a esta lista de correo, envíe un correo electrónico a dev-subscribe@lists.scilab.org. Estas listas de correo están archivadas en: http://mailinglists.scilab.org/Scilab-users-Mailing-Lists-Archives-f2602246.html y: http://mailinglists.scilab.org/Scilab-developers-Mailing-Lists-Archives-f2574944.html Por lo tanto, antes de hacer una pregunta, los usuarios deben considerar buscar en el archivo si la misma pregunta o tema ya ha sido respondido. Una pregunta publicada en la lista de correo puede estar relacionada con un punto técnico muy específico, por lo que requiere una respuesta que no sea lo suficientemente general como para ser pública. La dirección scilab.support@scilab.org está diseñada para este propósito. Los desarrolladores del equipo Scilab brindan respuestas precisas a través de este canal de comunicación. La wiki de Scilab es una herramienta pública para leer y publicar información general sobre Scilab: http://wiki.scilab.org Los usuarios y desarrolladores de Scilab lo utilizan para publicar información sobre Scilab. Desde el punto de vista de un desarrollador, contiene instrucciones paso a paso para compilar Scilab de las fuentes, dependencias de varias versiones de Scilab, instrucciones para usar el repositorio de código fuente de Scilab, etc ... The Scilab Bugzilla http: //bugzilla.scilab. org permite enviar un informe cada vez que encontramos un nuevo error. Puede suceder que este error ya haya sido descubierto por otra persona. Es por eso que se recomienda buscar en la base de datos de errores problemas existentes relacionados antes de informar un nuevo error. Si aún no se informa el error, es muy bueno que lo informe, junto con un script de prueba. Este script de prueba debe ser lo más simple posible para reproducir elproblema e identificar el origen del problema. Una manera eficiente de obtener información actualizada es usar feeds RSS. http://www.scilab.org/en/rss_en.xml Este canal regularmente ofrece comunicados de prensa y anuncios generales. 1.6 Demostraciones de Scilab y macros
  • 7. El consorcio Scilab mantiene una colección de scriptsde demostración,que están disponiblesdesde la consola, en el menú? > Demostraciones Scilab. La Figura 3 presenta la ventana de demostración. Algunas demostraciones son gráficas, mientras que otras son interactivas, lo que significa que el usuario debe escribir en la tecla <Entrar> para pasar al siguiente paso de la demostración. Figura 3: Ventana de demos de Scilab. Los scripts de demostración asociados se encuentran en el directorio Scilab, dentro de cada módulo. Por ejemplo, la demostración asociada con el módulo de optimización se encuentra en el archivo <ruta> scilab-5.5.2 modules optimization demos datafit datafit.dem.sce Por supuesto, la ruta exacta del archivo depende de su instalación particular y su sistema operativo. El análisis del contenido de estos archivos de demostración a menudo es una solución eficiente para resolver problemas comunes y comprender características particulares. Otro método para encontrar algo de ayuda es analizar el código fuente de Scilab (¡Scilab es de hecho de código abierto!). Por ejemplo, la función derivada se encuentra en
  • 8. <ruta> scilab-5.5.2 modules optimization macros derivative.sci La mayoría de las veces, las macros Scilab están muy bien escritas, teniendo en cuenta todas las posibles combinaciones de argumentos de entrada y salida y muchos valores posibles de los argumentos de entrada. A menudo, los problemas numéricos difíciles se resuelven en estos scripts para que proporcionen una fuente profunda de inspiración para desarrollar sus propios scripts. 2 primeros pasos En esta sección, damos nuestros primeros pasos con Scilab y presentamos algunas tareas simples que podemos realizar con el intérprete. Hay varias maneras de usar Scilab y los siguientes párrafos presentan tres métodos: • uso de la consola en el modo interactivo, • uso de la función exec contra un archivo, • uso de procesamiento por lotes. También presentamos la gestión de las ventanas gráficas con el sistema de acoplamiento. Finalmente, presentamos dos características principales de Scilab: la localización de Scilab, que proporciona mensajes y páginas de ayuda en el idioma del usuario, y el sistema ATOMS, un sistema de embalaje para módulos externos. 2.1 La consola La primera es usar Scilab interactivamente, escribiendo comandos en la consola, analizando los resultados y continuando con este proceso hasta que se calcule el resultado final. Este documento está diseñado para que los ejemplos de Scilab que se imprimen aquí se puedan copiar a la consola. El objetivo es que el lector pueda experimentar con el comportamiento de Scilab por sí mismo. De hecho, esta es una buena forma de entender el comportamiento del programa y, la mayoría de las veces, es una forma rápida y fluida de realizar el cálculo deseado. En el siguiente ejemplo, la función disp se usa en el modo interactivo para imprimir la cadena "Hello World!". -> s = "¡Hola mundo!" s = Hola Mundo! -> disp (s) Hola Mundo! En la sesión anterior, no escribimos los caracteres "->" que es el mensaje, y que es administrado por Scilab. Solo escribimos la declaración s = "Hello World!" Con nuestro teclado y luego presionamos la tecla <Enter>. La respuesta de Scilab es s = y Hello World !. Luego escribimos disp (s) y la respuesta de Scilab es Hello World !. Cuando editamos un comando, podemos usar el teclado, como con un editor regular. Podemos usar las flechas ← y derecha → izquierda para mover el cursor en la línea y usar las teclas <Backspace> y <Suppr> para fijar errores en el texto. Para acceder a los comandos ejecutados previamente, usamos la flecha hacia arriba ↑. Esto nos permite navegar por los comandos anteriores usando las teclas de flecha arriba ↑ y abajo ↓. La tecla <Tab> proporciona una función de finalización muy conveniente. En la siguiente sesión, escribimos la declaración disp en la consola. -> disp Luego podemos escribir en la tecla <Tab>, que hace que aparezca una lista en la consola, como se presenta en la figura 4. Scilab muestra un cuadro de lista, donde los elementos corresponden a
  • 9. todas las funciones que comienzan con las letras "disp". Luego podemos usar las teclas de flecha hacia arriba y hacia abajo para seleccionar la función que queremos. Figura 4: la finalización en la consola. La finalización automática funciona con funciones,variables,archivosymanejadoresgráficosy hace que el desarrollo de scripts sea más fácil y rápido. 2.2 El editor Scilab proporciona un editor para editar scripts fácilmente. La Figura 5 presenta el editor durante la edición del ejemplo anterior "Hello World!".
  • 10. Figura 5: El editor. Se puede acceder al editor desde el menú de la consola, en el menú Aplicaciones> Editor , o desde la consola, tal como se presenta en la siguiente sesión. -> editor () Este editor maneja varios archivos al mismo tiempo, como se presenta en la figura 5, donde editamos cinco archivos al mismo tiempo. Hay muchas características que vale la pena mencionar en este editor. Las características más comúnmente utilizadas se encuentran en el menú Ejecutar. • Cargar en Scilab ejecuta las declaraciones en el archivo actual, como si hubiéramos copiado y pegado. Esto implica que las instrucciones que no terminan con el punto y coma ";" generarán una salida en la consola. • Evaluar selección ejecuta las declaraciones que están actualmente seleccionadas. • Ejecutar archivo en Scilab ejecuta el archivo, como si usáramos la función exec. Los resultados que se producen en la consola son solo aquellos que están asociados con funciones de impresión, como por ejemplo disp. También podemos seleccionar unas pocas líneas en el guión, hacer clic con el botón derecho (o Cmd + Click en Mac) y obtener el menú contextual que se presenta en la figura 6.
  • 11. Figura 6: menú contextual en el editor. El menú Editar proporciona una característica muy interesante, comúnmente conocida como una "impresora bonita" en la mayoría de los idiomas. Esta es la función Editar> Corregir sangría, que sangra automáticamente la selección actual. Esta característica es extremadamente conveniente, ya que formatea algoritmos, por lo que el if, for y otrosbloquesestructuradosson fáciles de analizar.
  • 12. Figura 7: Ayuda contextual en el editor. El editor proporciona un acceso rápido a la ayuda en línea. De hecho, supongamos que hemos seleccionado la declaración disp, tal como se presenta en la figura 7. Cuando hacemos clic derecho en el editor, obtenemos el menú contextual, donde la ayuda sobre la entrada "disp" abre la página de ayuda asociada a la función disp. 2.3 Atraque Los gráficos en Scilab versión 5 se han actualizado para que muchos componentes se basen ahora en Java. Esto tiene una serie de ventajas, incluida la posibilidad de administrar ventanas de acoplamiento. El sistema de acoplamiento utiliza Flexdock [12], un proyecto de código abierto que proporciona un marco de acoplamiento Swing. Supongamos que tenemos tanto la consola como el editor abiertos en nuestro entorno, talcomo se presenta en la figura 8. Puede ser molesto administrar dos ventanas, porque una puede ocultar la otra, de modo que tenemos que moverlas constantemente para que realmente mira qué pasa.
  • 13. Figura 8: la barra de título en la ventana de origen. Para colocar el editor en la consola, arrastre y suelte la barra de título del editor en la consola. El sistema Flexdock nos permite arrastrar y soltar el editor en la consola, de modo que finalmente tengamos solo una ventana, con varias ventanas secundarias. Todas las ventanas de Scilab son acoplables, incluidas la consola, el editor, el navegador de variables, el historial de comandos, la ayuda y las ventanas de trazado. En la figura 9, presentamos una situación en la que hemos acoplado cuatro ventanas en la ventana de la consola. Para colocar una ventana en otra ventana, debemos arrastrar y soltar la ventana de origen en la ventana de destino. Para hacer esto, hacemos clic izquierdo en la barra de título de la ventana de acoplamiento, como se indica en la figura 8. Antes de soltar el clic, pasemos el mouse sobre la ventana de destino y observemos que aparece una ventana rodeada de líneas punteadas. Esta ventana "fantasma" indica la ubicación de la futura ventana acoplada. Podemos elegir esta ubicación, que puede estar en la parte superior, inferior, izquierda o derecha de la ventana de destino. Una vez que hemos elegido la ubicación de destino, lanzamos el clic, que finalmente mueve la ventana de origen a la ventana de destino, como en la figura 9.
  • 14. Figura 9: Acciones en la barra de título de la ventana de acoplamiento. La flecha redonda en la barra de título de la ventana desata la ventana. La cruz cierra la ventana. También podemos liberar la ventana de origen sobre la ventana de destino, que crea pestañas, como en la figura 10.
  • 15. Figura 10: pestañas de acoplamiento. 2.4 El navegador de variables y el historial de comandos Scilab proporciona un navegador variable, que muestra la lista de variables utilizadas actualmente en el entorno. La Figura 11 presenta el estado de este navegador durante una sesión. Figura 11: El navegador de variables. Podemos acceder a este navegador a través del menú Aplicaciones> Explorador de variables, pero la función browsevar () tiene el mismo efecto.
  • 16. Podemos hacer doble clic en una variable, que abre el editor de variables, tal como se presenta en la figura 12. Entonces, podemos cambiar de forma interactiva el valor de una variable cambiando su contenido en una celda. Por otro lado, si cambiamos el contenido de la variable dentro de la consola, debemos actualizar el contenido del cuadro de diálogo presionando el botón Actualizar en la barra de herramientas del Editor de Variables. Figura 12: El editor de variables. El cuadro de diálogo Historial de comandos permite navegar a través de los comandos que hemos ejecutado previamente. Este diálogo está disponible en el menú Aplicaciones> Historial de comandos y se presenta en la fi gura 13.
  • 17. Figura 13: El historial de comandos. Podemos seleccionar cualquier comando en la lista y hacer doble clic en él para ejecutarlo en la consola. El clic derecho abre un menú contextual que nos permite evaluar el comando o editarlo en el editor. 2.5 Usando el ejecutivo Cuando se deben ejecutar varios comandos, puede ser más conveniente escribir estas declaraciones en un archivo con el editor Scilab. Para ejecutar los comandos ubicados en dicho archivo, se puede usar la función exec, seguida del nombre del script. Este archivo generalmente tiene la extensión .sce o .sci, dependiendo de su contenido: • los archivos que tienen la extensión .sci contienen funciones Scilab y su ejecución carga las funciones en el entorno Scilab (pero no las ejecuta), • los archivos que tienen la extensión .sce contienen funciones Scilab y ejecutables. La ejecución de un archivo .sce generalmente tiene un efecto, como calcular varias variables y mostrar los resultados en la consola, crear gráficos en 2D, leer o escribir en un archivo, etc. Supongamos que el contenido del archivo myscript.sce es el siguiente. disp ("¡Hola mundo!") En la consola Scilab, podemos usar la función exec para ejecutar el contenido de este script. -> exec ("myscript.sce") -> disp ("¡Hola mundo!") Hola Mundo !
  • 18. En situaciones prácticas, como la depuración de un algoritmo complicado, el modo interactivo se usa la mayor parte del tiempo con una secuencia de llamadas a las funciones exec y disp. 2.6 Procesamiento por lotes Otra forma de usar Scilab es desde la línea de comando. Varias opciones de línea de comandos están disponibles y se presentan en la figura 14. Sea cual sea el sistema operativo, los archivos binarios se encuentran en el directorio scilab-5.3.1 / bin. Las opciones de línea de comando se deben anexar al binario para la plataforma específica, como se describe a continuación. La opción -nw desactiva la visualización de la consola. La opción -nwni inicia el modo no gráfico:en este modo, la consola no se muestra y las funciones de trazado están desactivadas (usarlas generará un error). • En Windows, se proporcionan dos ejecutables binarios. El primer ejecutable es WScilex.exe, la consola interactiva, gráfica habitual. Este ejecutable corresponde al icono que está disponible en el escritorio después de la instalación de Scilab. El segundo ejecutable es Scilex.exe, la consola no gráfica. Con el ejecutable Scilex.exe, la consola basada en Java no se carga y el terminal de Windows se usa directamente. El programa Scilex.exe es sensible a las opciones -nw y -nwni. • En Linux, el script scilab proporciona opciones que configuran su comportamiento. Por defecto, se inicia el modo de gráficos. La secuencia de comandos scilab es sensible a las opciones -nw y - nwni. Hay dos ejecutables adicionales en Linux: scilab-cli y scilab-adv-cli. El ejecutable scilab-adv- cli es equivalente a la opción -nw, mientras que scilab-cli es equivalente a la opción -nwni [7]. • Bajo Mac OS, el comportamiento es similar a la plataforma Linux. En la siguiente sesión de Windows, iniciamos el programa Scilex.exe con la opción -nwni. Luego ejecutamos la función de trazado para verificar que esta función no esté disponible en el modo sin gráficos. C: Archivos de programa scilab-5.5.2 bin> Scilex.exe -nwni Scilab 5.5.2 (31 de marzo de 2015, 12:04:21) -> plot () ! - error 4 Variable indefinida: trama -e instrucción ejecutar la instrucción Scilab dada en la instrucción -file ejecutar el script Scilab dado en el archivo -l lang configure el idioma del usuario, por ejemplo, "fr" para francés y "en" para inglés (el valor predeterminado es "en") -mem N establecer el stack inicial -ns si esta opción está presente,el archivo de inicio scilab.start no se ejecuta -nótese bien si esta opción está presente,no se muestra el banner de bienvenida de Scilab
  • 19. - nouserstartup no ejecute los archivos de inicio del usuario SCIHOME / .scilab o SCIHOME / scilab.ini -noroeste inicia Scilab como línea de comando con funciones avanzadas (por ejemplo, gráficos) -nwni inicia Scilab como línea de comando sin funciones avanzadas -versión imprimir la versión del producto y salir Figura 14: Opciones de línea de comando Scilab. La opción de línea de comando más útil es la opción -f, que ejecuta los comandos de un archivo dado, un método generalmente llamado procesamiento por lotes. Supongamos que el contenido del archivo myscript2.sce es el siguiente, donde la función de salir se usa para salir de Scilab. disp ("¡Hola mundo!") dejar() El comportamiento predeterminado de Scilab es esperar la entrada de nuevos usuarios: esta es la razón por la cual se usa el comando quit, para que la sesión finalice. Para ejecutar la demostración en Windows, creamos el directorio " C: scripts " y escribimos las declaraciones en el archivo C: scripts helloworld.sce. La siguiente sesión, ejecutada desde el terminal MS Windows, muestra cómo usar la opción -f para ejecutar el script anterior. Tenga en cuenta que usamos la ruta absoluta del ejecutable Scilex.exe. C: scripts> "C: Archivos de programa scilab-5.5.2 bin Scilex.exe" -f helloworld.sce Scilab 5.5.2 (31 de marzo de 2015, 12:04:21) Hola Mundo! Cualquier línea que comience con los dos caracteres de barra "//" es considerada por Scilab como un comentario y se ignora. Para verificar que Scilab se mantenga de manera predeterminada en modo interactivo, comentamos la declaración de abandono con la sintaxis "//", como en el siguiente script. disp ("¡Hola mundo!") //dejar() Si escribimos el comando "scilex -f helloworld.sce" en el terminal, Scilab ahora esperará la entrada del usuario, como se esperaba. Para salir, escribimos de forma interactiva la declaración quit () en el terminal. 2.7 Localización Por defecto, Scilab proporciona sus mensajes y sus páginas de ayuda en inglés. Pero también puede proporcionarlos en francés, en chino, en portugués y en varios otros idiomas. En esta sección, revisamos estas características y vemos su efecto en Scilab. Las características de localización de Scilab cambian dos conjuntos diferentes de características en Scilab: • Los mensajes de la aplicación Scilab (menús, mensajes de error, etc.),
  • 20. • Páginas de ayuda. La tabla 15 presenta la lista de idiomas admitidos por Scilab 5.5.2 para la aplicación en sí. Para algunos de estos idiomas, las páginas de ayuda de Scilab se traducen (parcialmente), como se indica en la tabla. ca_ES Catalán - España de_DE Alemán Alemania en_US Inglés Estados Unidos es_ES Español - Castellano - España fr_FR Francés - Francia (con páginas de ayuda) eso eso Italiano - Italia ja_JP Japonés - Japón (con páginas de ayuda) pl_PL Polaco - Polonia pt_BR Portugués - Brasil (con páginas de ayuda) ru_RU Rusia - Federación Rusa uk_UA Ucrania - Ucrania zh_CN Chino simplificado zh_TW Chino tradicional Figura 15: Idiomas admitidos por Scilab. Scilab proporciona varias funciones que gestiona la localización. Estas funciones se presentan en la tabla 16. getdefaultlanguage Devuelve el idioma predeterminado utilizado por Scilab. getlanguage Devuelve el lenguaje actual utilizado por Scilab. setdefaultlanguage Establece y guarda el valor de IDIOMA interno. elegir lenguaje Establece el valor de IDIOMA interno. dgettext Obtenga texto traducido en la configuración regional actual y un dominio específico.
  • 21. gettext Obtenga texto traducido en la configuración regional y el dominio actuales. _ Obtenga texto traducido en la configuración regional y el dominio actuales. Figura 16: Funciones relacionadas con la localización. En Windows, podemos usar la función setdefaultlanguage, que toma una cadena que representa el idioma requerido como argumento de entrada. Luego reiniciamos Scilab para que los menús de la consola se traduzcan. En el siguiente ejemplo, usamos la función setdefaultlanguage para con fi gurar el idioma en portugués. setdefaultlanguage ("pt_BR") Cuando reiniciamos Scilab, los mensajes de error se proporcionan en portugués: -> 1+ "foo" ! - error 144 Opera ~ A˘g ~ Aco indefinida para os dados operandos. Verifique ou defina a fun ~ A˘g ~ Aco% s_a_c para overloading. La figura 17 presenta la página de ayuda de la función bitand en japonés. Bajo GNU / Linux, Scilab utiliza el lenguaje del sistema operativo, de modo que la mayoría de los usuarios deberían obtener Scilab en su propio idioma sin configurar Scilab. Por ejemplo, en Ubuntu, la instalación y la configuración de idiomas se puede hacer en el menú Sistema> Administración> Soporte de idiomas. En GNU / Linux o Mac OS X, otra forma de iniciar Scilab en otro idioma es establecer la variable de entorno LANG. Por ejemplo, el siguiente comando en el terminal Linux ejecuta Scilab en japonés: # Inicia Scilab en japonés LANG = ja_JP scilab Aún así, puede haber diferencias entre el lenguaje proporcionado por GNU / Linux y el lenguaje utilizado por Scilab. Estas diferencias pueden provenir de una definición errónea del lenguaje, donde Scilab no puede encontrar el lenguaje que corresponde al esperado. Cuando ejecutamos Scilab desde un terminal Linux, puede aparecer el siguiente mensaje: $ Advertencia: problema de localización. No es compatible con la configuración regional '' (nula) C. (proceso: 1516): Gtk-ADVERTENCIA **: La configuración regional no es compatible con la biblioteca C. Uso de la ubicación alternativa 'C'. Una razón común para este error son las diversas formas de definir un idioma. Observe, por ejemplo, que existe una diferencia entre el idioma "fr" (francés) y el idioma "fr FR" (francés en
  • 22. Francia). En este caso, debemos configurar el idioma en "fr FR", que es el idioma detectado por Scilab. Otra razón, especialmente en la distribución Debian GNU / Linux, es que la configuración regional podría no haberse compilado. En este caso, podemos usar el comando "dpkg-reconfigure locales" en el terminal de Linux. Se proporciona más información sobre la localización de Scilab en [8]. 2.8 ATOMS, el sistema de embalaje de Scilab En esta sección, presentamos ATOMS, que es un conjunto de herramientas diseñadas para instalar cajas de herramientas preconstruidas. Scilab está diseñado para ser extendido por los usuarios, quienes pueden crear nuevas funciones y usarlas como si estuvieran distribuidas con Scilab. Estas extensiones se llaman "cajas de herramientas" o "módulos externos". La creación de un nuevo módulo, con sus páginas de ayuda y pruebas unitarias, es relativamente simple y esto es parte del éxito de Scilab. Sin embargo, la mayoría de los módulos no se pueden usar directamente en forma de fuente: el módulo debe compilarse para que los archivos binarios se puedan cargar en Scilab. Este paso de compilación no es sencillo y puede ser incluso imposible para los usuarios que desean usar un módulo basado en el código fuente de C o Fortran y que no tienen un compilador. Este es uno de los problemas que ATOMS ha resuelto: los módulos se proporcionan en forma binaria, lo que permite al usuario instalar un módulo sin ninguna fase de compilación y sin problemas de compatibilidad con Scilab. Una característica adicional para el usuario es que la mayoría de los módulos están disponibles en todas las plataformas: los beneficios del desarrollador de la granja de compilación del Consorcio Scilab, y los beneficios para el usuario de un módulo que, la mayoría de las veces, garantiza ser una plataforma cruzada. ATOMS es el sistema de embalaje de módulos externos Scilab. Con esta herramienta, los módulos Scilab precompilados (es decir, precompilados) se pueden descargar, instalar y cargar. Las dependencias se administran, de modo que si un módulo A depende de un módulo B, la instalación del módulo A instala automáticamente el módulo B. Esto es similar al sistema de empaquetado disponible en la mayoría de las distribuciones GNU / Linux / BSD. Los módulos ATOMS están disponibles en todos los sistemas operativos en los que Scilab está disponible, es decir, en Microsoft Windows, GNU / Linux y Mac OS X. Por ejemplo, cuando se instala un módulo ATOMS en Scilab que se ejecuta en un sistema operativo MS Windows, el El módulo incorporado que corresponde a la versión MS Windows del módulo se instala automáticamente. El portal web para ATOMS es: http://atoms.scilab.org Este portal presenta la lista completa de módulos de ATOMS y permite a los desarrolladores de los módulos cargar sus nuevos módulos. La figura 18 presenta los 10 módulos ATOMS más descargados. Esto es solo un conjunto arbitrario de módulos: más de 100 módulos están actualmente disponibles en ATOMS. Herramientas de diseño de procesamiento de imágenes ("IPD") Funciones para la detección de objetos
  • 23. Caja de herramientas de procesamiento de imágenes y videos Scilab ("SIVP") Procesamiento de imágenes y video Caja de herramientas MinGw Enlace dinámico con MinGW para Scilab en Windows Apifun ("apifun") Comprueba los argumentos de entrada en macros CPGE ("CPGE") CPGE dedicado bloques Xcos Coselica ("coselica") Standard Open Modelica Blocks Constructor de GUI ("guibuilder") Un generador de interfaz gráfica de usuario Trazado de la biblioteca ("plotlib") Matlab-como Trazado de la biblioteca Time Frequency Toolbox ("stftb") Caja de herramientas desarrollada para el análisis de señales no estacionarias utilizando distribuciones tiempo-frecuencia. CelestLab ("celestlab") CNES Space Mechanics Caja de herramientas para el análisis de la misión Figura 18: Los 10 módulos ATOMS más descargados. Hay dos formas de instalar un módulo ATOMS. La primera forma es usar la función atomsGui, que abre una Interfaz gráfica de usuario (GUI) que permite al usuario navegar por todos los módulos ATOMS disponibles. Esta herramienta también está disponible en el menú "Aplicaciones> Administrador de módulos - ATOMS" de la consola Scilab. Dentro de la GUI, podemos leer la descripción del módulo y simplemente hacer clic en el botón "Instalar". La figura 19 presenta la GUI de ATOMS. La segunda forma es usar la función atomsInstall, que toma el nombre de un módulo como argumento de entrada. Por ejemplo, para instalar el módulo makematrix, se debe ejecutar la siguiente instrucción: atomsInstall ("makematrix") Entonces Scilab debe reiniciarse y el módulo makematrix (y, si lo hay, sus dependencias) se cargan automáticamente. Más detalles sobre ATOMS están disponibles en [9]. 2.9 Ejercicios
  • 24. Ejercicio 2.1 (La consola) Escriba la siguiente declaración en la consola. átomos Ahora escriba en la tecla <Tab>. ¿Lo que pasa? Ahora escriba la letra "I" y vuelva a escribir en <Tab>. ¿Lo que pasa? Ejercicio 2.2 (Uso de exec) Cuando desarrollamos un script Scilab, a menudo usamos la función exec en combinación con la función ls, que muestra la lista de archivos y directorios en el directorio actual. También podemos usar el pwd, que muestra el directorio actual. La variable SCI contiene el nombre del directorio de la instalación Scilab actual. Lo usamos muy a menudo para ejecutar los scripts que se proporcionan en Scilab. Escriba las siguientes declaraciones en la consola y vea qué sucede. pwd SCI ls (SCI + "/ modules") ls (SCI + "/ modules / graphics / demos") ls (SCI + "/ modules / graphics / demos / 2d_3d_plots") dname = SCI + "/ modules / graphics / demos / 2d_3d_plots"; filename = fullfile (dname, "contourf.dem.sce"); exec (nombre de archivo) exec (nombre de archivo); 3 Primeros pasos: trazado Producir diagramas y gráficos es una tarea muy común para analizar datos y crear informes. Scilab ofrece muchas formas de crear y personalizar varios tipos de gráficosy diagramas. En esta sección, presentamos cómo crear gráficos 2D y gráficos de contorno. Luego, personalizamos el título y la leyenda de nuestros gráficos. Finalmente exportamos las parcelas para que podamos usarlo en un informe. 3.1 Descripción general Scilab puede producir muchos tipos de gráficos en 2D y 3D. Puede crear gráficas xy con la función de trazado, gráficas de contorno con la función de contorno, gráficas 3D con la función de surf, histogramas con la función histplot y muchos otros tipos de gráficas. Las funciones de trama más comúnmente utilizadas se presentan en la figura 19. trama Trama 2D navegar Trama 3D contorno dibujo de contorno tarta Gráfico circular histplot histograma
  • 25. bar gráfico de barras Barh gráfico de barras horizontales hist3d Histograma 3D trama polar trazar coordenadas polares Matplot Diagrama 2D de una matriz usando colores Sgrayplot trazado 2D liso de una superficie usando colores Grayplot Trama 2D de una superficie usando colores Figura 19: funciones de la trama Scilab Para obtener un ejemplo de una trama 3D, simplemente podemos escribir la declaración surf () en la consola Scilab. -> navegar () Durante la creación de una trama, utilizamos varias funciones para crear los datos o con fi gurar la trama. Las funciones presentadas en la figura 20 se usarán en los ejemplos de esta sección. linspace vector linealmente espaciado Feval evalúa una función en una grilla leyenda Con fi gure la leyenda de la trama actual título con fi gure el título de la trama actual xtitle con fi gure el título y las leyendas de la trama actual Figura 20: funciones de Scilab utilizadas al crear un gráfico. 3.2 Trama 2D En esta sección, presentamos cómo producir un gráfico xy simple. Hacemos hincapié en el uso de funciones vectorizadas, que producen matrices de datos en una llamada de función. Comenzamos definiendo la función que se trazará. La función myquadratic cuadra el argumento de entrada x con el operador "". función f = myquadratic (x) f = x ^ 2 función final Podemos usar la función linspace para producir 50 valores en el intervalo [1,10]. xdata = linspace (1, 10, 50);
  • 26. La variable xdata ahora contiene un vector de fila con 50 entradas, donde el primer valor es igual a 1 y el último valor es igual a 10. Podemos pasarlo a la función mycuaratática y obtener el valor de la función en los puntos dados. ydata = myquadratic (xdata); Esto produce el vector de fila ydata, que contiene 50 entradas. Finalmente utilizamos la función de trazado para que los datos se muestren como un gráfico xy. plot (xdata, ydata) La Figura 21 presenta la gráfica xy asociada. Figura 21: un diagrama xy simple. Tenga en cuenta que podríamos haber producido la misma trama sin generar la matriz intermedia ydata. De hecho, el segundo argumento de entrada de la función de trazado puede ser una función, como en la siguiente sesión. plot (xdata, myquadratic) Cuando el número de puntos a gestionar es grande, el uso de funciones directamente ahorra una cantidad significativa de espacio de memoria, ya que evita generar el ydata del vector intermedio. 3.3 Parcelas de contorno En esta sección, presentamos los diagramas de contorno de una función multivariante y hacemos uso de la función de contorno. Este tipo de gráfico se usa a menudo en el contexto de optimización numérica porque dibuja funciones de dos variables de una manera que muestra la ubicación del óptimo. El contorno de la función Scilab traza los contornos de una función f. La función de contorno tiene la siguiente sintaxis contorno (x, y, z, nz) dónde • x (resp. Y) es un vector de fila de valores x (resp. Y) con tamaño n1 (resp n2), • z es una matriz real de tamaño (n1, n2), que contiene los valoresde la función o una función Scilab que define la superficie z = f (x, y), • nz los valores de nivel o el número de niveles.
  • 27. En la siguiente sesión de Scilab, usamos una forma simple de la función de contorno, donde la función myquadratic se pasa como un argumento de entrada. La función myquadratic toma dos argumentos de entrada x1 y x2 y devuelve f (x1, x2) = x1 ^ 2 + x2 ^ 2. La función linspace se usa para generar vectores de datos para que la función se analice en el rango [-1,1] ^ 2. función f = myquadratic2arg (x1, x2) f = x1 ** 2 + x2 ** 2; función final xdata = linspace (-1, 1, 100); ydata = linspace (-1, 1, 100); contorno (xdata, ydata, myquadratic2arg, 10) Esto produce la gráfica de contorno presentada en la figura 22. Figura 22: Diagrama de contorno de la función f (x1, x2) = x1 ^ 2 + x2 ^ 2. En la práctica, puede suceder que nuestra función tenga el encabezado z = myfunction (x), donde la variable de entrada x es un vector de fila. El problema es que solo hay un argumento de entrada único, en lugar de los dos argumentos requeridos por la función de contorno. Hay dos posibilidades para resolver este pequeño problema: • proporcionar los datos a la función de contorno haciendo dos bucles anidados, • proporcionar los datos a la función de contorno mediante el uso de feval, • definir una nueva función que llame a la primera. Estas tres soluciones se presentan en esta sección. El primer objetivo es dejar que el lector elija el método que mejor se adapte a la situación. El segundo objetivo es mostrar que los problemas de
  • 28. rendimiento se pueden evitar si se hace un uso constante de las funciones proporcionadas por Scilab. En la siguiente sesión ingenua de Scilab, definimos la función myquadratic1arg, que toma un vector como su único argumento de entrada. Luego,realizamos dos buclesanidadospara calcular la matriz zdata, que contiene los valoresz. Los valoresz se calculan para todas las combinaciones de puntos (x (i), y (j)) ∈ R ^ 2, para i = 1,2, ..., nx y j = 1,2, ..., ny, donde nx y ny son la cantidad de puntos en las coordenadas xey. Al final, llamamos a la función de contorno, con la lista de niveles requeridos (en lugar de la cantidad previa de niveles). Esto obtiene exactamente los niveles que queremos, en lugar de dejar que Scilab calcule los niveles automáticamente. función f = myquadratic1arg (x) f = x (1) ** 2 + x (2) ** 2; función final xdata = linspace (-1, 1, 100); ydata = linspace (-1, 1, 100); // Precaución ! Dos bucles anidados, esto es malo. para i = 1: longitud (xdata) para j = 1: longitud (ydata) x = [xdata (i) ydata (j)]. '; zdata (i, j) = myquadratic1arg (x); fin fin contorno (xdata, ydata, zdata, [0.1 0.3 0.5 0.7]) La gráfica de contorno se presenta en la figura 23. Figura 23: Diagrama de contorno de la función f (x1, x2) = x1 ^ 2 + x2 ^ 2 - Los niveles están explícitamente configurados.
  • 29. La secuencia de comandos anterior funciona perfectamente. Aún así, no es eficiente porque usa dos bucles anidados y esto debería evitarse en Scilab por razones de rendimiento. Otro problema es que tuvimos que almacenar la matriz zdata, que podría consumir una gran cantidad de espacio de memoria cuando la cantidad de puntos es grande. Este método debe evitarse ya que es un mal uso de las funciones proporcionadas por Scilab. En el siguiente script, utilizamos la función feval, que evalúa una función en una grilla de valores y devuelve los datoscalculados. La cuadrícula generada está compuesta de todas las combinaciones de puntos (x (i), y (j)) ∈ R ^ 2. Suponemos aquí que no hay posibilidad de modificar la función myquadratic1arg, que toma un argumento de entrada. Por lo tanto, creamos una función intermedia myquadratic3, que toma 2 argumentos de entrada. Una vez hecho esto, pasamos el argumento myquadratic3 a la función feval y generamos la matriz zdata. función f = myquadratic1arg (x) f = x (1) ** 2 + x (2) ** 2; función final función f = myquadratic3 (x1, x2) f = myquadratic1arg ([x1 x2]) función final xdata = linspace (-1, 1, 100); ydata = linspace (-1, 1, 100); zdata = feval (xdata, ydata, myquadratic3); contorno (xdata, ydata, zdata, [0.1 0.3 0.5 0.7]) La secuencia de comandos anterior produce, por supuesto, exactamente la misma trama que anteriormente. Este método debe evitarse siempre que sea posible, ya que requiere almacenar la matriz zdata, que tiene un tamaño de 100 × 100. Finalmente, hay una tercera forma de crear la trama. En la siguiente sesión de Scilab, usamos la misma función intermedia myquadratic3 que anteriormente, pero la pasamos directamente a la función de contorno. función f = myquadratic1arg (x) f = x (1) ** 2 + x (2) ** 2; función final función f = myquadratic3 (x1, x2) f = myquadratic1arg ([x1 x2]) función final xdata = linspace (-1, 1, 100); ydata = linspace (-1, 1, 100); contorno (xdata, ydata, myquadratic3, [0.1 0.3 0.5 0.7]) La secuencia de comandos anterior produce, por supuesto, exactamente la misma trama que anteriormente. La principal ventaja es que no producimos la matriz zdata. Brevemente hemos delineado cómo producir gráficos 2D simples. Ahora estamos interesados en la configuración de la trama, de modo que los títulos, ejes y leyendas correspondan a nuestros datos. 3.4 Títulos, hachas y leyendas En esta sección, presentamos las características gráficas de Scilab que con fi guran el título, los ejes y las leyendas de un gráfico xy. En el siguiente ejemplo, definimos una función cuadrática y la trazamos con la función de trazado.
  • 30. función f = myquadratic (x) f = x. ^ 2 función final xdata = linspace (1, 10, 50); ydata = myquadratic (xdata); plot (xdata, ydata) Ahora tenemos la trama que se presenta en la figura 21. El sistema de gráficos Scilab se basa en controladores gráficos. Los manejadores de gráficos proporcionan un acceso orientado a objetos a los campos de una entidad gráfica. El diseño gráfico se descompone en subobjetos como la línea asociada a la curva, los ejes xey, el título, las leyendas, etc. Cada objeto puede descomponerse a su vez en otros objetos si es necesario. Cada objeto gráfico está asociado a una colección de propiedades, como el ancho o el color de la línea de la curva. Estas propiedades se pueden consultar y configurar simplemente configurando o obteniendo sus valores, como cualquier otra variable de Scilab. La administración de identificadores es fácil y muy eficiente. Pero la mayoría de las configuraciones básicas de trama se pueden hacer mediante llamadas a funciones simples y, en esta sección, nos enfocaremos en estas características básicas. En el siguiente guión, usamos la función de título para con fi gurar el título de nuestra trama. título ("Mi título"); También podemos con fi gurar los ejes de nuestra trama. Para este propósito, usamos la función xtitle en el siguiente script. xtitle ("Mi título", "eje X", "eje Y"); La Figura 24 presenta la gráfica producida. Figura 24: El gráfico xy de una función cuadrática: esta es la misma gráfica que en la figura 21, con los ejes title y xy configurados. Puede suceder que deseemos comparar dos conjuntos de datos en la misma gráfica 2D, es decir, un conjunto de x datos y dos conjuntos de datos y. En el siguiente guión, definimos las dos funciones f (x) = x ^ 2 yf (x) = 2 * x ^ 2 y graficamos los datos en el mismo diagrama xy. Además, utilizamos las opciones "+ -" y "o-" de la función de trazado, de modo que podamos distinguir las dos curvas f (x) = x ^ 2 yf (x) = 2 * x ^ 2. función f = myquadratic (x) f = x ^ 2 función final
  • 31. función f = myquadratic2 (x) f = 2 * x ^ 2 función final xdata = linspace (1, 10, 50); ydata = myquadratic (xdata); plot (xdata, ydata, "+ -") ydata2 = myquadratic2 (xdata); plot (xdata, ydata2, "o-") xtitle ("Mi título", "eje X", "eje Y"); Además, debemos con fi gurar una leyenda para que podamos saber qué curva está asociada con f (x) = x ^ 2 y qué curva está asociada con f (x) = 2 * x ^ 2. Para este propósito, usamos la función de leyenda para imprimir la leyenda asociada a cada curva. leyenda ("x ^ 2", "2x ^ 2"); La Figura 25 presenta el gráfico xy producido. Figura 25: El gráfico xy de dos funciones cuadráticas. Hemos configurado la leyenda para que podamos distinguir las dos funciones f (x) = x ^ 2 y f (x) = 2 * x ^ 2. Ahora sabemos cómo crear una gráfica y cómo configurarla. Si la trama es lo suficientemente interesante, puede valer la pena incluirla en un informe. Para hacerlo, podemos exportar la trama a un archivo, que es el tema de la siguiente sección. 3.5 Exportación En esta sección, presentamos formas de exportar gráficos a archivos, de forma interactiva o automática con las funciones de Scilab. Mapa de bits Vectorial xs2png exportar a PNG xs2pdf exportar a PDF
  • 32. xs2svg exportar a SVG xs2eps exportar a Postscript encapsulado xs2ps exportar a Postscript xs2emf exportar a EMF (solo para Windows) Mapa de bits xs2fig exportar a FIG xs2gif exportar a GIF xs2jpg exportar a JPG xs2bmp exportar a BMP xs2ppm exportar a PPM Figura 26: Funciones de exportación. Alternativamente, podemos usar las funciones xs2 *, presentadas en la figura 26. Todas estas funciones se basan en la misma secuencia de llamadas: xs2png (window_number, nombre de archivo) donde window_number es el número de la ventana de gráficos y el nombre de archivo es el nombre del archivo para exportar. Por ejemplo, la siguiente sesión exporta el gráfico que está en la ventana de gráficos número 0, que es la ventana de gráficos predeterminada, en el archivo foo.png. xs2png (0, "foo.png") Si queremos producir documentos de mayor calidad, se prefieren los formatos vectoriales. Por ejemplo, los documentos de LATEX pueden usar diagramas de Scilab exportados a archivos PDF para mejorar su legibilidad, sea cual sea el tamaño del documento.