Iniciación al MAPLE V
Héctor Hernández
Laboratorio de Física Teórica
Departamento de Física, Facultad de Ciencias. Universidad de Los Andes, Mérida, 5101. Venezuela
Correo Electrónico: hector@ula.ve
http://webdelprofesor.ula.ve/ciencias/hector
Luis A. Núñez
Centro de Física Fundamental (CFF)
Departamento de Física, Facultad de Ciencias. Universidad de Los Andes, Mérida, 5101. Venezuela y
Centro Nacional de Cálculo Científico, Universidad de Los Andes (CeCalCULA)
Corporación Parque Tecnológico de Mérida (CPTM), Mérida, 5101. Venezuela
Correo-e: nunez@ula.ve
http://webdelprofesor.ula.ve/ciencias/nunez
CUANDO USE MAPLE V NO OLVIDE QUE:
Números en MAPLE
Enteros
Maple V puede ser usado como calculadora:
> | 32*12^13; |
Además, incorpora un gran número de funciones para operar con enteros, incluyendo:
> | 25 mod 3; |
> | 200!; |
> | ifactor(%); |
> | isprime(157); |
Racionales
Una de las principales virtudes de Maple V es el cálculo simbólico racional mediante el cual, podemos trabajar con racionales e irracionales sin necesidad de tener que remitirnos a aproximaciones numéricas (aritmética de flotante).
> | 1/2 + 2/3; |
Maple V automáticamente se encarga de simplificar las fracciones:
> | 2/4; |
También la manipulación de números irracionales se realiza de manera simbólica:
> | sqrt(2); (2^30)/(3^20)*sqrt(2)+sqrt(8); |
Decimales
A pesar que Maple V es un Sistema de Cálculo Simbólico (y por lo tanto se trabaja de manera exacta), podemos obtener aproximaciones numéricas de cualquier valor. El límite es de 500.000 dígitos.
Para obtener dichas aproximaciones decimales usaremos el comando evalf .
> | evalf(%); evalf(7/6); |
Podemos manipular constantes como de manera simbólica o a partir de aproximaciones numéricas:
> | Pi; evalf(Pi,200); |
Cuando intervienen expresiones decimales dentro de los input , los output obtenidos también son expresiones decimales:
> | 1.0/5.3; sin(.2); |
Maple V puede calcular valores numéricos tanto para las funciones elementales como de funciones especiales (y obtener expresiones decimales cuando lo deseeemos):
> | sin(2*Pi); exp(2); evalf(%); |
Complejos
Maple V trabaja con números imaginarios. En particular, la unidad imaginaria es representada por el símbolo I :
> | (2+5*I)+(1-I); (1+I)/(3-2*I); |
Manipulación Simbólica Elemental
Sumas y productos
Visualización
Maple V permite realizar gráficos bidimensionales y tridimensionales. Además, podemos representar ecuaciones explícitas, implícitas, paramétricas y conjuntos de datos. También podemos representar funciones con discontinuidades.
> | restart; |
Gráficos 2D
Simples Gráficos
Funciones con Discontinuidades
Para indicar a Maple que la función que vamos a representar presenta discontinuidades usaremos la opción discont=true .
> | plot(tan(x),x=-2*Pi..2*Pi,y=-4..4,discont=true,title=`Representación de Tan(x)`); |
Representación Conjunta de distintas funciones
> | plot({x,x^2,x^3,x^4,x^5},x=-10..10,y=-10..10); |
Observación: Hemos usado en el gráfico anterior el menú contextual para cambiar el grosor de los gráficos.
Representación Polar de curvas
> | plot(sin(3*t),t=0..Pi,coords=polar); |
Gráficos 3D
Representación de Superficies
> | plot3d(sin(x*y),x=-2..2,y=-2..2); |
Representación Paramétrica de Superficies
> | plot3d([sin(t),cos(t)*sin(u),sin(u)],t=-Pi..Pi,u=-Pi..Pi); |
Representación Esférica de Superficies
> | plot3d(1,t=0..2*Pi,p=0..Pi,coords=spherical); |
Animaciones
Maple V puede realizar animaciones de gráficos bidimensionales y de superficies.
> | with(plots); |
> | animate(sin(x*t),x=-10..10,t=1..2,frames=50); |
> | animate3d(cos(t*x)*sin(t*y),x=-Pi..Pi,y=-Pi..Pi,t=1..2); |
Gráficos Especiales
El paquete plots contiene rutinas para producir distintos tipos de gráficos especiales, incluyendo mapas topográficos, mapas de densidades y representaciones conformes de funciones complejas.
> | with(plots); |
> | implicitplot3d(x^3+y^3+z^3+1=(x+y+z+1)^3,x=-2..2,y=-2..2,z=-2..2,grid=[13,13,13]); |
Composición de Gráficos
Puntos y Archivos de Datos Experimentales
Puntos y Listas
Cuando se refiere a graficar datos experimentales debemos graficar objetos numéricos. Estos objetos pueden provenir de variables numéricas generadas en la solución de un problema o archivos numéricos de datos experimentales. Presentaremos aqui un par de ejemplos, uno de ellos que proviene del comando listplot( Lista, opciones ) del paquete plots. Este comando realiza una gráfica 2D para una lista de números que corresponden a las coordendas y de un punto ( x,y ), asignando los valores de x por omisión en forma consecutiva. Así
> | listplot([1, 8, 27, 11, 18, 20, 34]); # graficará estos valores asignandol la lista x = [1,2,3,4,5,6,7] Ydatos := [1, 8, 27, 11, 18, 20, 34]; # o equivalentemente con solo puntos listplot(Ydatos,style = POINT, symbol = DIAMOND, color=red); |
Si queremos graficar los puntos ( x,y ) con x particulares, tendremos que proveer, de forma explícita, el valor de las x con
Lista = [[ x1,y1 ],.[ x2,y2 ],.[ x3,y3 ], .. ,[ xn,yn ]]
> | XYdatos:= [[2, 8], [4,27], [6,11], [8,18], [10,20], [12,34]]; # o equivalentemente con solo puntos listplot(XYdatos,style = POINT, symbol = DIAMOND, color=red); |
o un poquito más elaborado
> | r := rand(0..10); # Entero aleatorio dentro de un rango especificado listadatos := [seq([1/(n+1),r()], n=0..10)]; # construyo la lista de puntos listplot(listadatos,style = POINT, symbol = DIAMOND, color=red); |
> |
Graficando Matrices
Igualmente podemos generar una matriz cuyos elementos sean números aleatorios
> | with(linalg): C := randmatrix(18,15,'sparse'): # generamos una matriz rectangular 18x15 CT:=htranspose(C); sparsematrixplot(C,matrixview); |
Warning, the protected names norm and trace have been redefined and unprotected
También se pueden importar matrices de datos estándares de http://math.nist.gov/MatrixMarket/
> | A:=ImportMatrix("c:/Luisn/Latex/cursos/maple/visualizacion/bcsstk04.mtx", source=MatrixMarket); sparsematrixplot(A, 'color=green',matrixview); |
Más impresionante es el ejemplo que presenta Alexander F. Walz (E-mail: alexander.f.walz@t-online.de) en http://www.math.utsa.edu/mirrors/maple/maplev.html en este ejemplo se procesa un archivo que contiene la información de la ubicación de 22.000 galaxias, convierte estos datos a un formato que pueda ser utilizado por MAPLE y luego los vuelva a procesar para graficarlos en 3D dependiendo de su distancia al Sol. Finalemente los convierte al formato vrml para que pueda ser explorado con cualquier navegador de INTERNET
> |