guía introductoria a maple 9 - biblioteca de software cientifico
Transcripción
guía introductoria a maple 9 - biblioteca de software cientifico
GUÍA INTRODUCTORIA A MAPLE® 9 Versión de manual 1.0 Universidad Complutense de Madrid Servicio Informático de Apoyo a Docencia e Investigación Mª del Carmen Bravo (revisión febrero 2004) U.C.M./- SIADI. C.Bravo MAPLE® pág 1 U.C.M./- SIADI. C.Bravo MAPLE® pág 2 PRÓLOGO Estas notas constituyen el pequeño manual de referencia que los usuarios de MAPLE de la Universidad Complutense de Madrid pueden consultar. No es una guía completa del programa Maple, pero sí una aproximación a sus más elementales componentes. Si bien el origen de este manual data de la versión Maple V, sucesivas versiones del mismo han ido incorporando las nuevas utilidades de Maple. La actualización más importante de este manual se refiere a Maple 9 con respecto al anterior, referido a Maple 7. La actualización más importante del software Maple fue Maple 6 con respecto a Maple V. Nota relativa a la nueva interfaz de usuario en Maple 9 La nueva interfaz de usuario de Maple 9 incorpora java por lo que maple consume bastantes más recursos que la anterior interfaz de usuario. Coexiste la interfaz de usuario de versiones anteriores de maple (llamadas aquí interfaz de usuario u hoja de trabajo clásica). La calidad de las imágenes que se obtiene con el nuevo interfaz de Maple 9 es inferior a la calidad de los gráficos en la versión anterior y en la versión del interfaz clásico de Maple 9 (Maple Worksheet). La razón es que el gráfico que se muestra en el worksheet es un GIF de baja resolución, y a pesar de incrementar la calidad en la impresión mediante el menú de Opciones, no se obtiene una calidad aceptable. Esto se comprueba imprimiendo en papel y exportando a formatos de gran resolución (con el interfaz gráfico) como EPS. Observamos así mismo que al realizar un copiar y pegar con salidas de maple a otros programas sucede lo mismo. A esto sólo caben dos soluciones: Utilizar la worksheet clásica o realizar la exportación del gráfico mediante sentencias maple (véase página 50). Enlaces de interés A continuación se muestran algunas páginas de interés para los usuarios de Maple. Waterloo Maple web site (Maplesoft) http://www.maplesoft.com/ U.C.M./- SIADI. C.Bravo MAPLE® pág 3 The Maple Application Center Más de 1000 aplicaciones Maple escritas por y para usuarios de Maple. También contiene tutoriales. Se puede acceder desde Waterloo Maple web site. Dirección: http://www.mapleapps.com/index.asp Maple Power Tools Power Tools es una completa colección de paquetes para Maple que pueden resultar de gran utilidad para profesores, ingenieros o investigadores. Contiene múltiples cursos de libre distribución. Están más elaboradas y están revisadas. La oferta actual incluye paquetes educativos y paquetes de investigación. Entre los paquetes educativos se encuentran: Abstract Algebra, Advanced Engineering Mathematics, Calculus I, II y III, Classical Mechanics, Complex Analysis, Differential Eq., Intr. To Physics, Linear Algebra, Maple Essentials and Programming, Math Class, Matrix Algebra, Post-Secondary Mathematics, Vector Calculus. Entre los paquetes de investigación se encuentran: Dynaflex, Finite Elements, JavaViewLib, Nonlinear Programming y Syrup. http://www.mapleapps.com/powertools/index.shtml Maple Student Center Dirigido a estudiantes preuniversitarios. Son generadas por maplesoft. http://www.maple4students.com/ Addlink Software científico Distribuidor en España de Maple. Tiene hiperenlaces a direcciones de interés en relación al producto Maple. http://www.addlink.es/ U.C.M./- SIADI. C.Bravo MAPLE® pág 4 ÍNDICE PRÓLOGO ...................................................................................................................................................3 Nota relativa a la nueva interfaz de usuario en Maple 9...........................................................................3 Enlaces de interés .....................................................................................................................................3 Waterloo Maple web site (Maplesoft) ..................................................................................................3 The Maple Application Center .............................................................................................................4 Maple Power Tools...............................................................................................................................4 Maple Student Center ...........................................................................................................................4 Addlink Software científico..................................................................................................................4 CAPÍTULO I. INTRODUCCIÓN A MAPLE Y ENTORNO DE TRABAJO ............................................7 Características fundamentales ..................................................................................................................7 Funcionalidades........................................................................................................................................7 Información sobre novedades de las versiones.....................................................................................8 Interfaz de usuario ....................................................................................................................................9 Pc:.......................................................................................................................................................10 Unix:...................................................................................................................................................11 Entorno de trabajo: .............................................................................................................................12 Guardar una sesión: ............................................................................................................................13 Recuperar una sesión:.........................................................................................................................15 CAPÍTULO II. FUNDAMENTOS DE MAPLE®......................................................................................16 Ejemplo de una sesión MAPLE®: ..........................................................................................................16 Análisis simbólico ..................................................................................................................................16 Normas generales de sintaxis y de evaluación........................................................................................16 Organización de MAPLE® en paquetes y funciones: ............................................................................18 Paquetes de Maple..............................................................................................................................18 Acceso a los paquetes de MAPLE® ....................................................................................................18 Ayuda en MAPLE®: ...............................................................................................................................19 Algunas ayudas útiles .........................................................................................................................21 Tutorial de Maple con ejemplos: ........................................................................................................22 CAPÍTULO III. ELEMENTOS BÁSICOS DE MAPLE® .........................................................................23 Objetos de MAPLE®: .............................................................................................................................23 Expresiones: .......................................................................................................................................23 Secuencia de expresiones: ..................................................................................................................23 Conjuntos y listas: ..............................................................................................................................24 Operandos de objetos de MAPLE® ....................................................................................................25 Asignación de expresiones a nombres:...................................................................................................25 Ecuaciones:.............................................................................................................................................26 Ecuaciones e inecuaciones: ....................................................................................................................27 CAPÍTULO IV. MATEMÁTICAS CON MAPLE®: FUNDAMENTOS. .................................................28 Cálculos básicos en MAPLE®: ...............................................................................................................28 Funciones elementales en MAPLE®.......................................................................................................29 Definición de funciones:.........................................................................................................................31 Funciones de MAPLE® ..........................................................................................................................33 Comandos para operandos de expresiones u objetos de maple: op, nops y subop: ................................33 Comandos map y zip ..............................................................................................................................35 CAPÍTULO V. MATEMÁTICAS AVANZADAS CON MAPLE® ..........................................................37 Resolución de ecuaciones e inecuaciones: .............................................................................................37 Representación RootOf ..........................................................................................................................38 Formas evaluadas y no evaluadas. Comando value................................................................................39 Diferenciación e integración:..................................................................................................................39 Integrales ................................................................................................................................................40 Ecuaciones diferenciales y en derivadas parciales .................................................................................41 Límites....................................................................................................................................................42 Expansión de series ................................................................................................................................42 Sumas finitas, series y productos: Funciones Sum y Product.................................................................43 Algebra lineal .........................................................................................................................................44 Paquete LinearAlgebra .......................................................................................................................44 Paquete linalg .....................................................................................................................................46 Estadística y finanzas .............................................................................................................................47 U.C.M./- SIADI. C.Bravo MAPLE® pág 5 CASO PRÁCTICO.....................................................................................................................................48 CAPÍTULO VI. GRÁFICOS .....................................................................................................................50 Gráficos en dos dimensiones ..................................................................................................................52 Ejemplo de hoja de trabajo plot2d.mws .................................................................................................52 Gráficos en tres dimensiones..................................................................................................................59 Ejemplo de hoja de trabajo plot3d.mws .................................................................................................59 Exportación de un gráfico a otros formatos............................................................................................66 CAPÍTULO VII. UTILIDADES DE MAPLE® .........................................................................................68 Entrada y salida ......................................................................................................................................68 Liberación de memoria...........................................................................................................................69 Debugging ..............................................................................................................................................69 Interacción con MatLab..........................................................................................................................69 Conversión a código C y código FORTRAN .........................................................................................69 Interacción con C: ..................................................................................................................................70 Interación con Excel 2000 o superior .....................................................................................................70 Infolevel .................................................................................................................................................70 Definición de procedimientos.................................................................................................................71 Interface(verboseproc=2); ......................................................................................................................71 Programación..........................................................................................................................................71 APÉNDICE I. NOVEDADES DE LAS VERSIONES ..............................................................................72 Novedades de Maple 9 ...........................................................................................................................72 Novedades de MAPLE 8® : ....................................................................................................................72 Novedades de MAPLE 7 ........................................................................................................................72 Novedades de MAPLE 6 ........................................................................................................................73 Compatibilidad de MAPLE 6 con MAPLE V® v5 .................................................................................73 APÉNDICE II. PAQUETES DE MAPLE 9...............................................................................................74 APÉNDICE II. USO DE MAPLE EN DIGITAL UNIX............................................................................76 Utilizacion en interactivo: ......................................................................................................................76 Utilizacion en interactivo, fuera del entorno de MAPLE: ......................................................................76 Utilizacion en batch:...............................................................................................................................76 Imprimir desde xmaple:..........................................................................................................................76 U.C.M./- SIADI. C.Bravo MAPLE® pág 6 CAPÍTULO I. INTRODUCCIÓN A MAPLE Y ENTORNO DE TRABAJO Maple es una potente herramienta, que incorpora algoritmos simbólicos propios reconocidos y que permite realizar algebra simbólica, cálculo numérico, resolver ecuaciones diferenciales, gráficos y animaciones. Maple incorpora desde su versión 6 los prestigiosos resolvedores numéricos proporcionados por su socio Numerical Algorithms Group (NAG). Características fundamentales • Resolución de problemas simbólicamente • Resolución de problemas numéricamente. • Gráficos Ejemplo: > plot(sin); • Ayuda tipo hipertexto • Procesador de textos con hyperlinks Funcionalidades Maple incorpora más de 3000 funciones para cálculo simbólico y numérico entre las que se incluyen funciones para: • Algebra: aritmética simbólica con números reales y complejos o polinomios, factorización, expansión, combinación y simplificación de expresiones algebraicas y polinomios, secuencias y series. • Cálculo: Derivadas, integrales y límites, rutinas de visualización para diferenciación e integración. U.C.M./- SIADI. C.Bravo MAPLE® pág 7 • Ecuaciones diferenciales: Resolución numérica y exacta de ecuaciones y sistemas de ecuaciones diferenciales ordinarias (ODE) y problemas de valor inicial, resolución numérica de problemas de valores de contorno, resolución exacta de ecuaciones y sistemas de ecuaciones en derivadas parciales (PDE), análisis estructural y reducción de orden de ODEs y PDEs. • Álgebra Lineal: Más de 100 funciones para construir, resolver y programar en álgebra lineal, construcción de matrices de Hankel, Hilbert, identidad, Toeplitz, Vandermonde, Bezout y la matriz Silvester de dos polinomios. • Cálculo Vectorial: Derivadas direccionales, gradientes, matriz Hessiana, Laplacianas, rotacionales y divergencias de un campo vectorial, matrices Jacobianas y Wronskian, productos escalares, vectoriales y externos de vectores y operadores diferenciales. • Otras funciones: funciones para álgebras abstractas, álgebra de operadores lineales, curvas algebraicas, funciones y estructuras combinatorias, variables complejas, ajuste de curvas, álgebra diferencial, matemática financiera, series de potencia, teoría de grafos, programación lineal, lógica, estadística, etc, etc... • Programación: Maple da acceso al mismo lenguaje de programación, herramientas y rutinas básicas con las que ha sido desarrollado. Tiene un lenguaje de programación avanzado que incluye programación funcional y procedural, sobrecarga de operadores, manipulación de excepciones, herramientas de depuración, etc. • Visualización: Incluye un amplio conjunto de herramientas de visualización con gráficos típicos predefinidos, gráficos 2D y 3D, animaciones 2D y 3D, una amplia variedad de tipos de coordenadas, gráficos implícitos 2D y 3D, gráficos vectoriales, contornos, gráficos complejos, gráficos de ODEs y PDEs, rotación en tiempo real, objetos geométricos predefinidas, iluminación. • Interfaz de usuario: Maple utiliza hojas de cálculo, tiene amplias capacidades de edición y procesado de textos, gestor de hiperenlaces, menús contextuales, paletas, exportación a HTML, LaTeX y RTF • Conectividad: Maple está adherido a los estándares internacionales para comunicación de datos soportando un amplio número de formatos. Información sobre novedades de las versiones Para conocer las novedades de una versión con respecto a la anterior, se recomienda acceder a esta información en el programa MAPLE, a HELP/WHAT’S NEW. Para conocer la compatibilidad de una nueva versión con respecto a la anterior, se recomienda acceder a esta información a través de la ayuda HELP/WHAT’S NEW/ Compatibility. El programa Maple mantiene información acerca de las novedades de todas las versiones, a la que se puede acceder desde la ayuda. U.C.M./- SIADI. C.Bravo MAPLE® pág 8 Para ver un resumen de novedades de cada una de las versiones consultar apéndice I en página 72. Interfaz de usuario A partir de la versión 9, al iniciar el programa Maple, se abre por defecto una hoja de trabajo que incorpora Java. Esta hoja de trabajo consume más recursos que la hoja de trabajo clásica, a la que también se puede acceder desde la nueva versión de Maple, a partir de Classical Worksheet. A continuación se muestra la nueva hoja de trabajo de Maple. En la siguiente figura, se muetra la explicación de los iconos propios de Maple, omitiéndose aquéllos que son comunes en casi todas las aplicaciones windows. Parar la ejecución de Maple Modo de escritura textual Restaurar Maple Modo de escritura Maple Solicitar ayuda de un tema Encerrar en una subsección Abrir una subsección U.C.M./- SIADI. C.Bravo MAPLE® pág 9 Ejecución completa de la hoja Ejecución de los elementos seleccionados Cambiar el input de maple entre notación Standard Math y notación input matemático de maple Cambiar el modo entre textual y modo input de maple Corrector de sintaxis de maple Las opciones de menú son muy similares a las de la hoja de trabajo clásica y pueden verse más adelante. Lo que sucede en esta nueva versión de hoja de trabajo con las paletas no deja de ser curioso y voy a tratar de explicar qué sucede. Al activarlas no las vemos, pero las ventanas se encuentran en la barra de windows. Si las “rescatamos” de la barra de windows las vemos y las podemos usar en la hoja de trabajo, pero en el momento en que damos una pulsación de ratón en la hoja de trabajo (por ejemplo para escribir algo) dejamos de verlas nuevamente. Por este motivo, recomendamos que si se desea hacer uso de paletas, se utilice la hoja de trabajo clásica. Hoja de trabajo clásica Pc: U.C.M./- SIADI. C.Bravo MAPLE® pág 10 Se puede hacer uso de estas paletas para incorporar expresiones en el modo input maple. Unix: U.C.M./- SIADI. C.Bravo MAPLE® pág 11 Entorno de trabajo: El entorno de trabajo es la Worksheet de MAPLE. En esta Worksheet tenemos: • Objetos principales: - Gráficos - Hyperlinks y bookmarks - Input y output de Maple: Los input de MAPLE son las sentencias ejecutables de MAPLE y vienen antecedidas por el símbolo >. Si en un grupo de ejecución hay varias sentencias se ejecutan secuencialmente todas al dar a intro. - Texto: Se permite cambiar características del mismo y darle estilos • - - Constructores de documentación: Grupos de ejecución: Cada grupo de ejecución se compone de todas aquellas sentencias incluídas en un corchete izquierdo ([) y que se envían conjuntamente a ejecución. Párrafos. Secciones +, -: Estos símbolos permiten que un conjunto de sentencias se abra o cierre respectivamente. Hyperlinks o hyperenlaces. Ejemplo: U.C.M./- SIADI. C.Bravo MAPLE® pág 12 Guardar una sesión: En la nueva worksheet, si se almacenan hojas de trabajo en ficheros se hace a partir de la opción de menú File Æ Save As. Para el resto de formatos, hay que realizarlo a partir U.C.M./- SIADI. C.Bravo MAPLE® pág 13 de la opción de menú File -> Export as. A continuación se muestran los distintos tipos de formatos de salida: • Como fichero de trabajo Maple : ‘Maple Worksheet (.mw, .mws (hoja de trabajo clásica)): Guarda toda la sesión, los comandos y los resultados. Este fichero posteriormente es importable como hoja de trabajo Maple. A la derecha se muestra los formatos de salida en la worksheet nueva desde la opción de menú File Æ Export as. Otros formatos son: • • • • • • Como fichero html Como maple input (.mpl) Como Maplet (.maplet) Como fichero de texto Maple: (.txt): Guarda los comandos de Maple. Este fichero posteriormente es importable como texto Maple. Como fichero de texto(.txt) Como fichero fuente Latex: Al compilar en latex el fichero generado, debe encontrarse el fichero de estilo ‘maple2e.sty’ u otros en el directorio de librerías o ficheros de estilo de latex. En Unix: /usr/local/maple/etc/inputs2e/maple2e.sty En Pc: c:\camino-directorio-maple\etc\maple2e.sty En este subdirectorio \etc se encuentran otros ficheros de estilos. • • Como fichero de html (.html) Como fichero de texto enriquecido RTF para Word 2000. Se muestran abajo los modos de exportación que se muestran en la worksheet clásica a partir de la opción de menú File Æ Save as, a la izquierda y a partir de la opción de menú File Æ Export as, a la derecha. U.C.M./- SIADI. C.Bravo MAPLE® pág 14 Recuperar una sesión: Se pueden abrir los ficheros del tipo que, a continuación se muestran en la worksheet nueva, a la izquierda y la worksheet antigua, a la derecha. U.C.M./- SIADI. C.Bravo MAPLE® pág 15 CAPÍTULO II. FUNDAMENTOS DE MAPLE®. Ejemplo de una sesión MAPLE®: Texto Input de Maple Análisis simbólico Se permiten: Variables incógnita Valores exactos: p.ej. 1/3 en lugar de 0.333... En sucesivos pasos Por tanto, Los valores numéricos de un desarrollo se pueden calcular al final, eliminándose así errores de redondeo. Maple da así soluciones exactas, mejores que las de cualquier método numérico ‘aproximado’. Normas generales de sintaxis y de evaluación Sentencias Maple: U.C.M./- SIADI. C.Bravo MAPLE® pág 16 • Las sentencias y expresiones maple pueden estar expresadas en notación maple Ejemplo: diff(x^2,x) o en notación standard math ( ejemplo ). • Para ir de un modo al otro, se puede realizar con el botón derecho del ratón o bien con los iconos de la interfaz de usuario en la barra superior. • • • • • • • • • • • • • • Ambos tipos de expresiones se pueden escribir ayudándose de las paletas de expresiones y símbolos. Para activar estas paletas hay que seleccionar la opción de menú View Æ Palettes Æ Select all, o bien, se seleccionan las paletas necesarias. Existen cuatro paletas: symbol, expression, Matrix y Vector. MAPLE es sensible a mayúsculas y minúsculas. En general, se escribe casi todo en minúsculas El símbolo > indica el input de MAPLE en notación maple. La cadena >? indica el input de MAPLE en notación stándar math ; Terminar una sentencia. Si se olvida al final de una línea se puede poner en la siguiente : Terminar una sentencia y no ver el resultado de la misma al evaluarla. % Hace referencia al resultado de la sentencia última ejecutada %% Hace referencia al resultado de la sentencia penúltima ejecutada %%% Hace referencia al resultado de la antepenúltima sentencia ejecutada := Operador de asignación index[ ] .. Dar rango de variación quit Salir de Maple SHIFT+ENTER: Permite continuar una sentencia maple en la siguiente línea. ENTER: Evalua o lleva a ejecución una sentencia o bloques de sentencias maple Comandos Maple: nombre-comando(secuencia-parámetros); secuencia-parámetros: parámetros separados por comas Composición de comandos: @ Ejecución en Maple Como hemos dicho anteriormente, ENTER lleva a evaluación una sentencia o bloque de sentencias maple. Para llevar a ejecución conjuntos de bloques o toda la hoja de trabajo se puede hacer uso de los iconos de admiración de la interfaz de usuario. Al pulsar el botón derecho del ratón sobre la evaluación (resultado) de un comando o expresión maple, se puede operar sobre estas expresiones maple. En el siguiente ejemplo se puede ver el resultado de activar la diferenciación en x de la expresión resultante del comando int. U.C.M./- SIADI. C.Bravo MAPLE® pág 17 Variables globales de MAPLE En el entorno de MAPLE existen variables globales de las que el usuario puede modificar su valor por defecto (Digits, _MaxSols... . Muchas de estas variables son lógicas (_EnvExplicit, _EnvAllSolutions...) Organización de MAPLE® en paquetes y funciones: MAPLE está organizado en paquetes de áreas temáticas que se componen de comandos o funciones. Por defecto, existe un paquete básico al que no es necesario acceder. El resto de los paquetes se accede con el comando > with(nombre-paquete); Paquetes de Maple Para ver un resumen de novedades de cada una de las versiones consultar apéndice II en página 74 Acceso a los paquetes de MAPLE® Acceder a todas las funciones del paquete: >with (paquete); Acceder a una función o comando del paquete: >with (paquete,función); Utilizar una función o comando de un paquete: Si se tiene accedido el paquete que la contiene o la función: > función (secuencia-de-argumentos); U.C.M./- SIADI. C.Bravo MAPLE® pág 18 Si no se tiene accedido el paquete que la contiene o la función: > paquete[función] (secuencia-de-argumentos); Al invocar un paquete de MAPLE puede cambiar la definición de algunas funciones. Por ejemplo, al invocar el paquete linalg (para álgebra lineal) las funciones norm y trace cambian. Nota: No siempre que el manual especifica el uso de un paquete para invocar una función, es necesario (Véase ejemplo de matriz.mws en el capítulo V). Sin embargo, se recomienda su uso para evitar errores. Ayuda en MAPLE®: El sistema de ayuda en Maple es bastante bueno y recomendamos su utilización. El sistema de ayuda ha cambiado con la nueva versión de maple, si bien la worksheet clásica, presenta el sistema de ayuda antiguo. Se presentan aquí una pantalla de ambos sistemas de ayuda. • Visión de la ayuda en la nueva worksheet: U.C.M./- SIADI. C.Bravo MAPLE® pág 19 • Vemos a continuación el aspecto de la ayuda con la worksheet clásica. Paneles de Información U.C.M./- SIADI. C.Bravo MAPLE® pág 20 Ayuda • Comandos en la hoja de trabajo: > help (acercadealgo); > help (`palabra reservada de Maple`); >? Obtención de ayuda > ?paquete Información acerca de un paquete y sus funciones o comandos. > ?paquete,función Información acerca de una función o un comando de un paquete. > related(comando); Proporciona comandos relacionados con comando. • La ayuda relacionada con un comando se puede fraccionar en varios subcomandos: > info (comando); Proporciona una línea de información acerca de comando. > usage (comando); Proporciona la forma de uso de comando > example(comando); Proporciona ejemplos de comando Algunas ayudas útiles Help on: initially-known names (constantes) (Topic search: initialnames) initially-known funciones (funciones) (Topic search: initialfcn) Packages A estas ayudas se puede acceder desde los paneles de ayuda con: Mathematics Æ General Information Æ initially-known names Æ initially-known functions U.C.M./- SIADI. C.Bravo MAPLE® pág 21 Æ packages Tutorial de Maple con ejemplos: El programa MAPLE viene acompañado de unos ficheros de aprendizaje que interactuan con el usuario. A través de la ayuda puede accederse a ellos. Además, existen ficheros de ejemplo de programación en maple cuya ubicación es: En unix: /usr/local/maple/examples En Pc: Se encuentran en el directorio C:\Archivos de programa\Maple 9\examples. Se puede acceder a ellas a través de la ayuda. Accediendo a través del icono Help a Introduction y desde la página de ayuda activando el hyperenlace New User’s Tour . Se puede acceder a una lista de las hojas de trabajo de ejemplo a traves del panel de ayuda izquierdo en el item: Example Worksheets Index. U.C.M./- SIADI. C.Bravo MAPLE® pág 22 CAPÍTULO III. ELEMENTOS BÁSICOS DE MAPLE® Objetos de MAPLE®: − − − − Números: Enteros, racionales, irracionales, complejos y coma flotante Constantes Strings ‘string‘ Nombres. Comienzan por una letra, seguido de caracteres alfanuméricos o _ (de hasta 500.000 caracteres) − Expresión: En su nivel básico: valor, incógnita, string. En otro nivel, varios valores, incógnitas, strings combinadas con operadores aritméticos. Se puede hacer uso de llamadas a funciones − Secuencia de expresiones: Una o más expresiones separadas por comas − Conjuntos y listas. Se crean a partir de secuencia de expresiones Expresiones: − Operadores aritméticos: +,-,*,/,^,** − ^ y ** son equivalentes. Una expresión con ellos tiene sólo dos operadores. Es errónea la expresión a^b^c pero correcta (a^b)^c − Se puede hacer uso de paréntesis. − Orden de evaluación, el habitual en lenguajes de programación. Secuencia de expresiones: Dos formas de generar secuencia de expresiones: con el símbolo $ y con el comando seq . seq es un comando muy rápido de ejecución. Sintaxis: expresion (en i) $ i=m..n expresion $ n $m..n seq(expresión (en i), i=m..n) Ejemplo: > $ 2..5; 2, 3, 4, 5 > i^2 $ i = 2/3 .. 8/3; 4/9, 25/9, 64/9 > a[i] $ i = 1..3; a[1], a[2], a[3] > x$4; x, x, x, x U.C.M./- SIADI. C.Bravo MAPLE® pág 23 > seq(i!,i=1..7); 1, 2, 6, 24, 120, 720, 5040 > seq(x^i+sqrt(2) ,i=1..5); x + 2 , x2 + 2 , x3 + 2 , x4 + 2 , x5 + 2 . Conjuntos y listas: − Conjunto: Tiene la sintaxis {secuencia de expresiones}. Un conjunto es un conjunto no ordenado de expresiones distintas. Conjunto en sentido matemático. Conjunto vacío: {} − Lista: [secuencia de expresiones] Secuencia ordenada de expresiones. El orden viene dado por secuencia de expresiones. Lista vacía: [ ] Operadores para listas o conjuntos: • • • • • • • • • Selección de elementos de una lista S: S[i..j] devuelve una sublista op(i..j,S) devuelve una secuencia de elementos S[i] es equivalente a op(i,S) devuelve un elemento ATENCIÓN: Aunque estos tres comandos se pueden utilizar también para conjuntos, no tiene demasiado sentido hacerlo ya que en un conjunto no existe orden. Selectores negativos: -1 es el último elemento, -2 el penúltimo... Número de operadores de una lista o conjunto S: nops(S) Añadir un elemento x a una lista L: [op(L),x] Añadir un elemento x a un conjunto C: C union {x} Reemplazar el elemento i-ésimo de una lista L por x: subsop(i=x, L) Borrar el elemento i-ésimo de una lista L: subsop(i=NULL,L) Borrar un elemento x de un conjunto C: C minus {x} Preguntar por un elemento de un conjunto o lista S: member(elemento,S) Recapitulando parece coherente el uso de listas: Operadores para conjuntos: Operadores para listas: Operadores para conjuntos y listas: los siguientes operadores para conjuntos y union, intersect, minus op, nops, subsop member (member(x,L)) Puede haber listas y/o conjuntos de listas y/o conjuntos. Ejemplo: U.C.M./- SIADI. C.Bravo MAPLE® pág 24 Operandos de objetos de MAPLE® Los objetos de MAPLE se componen de operandos. El tipo de operandos de un objeto depende del tipo del objeto: Por ejemplo, los operandos de una expresión algebraica son los sumandos de la misma, los de una lista o conjunto, sus elementos, etc. En el capítulo de MATEMÁTICAS CON MAPLE: FUNDAMENTOS, se muestran los comandos que se utilizan para obtener los operandos de los objetos. Asignación de expresiones a nombres: Se hace mediante el operador de asignación := o mediante la función assign nombre := expresión; Se evalúa la expresión y el resultado se asigna a nombre. En MAPLE, los resultados de los comandos ejecutados son transitorios. Si estos resultados se quieren utilizar posteriormente deben asignarse a nombres. Función assign: assign – Realiza asignaciones. U.C.M./- SIADI. C.Bravo MAPLE® pág 25 Sintaxis: > assign(nombre , expresion); > assign(nombre = expresion ); > assign(t); Argumentos: nombre: expresion: t: Nombre Expresión, nunca una secuencia de expresiones lista o conjunto de ecuaciones assign(t) se puede aplicar para asignar valores a una lista o conjunto de soluciones de un sistema de ecuaciones resultado de la función solve (Véase el ejemplo de la sección Resolución de ecuaciones e inecuaciones del capítulo de Matemáticas avanzadas). Ejemplo: > assign ([x=6, y=5]); > x; 6 > y; 5 Ejemplo: Se debe tener cuidado con las asignaciones y evaluaciones. Veamos un ejemplo. Definición de función f: > f := (x,y) - > x^2 + y^2 : > c := 2; d := 1; z := f(c,d); c:=2 d:=1 z:=5 > c := 3; d := 3; z ; c:=3 d:=3 5 Desasignar nombres: > unassign ( secuencia-nombres-entre-comillas); Esta operación además de dejar sin asignación el nombre, libera memoria. Preguntar por asignaciones: > assigned (nombre); Resultado booleano que informa si nombre tiene asignación Ecuaciones: Se utiliza el operador = No son asignaciones U.C.M./- SIADI. C.Bravo MAPLE® pág 26 Son expresiones matemáticas Ecuaciones e inecuaciones: Los símbolos utilizados son: =, <>, <, <=, >, >= Estos operadores son vistos como operadores relacionales en el contexto booleano U.C.M./- SIADI. C.Bravo MAPLE® pág 27 CAPÍTULO IV. MATEMÁTICAS CON MAPLE®: FUNDAMENTOS. Cálculos básicos en MAPLE®: Enteros: Se permiten números muy grandes Cálculos con enteros: Son directos Funciones: abs, min, max, mod, ifactor , trigonométricas.... Racionales e irracionales: Aritmética racional exacta El número racional 5/2 (exacto) y el número de coma flotante 2.5 (aproximado) son distintos para MAPLE Numeros en coma flotante. Variable Digits y función evalf: Cuando se introduce un número en coma flotante en una expresión, Maple evalúa toda la expresión en coma flotante Puede devolver aproximaciones de hasta 500.000 dígitos, dependiendo de la plataforma Por defecto, se trabaja con 10 dígitos de precisión. Si se quiere aumentar hay que utilizar la variable global Digits: >Digits := n; evalf(expresion) devuelve la aproximación en coma flotante, por defecto en 10 dígitos de precisión, de una expresión. Esta precisión se puede aumentar con la variable Digits de Maple o bien al ejecutar la función evalf indicando en un segundo parámetro el número de dígitos de precisión. Números complejos: Se especifican con la constante I (3+2*I) Conversión de un número complejo a coordenadas polares: >convert (expresión, polar); Para conocer si un número es complejo: >hastype(expr, nonreal); Constantes matemáticas en Maple: Pi, exp(1), I, infinity, -infinity, gamma (cte de Euler) Catalan, true, false... Cálculos exactos: Racionales, irracionales y constantes Variables globales: U.C.M./- SIADI. C.Bravo MAPLE® pág 28 Variables de Maple cuyo valor puede cambiarse por el usuario (Ej: Digits) Ejemplo: Funciones elementales en MAPLE® Sustitución sintáctica de subexpresiones en una expresión: Sintaxis > subs(x=a,expr); > subs(s1,...,sn,expr); x, a, expr – expresiones. Se sustituyen las ocurrencias de x en la expresión expr por a s1,...,sn - ecuaciones, conjuntos o listas expr expresión que es sustituida Las sustituciones en expr de s1,…, sn se realiza de forma secuencial. Se realiza una substitución sintáctica. No se realiza una evaluación completa. Usar eval para ello o el comando algsubs. Las sustituciones dentro de un conjunto o lista son simultáneas. Ejemplo: U.C.M./- SIADI. C.Bravo MAPLE® pág 29 > subs( x=y, y=x, [x,y] ); [x, x] > subs( {x=y, y=x}, [x,y] ); [y, x] Evaluación de expresiones para valores de variables: >subs ( variable=valor , expresión ); Como ya hemos comentado, en ocasiones no es suficiente esta evaluación. En ese caso, hay que aplicar la función eval posteriormente o utilizar el comando algsubs. Ejemplo: > subs (y=0, sin(y)); sin(0) > eval (%); 0 Sustitución algebraica de una expresión > algsubs(a = b, f) > algsubs(a = b, f, v) > algsubs(a = b, f, v, options) Argumentos: a, b - expresiones algebraicas f - expresión v - un nombre o lista de nombres Ejemplo: > algsubs( a^2=y, a^3 ); ya Expandir una expresión: >expand (expresión); Simplificar expresiones >simplify (expresión); Obtención de los factores de un polinomio: >factor(expresión); Obtención de los factores complejos de un polinomio: >factor(expresión, complex); U.C.M./- SIADI. C.Bravo MAPLE® pág 30 Obtención de los factores primos de un número entero: >ifactor(expresión); Simplificación de factores comunes en numerador y denominador de una fracción de polinomios: >normal(expresión); Conversión de expresiones a otros tipos de expresión: >convert (expresión, forma); Evaluación explícita de una expresión [n niveles] > eval (expresión); > eval (expresión,n); o también > eval(expresión, x=valor); Evaluación de la expresión para un valor de x > eval(expresión, eqns); con eqns una lista o conjunto de ecuaciones. Evaluación de la expresión con los valors aportados en eqns simultáneamente. Preguntar por el tipo de una expresión > whattype (expresión); > type (expresión, tipo); (Resultado booleano) Evaluación booleana de una expresión: evalb(expresión); (Resultado: true, false, fail) Definición de funciones: • Para función univariante: >nombre-funcion := variable - > expresion; • Para función multivariante: >nombre-funcion := (secuecia-variables) - > expresion; La variable o variables son argumentos mudos. Evaluación de una función: >nombre-funcion(expr); >nombre-funcion(secuencia-exprs); Ejemplo: U.C.M./- SIADI. C.Bravo MAPLE® pág 31 Definición de una función continua a trozos ( piecewise ): Para la definición de funciones continuas a trozos puede hacerse uso del comando piecewise: Función: piecewise Sintaxis: piecewise(cond_1,f_1, cond_2,f_2, ..., cond_n,f_n, f_otro) Argumentos: f_i - expresión cond_i - una relación o una combinación booleana de inecuaciones f_otro - (opcional) expresión por defecto Definición de funciones con unapply: Devuelve un operador de n argumentos dados una expresión y n argumentos. En MAPLE este comando no realiza simplificaciones. Sintaxis: > unapply(expr,x,y,..) Argumentos: expr - expresión U.C.M./- SIADI. C.Bravo MAPLE® pág 32 x,y,.. – nombres de variables El resultado de unapply(expr,x) es un operador funcional. Aplicando este operador a x se obtiene la expresión original: unapply(expr,x)(x) ==> expr En particular, para una función f(x): unapply(f(x),x) ==> f Ejemplo: > p := x^2 + sin(x) + 1; 2 p := x + sin(x) + 1 > f := unapply(p,x); 2 f := x -> x + sin(x) + 1 Funciones de MAPLE® Existen en MAPLE multitud de funciones que pueden ser utilizadas: Ejemplo: Exponenciales, logaritmos: > exp (expresión); > ln (expresión); Comandos para operandos de expresiones u objetos de maple: op, nops y subop: • El comando op extrae operandos de una expresión e. Admite las siguientes posibilidades. Sintaxis: op(i,e) op(i..j,e) op(e) op(L,e) op(0,e). Devuelve el operando i-ésimo de la expresión e Devuelve desde el operando i-ésimo al operando j-ésimo de la expresión e Devuelve todos los operandos de la expresión e Devuelve operandos que se toman de forma anidada de la expresión e según indica la lista L (de forma creciente). Uso especial de op que puede devolver el nombre de una función, de un array, etc... Argumentos: i, j: enteros que marcan posiciones de operandos e: una expresión U.C.M./- SIADI. C.Bravo MAPLE® pág 33 L: una lista • El comando nops devuelve el número de operandos de una expresión e. Sintaxis: nops(e) • El comando subsop realiza sustituciones simultáneas de operandos en una expresión. Sintaxis: subop(eq1,...,eqn, e) Argumentos: eq1,...,eqn: ecuaciones del tipo número-operando=valor e: una expresión. Ejemplo: > u := [1,4,9]; u := [1, 4, 9] > nops(u); 3 > op(2..3,u); 4, 9 > op(u); 1, 4, 9 > op(-1,u); 9 > op(0,u); list > [op(u),16]; [1, 4, 9, 16] > op ( [2,1], z = x**2+y**2); 2 x > op ( 1, op(2, z = x**2+y**2)); 2 x > subsop (1=5,3=7,[1,1,1,1]); [5,1,7,1] U.C.M./- SIADI. C.Bravo MAPLE® pág 34 Comandos map y zip Comando map Comando: map – aplica un procedimiento o comando a todos los operandos de una expresión u objeto de maple Comando: map2 – aplica un procedimiento o comando con un argumento específico a todos los operandos de una expresión u objeto de maple. Sintaxis: map(fcn, expr, arg2, ..., argn) map2(fcn, arg1, expr, arg3, ..., argn) Argumentos: fcn - procedimiento o nombre expr - expresión argi - (opcional) otros argumentos de fcn Ejemplo: > map(f, x + y*z); f(x) + f(y z) > map(f, y*z); f(y) f(z) > map(x -> x^2, x + y); 2 2 x + y U.C.M./- SIADI. C.Bravo MAPLE® pág 35 > map(proc(x,y) x^2+y end, [1,2,3,4], 2); [3, 6, 11, 18] > map2(f, g, {a,b,c}); {f(g, a), f(g, b), f(g, c)} > map2(op, 1, [a+b,c+d,e+f]); [a, c, e] Comando zip Aplica una función binaria entre pares de elementos de dos listas o vectores. Devuelve una lista o vector. (Véase ejemplo del ajuste a una curva en el capítulo de gráficos) Sintaxis: zip(f, u, v) zip(f, u, v,d) Argumentos: f - función de dos variables u,v - listas o vectores d - valor (optional) Si las listas o vectores son de distinto tamaño pueden suceder dos cosas: • no existe el argumento d, entonces la longitud de la lista o vector resultante es la de dimensión mínima. • existe el argumento d, entonces la longitud de la lista o vector resultante es la de dimensión maxima y los elementos ‘que faltan’ en la lista o vector de dimensión mínima ‘asumen’ el valor por defecto d. Ejemplo: > zip((x,y)->x+y,[1,2,3],[4,5,6]); [5, 7, 9] U.C.M./- SIADI. C.Bravo MAPLE® pág 36 CAPÍTULO V. MATEMÁTICAS AVANZADAS CON MAPLE® Resolución de ecuaciones e inecuaciones: Sintaxis: solve(eqn, var) solve(eqns, vars) Argumentos: eqn - ecuación o inecuación eqns - conjunto de ecuaciones o inecuaciones var - (opcional) un nombre (incógnita) vars - (opcional) conjunto de nombres (incógnitas) Propiedades: -Resolución de una ecuación/inecuación o sistema de ecuaciones/inecuaciones en vars. -Si no existe solución o MAPLE es incapaz de encontrarla, entonces solve devuelve NULL -Si en eqn, eqns no hay ecuación o inecuación y son expresiones, entonces se entiende que son ecuaciones, es decir, son de la forma expresión=0 -Si no hay vars se entiende resolución en todas las variables . -Las soluciones se pueden incluir en una lista o conjunto. -Las raíces de polinomio de orden menor o igual que 4 se obtienen exactamente (idem que solve). -Las raíces de polinomios de orden superior a 4 vienen expresadas en forma de RootOf (polinomio-en-_Z); - La evaluación en coma flotante de las soluciones expresadas en la forma RootOf se realiza mediante evalf: > evalf (expresion o lista o conjunto o tabla); -Las raíces de un polinomio de orden superior a 4, se obtienen en coma flotante con fsolve. (O con solve + evalf). Ejemplo: U.C.M./- SIADI. C.Bravo MAPLE® pág 37 Representación RootOf U.C.M./- SIADI. C.Bravo MAPLE® pág 38 Representación de MAPLE para las soluciones de raíces de polinomios de orden superior a 4. Sintaxis: RootOf(expr) RootOf(expr, x) RootOf(expr, x, c) RootOf(expr, x, a..b) Argumentos: Expr: expresión algebraica o ecuación x: variable La evaluación en coma flotante de las soluciones expresadas en la forma RootOf mediante evalf en MAPLE: > evalf (expresion o lista o conjunto o tabla); Formas evaluadas y no evaluadas. Comando value El comando value hace que las funciones Int , Limit, Sum, Product, Diff que devuelven las formas no evaluadas de integrales, límites, sumatorios, productos y ecuaciones diferenciales sean evaluadas por las correspondientes funciones int, limit, sum, product y diff, respectivamente. Tiene el mismo efecto que aplicar el comando value las funciones Int, Diff, Sum, Limit, Int para convertirlas en int, diff, sum, limit e int respectivamente. Diferenciación e integración: Derivadas y derivadas parciales: Sintaxis: diff(a, x1, x2, ..., xn) Diff(a, x1, x2, ..., xn) diff(a, [x1, x2, ..., xn]) Diff(a, [x1, x2, ..., xn]) Argumentos: a: expresión algebraica x1, x2, ..., xn – nombres de variables Es equivalente poner en una lista las variables que no ponerlas U.C.M./- SIADI. C.Bravo MAPLE® pág 39 Integrales Comando Int o int: Integración definida e indefinida Sintaxis: int(f, x) int(f, x=a..b, ...) Int(f, x) Int(f, x=a..b, ...) Argumentos: f - expresión algebraica o procedimiento, el integrando x - nombre de variable a, b – intervalo donde se toma la integral ... – opciones Ejemplo U.C.M./- SIADI. C.Bravo MAPLE® pág 40 Ecuaciones diferenciales y en derivadas parciales El paquete Detools facilita gráficos de ecuaciones diferenciales en dos y tres dimensiones, y gráficos de ecuaciones en derivadas parciales, resolución de (sistemas de) ecuaciones diferenciales ordinarias y ecuaciones en derivadas parciales, con condiciones iniciales y condiciones de contorno. Se hace uso del operador D, cuyo argumento y resultado son operadores funcionales en lugar de expresiones como en diff. D@@n indica el operador D compuesto consigo mismo n veces. D[1]U indica la derivada de U con respecto a su primera variable Otros comandos de interés: Resolución de ecuaciones diferenciales ordinarias: dsolve pdsolve Solucione en coma flotante: fsolve Soluciones enteras: isolve Módulo a prima: msolve Recurrencias: rsolve U.C.M./- SIADI. C.Bravo MAPLE® pág 41 Ejemplo: Límites Función: limit calcula límites Comando: Limit forma no evaluada de la función limit Sintaxis: limit(f,x=a); limit(f,x=a,dir); Limit(f,x=a); Limit(f,x=a,dir); Argumentos: f - expresión algebraica x - nombre de variable a - expresión algebraica (punto de límite, posibles valores: infinity, -infinity) dir - (opcional) dirección: left, right, real, o complex Expansión de series Función: series – expansión de series generalizada Sintaxis: series(expr, eqn) U.C.M./- SIADI. C.Bravo MAPLE® pág 42 series(expr, eqn, n) Argumentos: expr - expresión eqn - ecuación (del tipo x = a) o nombre (del tipo x) n - (opcional) entero no negativo Función: taylor - Expansión en serie de Taylor Sintaxis: taylor( expr, eq/nm, n ) Argumentos: expr - expresión eq/nm ecuación (del tipo x = a) o nombre (del tipo x) n - (opcional) entero no negativo Sumas finitas, series y productos: Funciones Sum y Product Sintaxis: sum(f,k); Sum(f,k); sum(f,k=m..n); Sum(f,k=m..n); sum(f,k=alpha); sum(f,k=expr); Sum(f,k=alpha); Sum(f,k=expr); Argumentos: f - expresión k - nombre, el índice del sumatorio m, n - enteros o expresiones alpha - expresión RootOf expr - expresión que no contiene 'k' Ejemplo. U.C.M./- SIADI. C.Bravo MAPLE® pág 43 Algebra lineal Los paquetes de algebra lineal son LinearAlgebra y VectorCalculus. La tendencia es que estos paquetes sustituyan al paquete linalg, ya que en los más modernos se utilizan subrutinas NAG. Se deja la información de linalg que existe de versiones anteriores de este manual Paquete LinearAlgebra Contiene casi todas las funcionalidades del paquete anterior linalg. • Entre sus utilidades se encuentran: Definición de matrices y vectores: Matrix (n,m, [lista-de-listas]); Cada lista contiene una fila (o parte de ella) n filas, m columnas Las matrices se rellenan por filas por defecto. Existe la opción order para que se rellenen por columnas. Existen sintaxis alternativas que pueden verse en la hoja de trabajo. Vector (n, [secuencia-de-valores]); NOTA: Matrix y Vector comienzan por letra mayúscula U.C.M./- SIADI. C.Bravo MAPLE® pág 44 Incorpora comandos para construir matrices y vectores tipo como por ejemplo: cero, identidad, constante… Aritmética entre matrices -> No necesita comando de evaluación ya que realiza . las evaluaciones directas. Ejemplo. A + B, A B, A - B NOTA: La estructura básica en este paquete es rtable. Recordemos que la aplicación de una función a todos los elementos de una matriz es: > map (funcion, matriz, parametros) parametros es optativo Ejemplo: U.C.M./- SIADI. C.Bravo MAPLE® pág 45 Paquete linalg Paquete que se mantiene por compatibilidad con versiones anteriores de Maple. Para nuevos usuarios recomendamos el uso del paquete Linear Álgebra. • Se incorpora mediante el acceso al paquete linalg: autovalores, autovectores, coordinadas curvilíneas, formas matriciales normales, descomposición de matrices ( Cholesky, LU, QR...) • Entre sus utilidades se encuentran: Definición de matrices y vectores: matrix (n,m, [secuencia-de-valores]); n filas, m columnas Las matrices se rellenan por filas vector (n, [secuencia-de-valores]); NOTA: matrix y vector comienzan por letra minúscula. Aritmética entre matrices -> Comando evalm NOTA: La estructura básica en este paquete es array. U.C.M./- SIADI. C.Bravo MAPLE® pág 46 Ejemplo: Estadística y finanzas • Se incorpora mediante el acceso al paquete stats. U.C.M./- SIADI. C.Bravo MAPLE® pág 47 CASO PRÁCTICO Dado un conjunto de puntos (x,y) ( (1,0), (2,6), (3,14), y (4,25) ): Realizar el ajuste cuadrático por mínimos cuadráticos a dicha nube de puntos Dibujar en un plano la nube de los puntos y la curva obtenida del ajuste Nota: Véanse las ayudas de los comandos fit y plot. El comando plot forma parte del paquete stats. Una solución: U.C.M./- SIADI. C.Bravo MAPLE® pág 48 Nota 1: La creación de una lista con los pares de los puntos a partir de las dos listas de los puntos X y los puntos Y se puede realizar mediante el comando zip. A partir de las listas Xv y Yv queremos obtener otra lista con los pares (introducudos en listas tambien) [Xv,Yv]. Esto lo hacemos con el comando zip. zip( ( x,y) -> [x, y] , Xv, Yv); Nota 2: g1, g2 son estructuras de gráficos que pueden almacenarse. Ejemplo de creación de una función con unapply: Se puede crear una función h(x) con la expresión algebraica 5/4x2 + 41/20x-13/4 con la función unapply de la siguiente forma: > h := unapply (op(2,eq),x); U.C.M./- SIADI. C.Bravo MAPLE® pág 49 CAPÍTULO VI. GRÁFICOS Se presentan en este capítulo dos hojas de trabajo que ilustran algunas de las características de los gráficos en MAPLE. Algunas características son: • • • • • • • • • • • • • • Se requiere al menos 8 Mg. para poder mostrarlos en pantalla. Se pueden realizar gráficos bidimensionales y tridimensionales. El comando básico para un gráfico bidimensional es plot El comando básico para un gráfico tridimensional es plot3d Paquetes relacionados: plots, plottools, Representación de funciones explícitas, implícitas y en coordenadas paramétricas Representación de conjuntos de datos. En general, los comandos de representación comparten opciones. • Las opciones pueden especificarse en el comando. • También, estas opciones pueden añadirse al gráfico una vez visualizado, seleccionando la figura y realizando los cambios con el bóton derecho del ratón. • Además, seleccionada la figura, aparece una nueva barra de herramientas automáticamente, que permite el cambio de algunas opciones de los gráficos. Las opciones de los gráficos cambian para gráficos bidimensionales y tridimensionales. Al seleccionar los gráficos, se puede cambiar el tamaño de los mismos. Los gráficos tridimensionales pueden girarse en pantalla seleccionando la figura con el botón izquierdo del ratón y moviendo el mismo. Los gráficos (la estructura de los gráficos) se pueden asignar a variables. El comando display del paquete plots permite la visualización de estructuras de gráficos, que previamente han sido asignadas a variables. Los gráficos pueden enviarse a otros dispositivos con algunos formatos determinados (Ej: Postcript), bien mediante un comando, bien ayudado con la interfaz de usuario (atención con la nueva worksheet, la calidad de los gráficos exportados con la interfaz no es buena). Véanse las hojas de trabajo de ejemplo llamadas: plot-2d.mws y plot-3d.mws NOTA: Se acompañan a esta documentación dos hojas de trabajo que ilustran las utilidades de gráficos en dos y tres dimensiones: plot2d.mws y plot3d.mws • Leyendas y líneas multiples de títulos U.C.M./- SIADI. C.Bravo MAPLE® pág 50 • • Cambio de tamaño de los símbolos en el estilo de puntos, colores, tamaños, etc.. Se pueden crear animaciones. Una vez evaluado el comando que genera la animación en Maple: para activar/desactivar la animación se realiza con los iconos que aparecen en la barra de menú al seleccionar el gráfico. U.C.M./- SIADI. C.Bravo MAPLE® pág 51 Gráficos en dos dimensiones Línea o puntos Tipo de ejes Escalamiento ejes Ejemplo de hoja de trabajo plot2d.mws Gráficos en dos dimensiones. plot-2d.mws En esta hoja de trabajo se presentan algunas de las posibilidades de los gráficos en dos dimensiones.. Una vez mostrada una figura, ésta puede seleccionarse y aparecen botones arriba de la pantalla que permiten modificar algunas opciones del gráfico. Con el botón derecho del ratón sobre un gráfico tambien se pueden modificar estas opciones. Las opciones de los gráricos pueden escribirse como argumentos en los comandos plot, plot3d, plots, que son los comandos que los crean. Opciones posibles de los gráficos: Algunas opciones del comando plot, que también pueden modificarse al posicionarse sobre el gráfico: style = LINE, POINT, PATCH, .. - Marca el estilo de conexión entre puntos axes = FRAME, BOXES, NORMAL, NONE - Marca el tipo de ejes scaling=constrained, unconstrained - Para dar (constrained) o no la misma escala a todos los ejes. symbol = circle, cross, diamond... U.C.M./- SIADI. C.Bravo MAPLE® pág 52 - Símbolo que se asigna a los puntos thickness..... - Marca el grosor del trazo o de los puntos Graficos bidimensionales. Expresiones ( o funciones) > plot(x*sin(x), x=-3*Pi..3*Pi); Expresiones paramétricas > plot ([sin(t), cos(t), t=0..2*Pi]); Varias funciones sobre los mismos ejes: (vienen en una lista o conjunto) > plot ({x^2, exp(x),x}, x=0..3);plot ([x^2, exp(x),x], x=0..3); U.C.M./- SIADI. C.Bravo MAPLE® pág 53 > plot ( {seq (cos(x*i), i= 1..4 )}, x = -Pi..Pi); > {cos(x*i) $i = 1..4 }; { cos ( 3 x ), cos ( 4 x ), cos ( x ), cos ( 2 x ) } > {seq (cos(x*i), i= 1..4 )}; { cos ( 3 x ), cos ( 4 x ), cos ( x ), cos ( 2 x ) } > plot ( {cos(x), cos(4*x), cos(3*x), cos(2*x)}, x =-Pi..Pi); Plots de pares de puntos. Vienen en una lista de listas de dos elementos > L:= [ [ n/100, (n/100)^2 ] $n=1..50]: > plot ( L, x=0..1/2, style=point,symbol=diamond); U.C.M./- SIADI. C.Bravo MAPLE® pág 54 Discontinuidades. > plot(tan(x),x=-2*Pi..2*Pi, y=-4..4); plot(tan(x),x=-2*Pi..2*Pi, y=4..4, discont=true); Plot a infinito > plot(sin(x), x=0..infinity); U.C.M./- SIADI. C.Bravo MAPLE® pág 55 Varias maneras de realizar el gráfico de las mismas curvas: Expresiones, funciones, operadores: > plot(x^2*sin(x),x=-Pi..Pi); f:=(x) -> x^2*sin(x); plot(f(x),x=Pi..Pi); plot(f,-Pi..Pi); cuad:=(x) -> x^2; plot(cuad*sin,-Pi..Pi); f := x → x 2 sin( x ) U.C.M./- SIADI. C.Bravo MAPLE® pág 56 cuad := x → x 2 > ff := proc (x) if x > 0 then ln (x) else RETURN('ERROR') fi end; ff := proc (x) if 0 < x then ln( x ) else RETURN( 'ERROR ' ) end if end proc > plot (ff); > ff(0); > ERROR Plots con opciones distintas: > plot([sin(x), x-x^3/6], x=0..2, color=[red,blue], style=[point,line]); U.C.M./- SIADI. C.Bravo MAPLE® pág 57 plots en polares > plots[polarplot] (2*t); funciones implícitas > plots[implicitplot] (x^2/25+y^2/9=1, x=-6..6,y=6..6,scaling=constrained); > > plot(x*sin(x), x=-3*Pi..3*Pi, axes=frame, style=point, symbol=circle); U.C.M./- SIADI. C.Bravo MAPLE® pág 58 > > Gráficos en tres dimensiones Véase la hoja de trabajo que acompaña esta documentación llamada: plot3d.mws Ángulos Visualización de la superficie. Tipos Tipo de ejes Escalamiento ejes Ejemplo de hoja de trabajo plot3d.mws U.C.M./- SIADI. C.Bravo MAPLE® pág 59 Gráficos en tres dimensiones. plot3d.mws En esta hoja de trabajo se presentan algunas de las posibilidades de los gráficos en tres dimensiones. Almacenamiento de las estructuras de los gráficos bi y tri-dimensionales. Comando plots [display] En todos los graficos 2d y 3d se pueden assignar nombres a los graficos, guardarlos en un fichero y dibujarlos con plots[display]. Digamos que lo que se almacena son las estructuras de los gráficos. pp1, pp1b y pp1c devuelven la misma estructura de gráfico: > pp1:=plot3d((x^2-y^2)/(x^2+y^2), x=-2..2, y=-2..2): > f:=(x,y) -> (x^2-y^2)/(x^2+y^2); x2 − y2 f := ( x, y ) → 2 2 x +y > pp1b:= plot3d (f(x,y),x=-2..2,y=-2..2): > pp1c:= plot3d (f, -2..2, -2..2): > pp2:=plot3d([x*sin(x),x*cos(y),x*sin(y)], x=0..2*Pi, y=0..Pi): > plots[display] (pp1); > plots[display] ( pp2); Si se quieren varios graficos sobre los mismos ejes hay que poner: plots [display] ({pp1,pp2}); Posteriormente a la ejecución de la visualización, en esta hoja de trabajo giramos los ejes con el botón izquierda del ratón para que puedan visualizarse los dos gráficos. U.C.M./- SIADI. C.Bravo MAPLE® pág 60 > plots [display] ({pp1,pp2}); # Hay que girar la figura para verla bien. Si se quieren varios graficos en una 'matriz de gráficos': (... ... ....) > plots[display] ( array (1..2 , [pp1,pp2])) ; > Varios gráficos sobre el mismo conjunto de ejes > plot3d({x+y^2,-x-y^2}, x=0..3,y=0..3, axes=frame); U.C.M./- SIADI. C.Bravo MAPLE® pág 61 Sistemas de coordenadas: En MAPLE V hay 45 sistemas de coordenades diferentes. Se pueden cambiar los sistemas de coordenadas con el comando plots[changecoords](estructura-grafico, sistema-coordedas); Cambio de sistema de coordenadas En el siguiente ejemplo p es una estructura de gráfico de una superficie en 3D con curvas de nivel, y en q se cambia el sistema de coordenadas. > p:=plot3d(-5*x/(x^2 + y^2 + 1),x=-3..3,y=-3..3,style=PATCHCONTOUR): > plots[display](p); La estructura de gráfico q se encuentra en coordenadas cilindricas El comando display permite añadir las opciones permitidas para un gráfico. En 2D, serán las de un gráfico 2D y en 3D las de un gráfico en 3D. > q:=plots[changecoords](p,cylindrical): plots[display](q,axes=normal,contours=30); Coordinadas esféricas U.C.M./- SIADI. C.Bravo MAPLE® pág 62 > plots[sphereplot] ((1.3^z*sin(theta), z=-1..2*Pi, theta=0..Pi)) Muchas mas posibilidades con plots. Algunos comandos son: listplot listplot3d pointplot pointplot3d ... Animación de gráficos Se utiliza para ello los comandos animate y animate3d... Consumen mucha memoria. Creación de un fichero postcript con un gráfico Se puede realizar de varias formas alternativas. 1. Si se visualiza el gráfico en la pantalla, se selecciona el gráfico: Con el boton derecho del ratón, seleccionar export as O, bien se puede hacer con el menu export 2. Activar por comandos un tipo de dispositivo gráfico y un fichero. Si se crea más de un gráfico hay que tener en cuenta cambiar el nombre del fichero plotoutput para no sobreescribir el fichero. A continuación, se muestra un ejemplo de creación de un gráfico en formato postcript y envío interface. del mismo a un fichero. Para activar el dispositivo se utiliza el comando Existen otros formatos de escritura de gráficos: gif, ps, tek, x11, bmp, char, ... > interface( plotdevice=postscript, plotoutput='`c:/datos/graf.ps`' ); > plot3d({sin(x*y), x + 2*y},x=-Pi..Pi,y=-Pi..Pi); c1:= [cos(x)-2*cos(0.4*y),sin(x)-2*sin(0.4*y),y]: c2:= [cos(x)+2*cos(0.4*y),sin(x)+2*sin(0.4*y),y]: c3:= [cos(x)+2*sin(0.4*y),sin(x)-2*cos(0.4*y),y]: c4:= [cos(x)-2*sin(0.4*y),sin(x)+2*cos(0.4*y),y]: plot3d({c1,c2,c3,c4},x=0..2*Pi,y=0..10,grid=[25,15],style=patch); plot3d({c1,c2,c3,c4},x=0..2*Pi,y=0..10,grid=[25,15],style=patch,color= sin(x)); Otra forma alternativa de enviar el gráfico a un fichero postcript es con el comando plotsetup: Por defecto, se direcciona el gráfico al fichero postscript.out. Si se desea que la salida vaya a otro fichero debe indicarse en el comando plotsetup > plotsetup(ps); Warning, plotoutput file set to postscript.eps > plotsetup(ps, plotoutput='`c:/datos/graf.ps`'); U.C.M./- SIADI. C.Bravo MAPLE® pág 63 Con este comando hemos direccionado la salida al fichero c:/datos/graf.ps. Existen tres dispositivos gráficos de interés que se pueden activar con el comando plotsetup. Estos dispositivos gráficos son: - default: Restaura el dispositivo gráfico (plotdevice) por defecto. − inline: Para visualización de gráficos en la hoja de trabajo. − window: Para visualización de gráficos en una ventana independiente. − Para restaurar que el dispositivo gráfico sea de nuevo la ventana: > plotsetup(inline); > plot3d({c1,c2,c3,c4},x=0..2*Pi,y=0..10,grid=[25,15],style=patch); plot3d({c1,c2,c3,c4},x=0..2*Pi,y=0..10,grid=[25,15],style=patch,color= sin(x)); Graficos a partir de coordenadas de puntos: > with(plots); cosdata := [seq( [seq([i,j,evalf(cos((i+j)/5))], i=-5..5)], j=-5..5)]: sindata := [seq([ seq([i,j,evalf(sin((i+j)/5))], i=-5..5)], j=-5..5)]: surfdata( {sindata,cosdata}, axes=frame, labels=[x,y,z] ); [ animate, animate3d, animatecurve, changecoords, complexplot, complexplot3d, conformal, contourplot, contourplot3d , coordplot , coordplot3d , cylinderplot, densityplot , display , display3d , fieldplot , fieldplot3d , gradplot , gradplot3d , implicitplot, implicitplot3d , inequal, listcontplot , listcontplot3d , listdensityplot , listplot , listplot3d , loglogplot, logplot, matrixplot, odeplot , pareto, pointplot, U.C.M./- SIADI. C.Bravo MAPLE® pág 64 pointplot3d , polarplot, polygonplot, polygonplot3d , polyhedra_supported , polyhedraplot , replot, rootlocus, semilogplot, setoptions, setoptions3d , spacecurve, sparsematrixplot, sphereplot, surfdata , textplot, textplot3d , tubeplot ] Gráfico de puntos (dados en conjunto de lista o lista de listas): > pointplot3d({[0,1,1],[1,-1,2],[3,0,5] },axes=BOXED,symbol=diamond); > points:= { seq([cos(Pi*T/40),sin(Pi*T/40),T/40],T=0..40) }: pointplot3d(points, symbol=circle); pointplot3d(points,symbol=circle, color=red,axes=boxed); U.C.M./- SIADI. C.Bravo MAPLE® pág 65 > Exportación de un gráfico a otros formatos • Exportación de un gráfico a otros formatos. Activado un gráfico, se puede realizar desde el menu Export (léase nota relativa a la nueva interfaz de usuario en Maple 9, página 3). • También se puede hacer mediante la sentencia plotsetup (véase ejemplo de plot3d.mws). • lo óptimo es exportarlos a EPS (Encapsulated PostScript) o WMF (Windows MetaFile) A continuación mostramos cómo exportar un gráfico con la interfaz de usuario (Atención: léase nota relativa a la nueva interfaz de usuario en Maple 9, página 3): U.C.M./- SIADI. C.Bravo MAPLE® pág 66 Formatos posibles de exportación de un gráfico En la siguiente hoja de trabajo, se muestra cómo realizar la exportación mediante comandos maple: NOTA: La especificación de un fichero se puede hacer de dos formas ‘`c:\nombre-directorio\nombre-directorio2\nombre-fichero`’ `c:\\nombre-directorio\\nombre-directorio2\\nombre-fichero` U.C.M./- SIADI. C.Bravo MAPLE® pág 67 CAPÍTULO VII. UTILIDADES DE MAPLE® Entrada y salida Apertura de ficheros externos Sintaxis: > open(nombre,modo); Argumentos: Nombre: nombre del fichero Modo: READ o WRITE Este comando devuelve un número entero por el cual se puede identificar el fichero. Escritura de datos numéricos de ficheros de texto Los datos se encuentran separados por espacios en blanco. Sintaxis: writedata(id-fichero, datos) writedata(id-fichero, datos, formato) writedata(id-fichero, datos, formato, default) Argumentos: id-fichero: Identificador del fichero datos: Una lista o vector o lista de listas o matriz formato: integer o float o una lista compuesta de valores integer/float default: un procedimiento que indica como escribir datos no numéricos. Lectura de datos numéricos en ficheros de texto Los datos se encuentran separados por espacios en blanco. Sintaxis: readdata(id-fichero, n) readdata(id-fichero, formato, n) readdata(id-fichero, formato) Argumentos: id-fichero: Identificador del fichero n: número de columnas del fichero formato: integer o float o una lista compuesta de valores integer/float En el caso de que n sea igual a 1, el comando devuelve una lista con los valores leídos. En el caso de que n sea mayor que 1, el comando devuelve una lista de sublistas de n valores del fichero de entrada. U.C.M./- SIADI. C.Bravo MAPLE® pág 68 Liberación de memoria > restart; (Libera la memoria por completo) > unassign (var); (Liberación parcial de memoria por desasignación de variables) Debugging > tracelast Ejemplo: > f:=proc(x) g(x+1) end: g:=proc(x) 1/x end: f(-1); Error, (in g) division by zero > tracelast; Error, (in g) division by zero executing statement: 1/x g called with arguments: 0 f called with arguments: -1 > Interacción con MatLab - Si se tiene instalado MatLab, se pueden realizar procesos en Matlab desde una sesión de Maple. - Matlab incluye una aplicación para Cálculo Simbólico que usa el "kernel" de Maple. Conversión a código C y código FORTRAN codegen[fortran] y codegen[C] U.C.M./- SIADI. C.Bravo MAPLE® pág 69 Interacción con C: Enlace y llamado de subrutinas externas escritas en C den una librería compatida en UNIX o una DLL en Windows. Funciones define_external y call_external. Interación con Excel 2000 o superior Add-in de Maple en Excel 2000 o superior. Para activarlo en Excell hay que seleccionar en Excell la opción de menú Herramientas Æ Complementos y pulsar el botón Examinar; seleccionar el fichero de extensión xla que por defecto se encuentra en c:\archivos de programas\maple9\excel. Antes de salir del asistente de complementos, verificar que Maple Add-In se encuentra seleccionado. Esta operación hace que se muestren en la barra de menú de excel los siguientes iconos , que tienen los siguientes significados respectivos: Copiar de excel a maple Copiar de maple (spreadsheet) a excel Cambiar las opciones de maple en excel Ver interfaz de usuario para insertar funciones de maple en excel Ver ayuda de las funciones de maple Infolevel Determina el nivel de información que proporciona la ejecución de los comandos. Estos niveles son: U.C.M./- SIADI. C.Bravo MAPLE® pág 70 − − Nivel 1: Información reservada que el usuario debe conocer. Nivel 2,3: Información general que incluye datos de la técnica y/o algoritmos utilizados. − Nivel 4,5: Información más detallada acerca del problema a resolver. Véase ejemplo de uso en ecuaciones diferenciales y en derivadas parciales. (Ej: > infolevel [dsolve]:=3;). Tambien se puede aplicar a determinadas funciones. Ejemplo: > infolevel[`evalf/int`] := 2: Definición de procedimientos Sintaxis: proc (argseq) local nseq; global nseq; opciones nseq; descripción stringseq; statseq end Interface(verboseproc=2); Programación Constructores: if / then / else /fi for /from/ to/by/do/od by/while for/in/do od Todas las estructuras pueden terminarse con la palabra end o con la combinación de la palabra end seguida del nombre de la estructura. Es decir, • if puede terminar con end, o con end if • do puede terminar con end, o con end do U.C.M./- SIADI. C.Bravo MAPLE® pág 71 APÉNDICE I. NOVEDADES DE LAS VERSIONES Novedades de Maple 9 • Más abierto: Generación de código para XML, Matlab y Visual Basic, OpenMaple - un API a Maple (puede ser llamado desde otras aplicaciones). Nuevas rutinas NAG. • Innovación continuada en docencia: Paquete de álgebra lineal y pre-cálculo para estudiantes. Tutores de cálculo para estudiantes usuarios del sistema Maplet • Nueva interfaz para el sistema de ayuda y mejoras en el sistema Maplet • Aplicación Maplet para el análisis de ecuaciones diferenciales ordinarias (ODE) • Mejoras en la hoja de trabajo (worksheet) e interfaz clásico de Maple alternativo • Énfasis en gráficos y Maplets y desglose de procesos paso a paso Novedades de MAPLE 8® : • Permite construir nuevas interfaces de usuario mediante una nueva tecnología interna denominada Maplets. Con el paquete de Maplets los usuarios pueden crear sus propias interfaces gráficas y acceder a sus aplicaciones Maple a través de botones, áreas de texto, menús y otros elementos gráficos • paquete de ayuda a la enseñanza de un primer año de cálculo( diferenciación, integración, cálculo de límites, ayudas visuales) • Resolución de sistemas de ecuaciones en derivadas parciales con condiciones lineales. • Nuevo paquete de funciones para cálculo vectorial (operadores diferenciales, integrales de superficie, etc) • cálculo de variaciones • Nuevos resolvedores de ODEs con algoritmos mucho más potentes. • Posibilidad de conexión con código Java(TM) a su repertorio Novedades de MAPLE 7 • • • Incorporación de nuevos paquetes y funcionalidades La versión Unix incorpora nuevos métodos numéricos gracias a las librerías NAG y CLAPACK que realizan en velocidades comparables a las de windows, integración numérica y operaciones de álgebra lineal del paquete LinearAlgebra. Posibilidad de exportación en formato MATHML U.C.M./- SIADI. C.Bravo MAPLE® pág 72 Novedades de MAPLE 6 • • • • • • • • • • • El paquete LinearAlgebra se ha actualizado y mejorado. Utiliza ahora la librería NAG para realizar cálculos de álgebra lineal numérica. Enlace y llamado de subrutinas externas escritas en C den una librería compatida en UNIX o una DLL en Windows. Funciones define_external y call_external. Lenguaje Add-in to Excel 2000. Para activarlo. Menu tools / Add-Ins /Browse y seleccionar el fichero wmimplex.xla del directorio de excel en MAPLE6. Para más información: HELP/WHAT’S NEW/ updates/Maple6/Excel Importación/exportación de datos de una spreadsheet (véase ayuda del paquete Spread) de MAPLE6 de/a MATLAB, MATRIXMARKET o delimitado por tabuladores. Exportación en formato RTF para Word 2000. El procedimiento allvalues no proporciona soluciones simbólicas. Denotación de enteros _Z con un sufijo entero. Denotación de enteros no negaticos _NN con un sufijo entero. Algunas mejores en los gráficos incluida su exportación. Posibilidad de creación de módulos con module. Un módulo se compone de procedimientos. Viene a ser un paquete programado por el usuario. Compatibilidad de MAPLE 6 con MAPLE V® v5 MAPLE 6, al abrir una worksheet de una versión anterior de MAPLE, pregunta si se desea actualzarla. Al contestar afirmativamente, se actualiza la hoja de trabajo y proporciona mensajes de error en los lugares que pudiera no actualizarla. U.C.M./- SIADI. C.Bravo MAPLE® pág 73 APÉNDICE II. PAQUETES DE MAPLE 9 Los paquetes de Maple de la versión 9 son: algcurves tools for studying one-dimensional algebraic curves defined by multi-variate polynomials ArrayTools tools used for low level manipulation of Matrices, Vectors, and Arrays codegen tools for translating Maple code to other languages such as C and Fortran CodeGeneration tools for translating Maple code to other languages CodeTools commands for analyzing and profiling Maple code combinat combinatorial functions, including commands for calculating permutations and combinations of lists, and partitions of integers combstruct commands for generating and counting combinatorial structures context tools for building and modifying context-sensitive menus CurveFitting functions that support curve-fitting DEtools tools for manipulating, solving, and plotting systems of differential equations diffalg commands for manipulating systems of differential polynomial equations (ODEs or PDEs) difforms commands for handling differential forms DiscreteTransforms functions for computing transforms of discrete data Domains commands for creating domains of computation ExternalCalling tools for calling external functions from Maple FileTools commands for file manipulation and processing finance commands for financial computations GaussInt commands for working with Gaussian Integers genfunc commands for manipulating rational generating functions geom3d commands for three-dimensional Euclidean geometry geometry commands for two-dimensional Euclidean geometry gfun commands for generating function manipulation Groebner commands for Groebner basis calculations in skew algebras group commands for working with permutation and finitely-presented groups hashmset commands for multisets IntegerRelations commands for approximating floating numbers by integer linear combinations of symbolic constants inttrans commands for working with integral transforms and their inverses LargeExpressions tools for managing creation of computation sequences LibraryTools commands for library manipulation and processing liesymm commands for characterizing the contact symmetries of systems of partial differential equations linalg linear algebra package based on array data structures LinearAlgebra linear algebra package based on rtable data structures LinearFunctionalSystems construct solutions of linear functional systems of equations LinearOperators tools for solving linear functional equations, building annihilators and minimal annihilators, and performing accurate integration ListTools tools for manipulating lists LREtools commands for manipulating, plotting, and solving linear recurrence equations LREtools[HypergeometricTerm] tools for constructing solutions to linear difference equations depending on hypergeometric terms Maplets create graphical user interfaces for Maple MathematicalFunctions tools providing information about mathematical functions MathML routines for importing and exporting Maple expressions as MathML U.C.M./- SIADI. C.Bravo MAPLE® pág 74 Matlab MATLAB Link MatrixPolynomialAlgebra symbolic manipulation for polynomial matrices networks tools for constructing, drawing, and analyzing combinatorial networks numapprox commands for calculating polynomial approximations to functions on a given interval numtheory commands for classic number theory OreTools Pseudo-linear algebra Ore_algebra routines for basic calculations in algebras of linear operators OrthogonalSeries tools for series of classical orthogonal polynomials orthopoly commands for generating various types of orthogonal polynomials padic commands for computing p-adic approximations to real numbers PDEtools tools for solving partial differential equations plots graphics package plottools commands for generating and manipulating graphical objects PolynomialTools commands for manipulating polynomial objects powseries commands for creating and manipulating formal power series represented in general form process functions for writing a limited class of multi-process Maple programs. Supported only on UNIX operating systems. QDifferenceEquations construct solutions of linear q-difference equation RandomTools tools for working with random objects RationalNormalForms rational normal forms as basis for constructing minimal representation and decomposition of hypergeometric terms RealDomain provides a real number context ScientificConstants physical constants and Periodic Table Element properties ScientificErrorAnalysis commands for representation and construction of numerical quantities with a value and error simplex commands for linear optimization using the simplex algorithm Slode commands for finding formal power series solutions of linear ODEs SNAP symbolic-numeric algorithms for polynomial arithmetic Sockets tools for network communication in Maple SoftwareMetrics functions for quantifying code complexity SolveTools commands for solving systems of algebraic equations Spread tools for working with spreadsheets in Maple stats statistics StringTools optimized commands for string manipulation Student collection of packages covering undergraduate mathematics courses student student calculus Student[Calculus1] assists with the teaching and learning of single-variable calculus Student[LinearAlgebra] assists with the teaching and learning of basic linear algebra Student[Precalculus] assists with the teaching and learning of precalculus sumtools commands for computing indefinite and definite sums SumTools tools for finding closed forms of indefinite and definite sums tensor commands for calculating with tensors and their applications in General Relativity Theory TypeTools commands for extending the set of recognized types in the type command Units commands for converting values between units, and environments for performing calculations with units VariationalCalculus tools for Calculus of Variations computations VectorCalculus vector calculus package Worksheet tools for generating and manipulating Maple worksheets XMLTools tools for using XML documents U.C.M./- SIADI. C.Bravo MAPLE® pág 75 APÉNDICE II. USO DE MAPLE EN DIGITAL UNIX Utilizacion en interactivo: Para su utilización en forma textual, teclear el comando: maple Para su utilización en un entorno X, teclear el comando: xmaple previamente debe prepararse el dispositivo grafico de pantalla mediante el comando: setenv DISPLAY direccion-IP-terminal-o-Pc:0 y hay que habilitar una emulación X (en el PC), si no se trabaja desde una pantalla grafica. Utilizacion en interactivo, fuera del entorno de MAPLE: maple <fichero_texto_maple >fichero_salida_maple Utilizacion en batch: qsub -q cola_batch fichero_bat donde: cola_batch puede ser cualquier cola batch. Ej: batch30min, batch4horas, batchduro... fichero_bat es un fichero que contiene una linea: maple <fichero_texto_maple >fichero_salida_maple En salida, ademas de fichero_salida_maple se obtienen los ficheros: fichero_bat.o_n_job fichero_bat.e_n_job Nota Importante 1: Si los ficheros a los que se hace referencia en fichero_bat no se encuentran en el directorio de login del usuario, debe especificarse el camino de los mismos. (Se puede hacer uso de la variable de entorno $HOME) Imprimir desde xmaple: - A un fichero postcript. Posteriormente, desde el sistema operativo se debe ejecutar el comando: lpr –Pcps nombre-fichero - Directamente a la impresora. Debe ponerse el comando lpr -Pcps U.C.M./- SIADI. C.Bravo MAPLE® pág 76