Primeros pasos - ContenidoEn 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, presentamos las características gráficas de 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 scripts Scilab se proporcionan en Forge, dentro del proyecto, bajo el subdirectorio 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 definidos por el usuario se puedan de fi nir con operaciones posiblemente 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 versiones binarias está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 y optim, 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
[email protected] 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-
[email protected]. La lista de correo
[email protected] 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
[email protected]. 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
[email protected] 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 el problema 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 scripts de demostración, que están disponibles desde 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, archivos y manejadores gráficos y 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 otros bloques estructurados son 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, tal como 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 configure el idioma del usuario, por ejemplo, "fr" para francés y "en" para -l lang 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 si esta opción está presente, no se muestra el banner de bienvenida de -nótese bien Scilab - no ejecute los archivos de inicio del usuario SCIHOME / .scilab o nouserstartup SCIHOME / scilab.ini inicia Scilab como línea de comando con funciones avanzadas (por -noroeste 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. Obtenga texto traducido en la configuración regional actual y un dgettext dominio específico. Obtenga texto traducido en la configuración regional y el dominio gettext 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áficos y 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 valores de 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 bucles anidados para calcular la matriz zdata, que contiene los valores z. Los valores z 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 datos calculados. 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.