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:

  • Aritmética modular:

>    25 mod 3;

  • Factorial:

>    200!;

  • Descomposición en factores primos:

>    ifactor(%);

  • Prueba de primalidad:

>    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 Pi   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 sqrt(-1)  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

CT := matrix([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0], [88, 0, 0, 0, 0, 50, 0, 0, 22, 0, 0, 0, 0, 0, 0, -18, 0, 4], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -34], [-91, 0, 0,...

[Maple Plot]

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);

A := Matrix(%id = 20787896)

[Maple Plot]

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

>