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