UNIVERSIDAD DIEGO PORTALES FACULTAD DE CIENCIAS DE LA INGENIERIA DEPARTAMENTO DE CIENCIAS BASICAS
INSTRUCCIONES INSTRUCCIONES Y COMANDOS BASICOS DE MAPLE Prof. Rubén Preiss
Instrucciones Básicas
1) Una vez ingresado a Maple se encontrará con una hoja de trabajo en blanco en la que aparecerá un puntero seguido de una barra vertical. 2) Cada vez que finalice finalice una frase deberá deberá escribir punto punto y coma (si desea que su resultado aparezca explícitamente) ó dos puntos (si desea que no aparezca el resultado). resultado). 3) Puede abandonar Maple por dos vías: eligiendo Exit eligiendo Exit del del menú File o bien escribiendo el comando quit . Si usa Exit , Maple le preguntará si desea respaldar su trabajo (usted deberá decidir entre Si, No ó Cancelar ). Si usa el comando quit , Maple no le hará consulta alguna. Después Después de haber ingresado ingresado dicho comando, simplemente simplemente deberá presionar presionar la tecla enter . Con ésta acción usted abandona su hoja de trabajo y el programa Maple, perdiendo la información que tenía en la hoja de trabajo. 4) Maple le ofrece ayuda en línea mediante los comandos ?, ?? y ??? . El comando ? seguido de algún tópico, hará que Maple le dé una explicación detallada de ése tópico, tópico, de sus secuencias de llamada y de algunos ejemplos. Si usa ?? seguido de algún tópico, Maple sólo le indicará indicará qué y cómo escribir escribir adecuadamente adecuadamente el comando relacionado relacionado con el tópico tópico en cuestión. Si usa ??? seguido de algún tópico, Maple le ofrecerá solamente ejemplos relacionados con el tópico consultado, omitiendo toda explicación. Para salir de cualquiera de éstas ayudas en línea oprima las teclas Alt y F4 simultáneamente. 5) Usted puede detener un cálculo cálculo que considere considere que es demasiado demasiado largo y demoroso demoroso para Maple. Para ello puede usar el icono Stop que aparece en el menú de Maple y que se enciende cada vez que Maple está procesando un cálculo. El proceso se detiene haciendo un click con el mouse sobre dicho icono. 6) Al ingresar comandos comandos y frases frases en su hoja de trabajo trabajo tome en consideraci consideración ón que los errores más comunes son los siguientes: (1) (1) Olvi Olvida darr al al fin final al de cada cada fras frasee el el pun punto to y com comaa (2) (2) No escr escrib ibir ir los los pare parent ntes esis is nece necesa sari rios os
(3) (3) (4) (5) (5)
Escr Escrib ibir ir una coma coma par paraa núme número ross deci decima male less en luga lugarr de un pun punto to Olvidar de escribir el símbolo de multiplicación Dos Dos ope opera raci cione oness en en la la mis misma ma fila fila no req requi uier eren en par parént éntes esis is..
UNIVERSIDAD DIEGO PORTALES
FACULTAD DE CIENCIAS DE LA INGENIERIA
DEP. DE CIENCIAS BASICAS
1
7)
Antes de intentar realizar las tareas, le sugerimos que desarrolle previamente todos los ejemplos que aparecen en los Laboratorios.
8) El comando restart, reinicia la página de trabajo, desevaluando las variables asignadas, dejándolas libres.
COMANDOS DE MAPLE COMANDOS BASICOS PARA ARITMETICA Y ALGEBRA
x+y; x - y; x*y; x/y; x ^ y; abs(x); x :=2 ; x = ‘x’; subs(x=a, f); evalf(expr); evalf(expr,n); evalc(imagin, expr); evalm(matr,expres); collect(expression,x); collect(f,[p,q]);
suma x e y resta x e y multiplica x e y divide x por y eleva x a y valor absoluto de x asigna a x el valor 2 suprime un valor asignado a x, quedando x libre sustituye la variable x en f por a evalúa una expresión usando decimales evalúa hasta n dígitos evalúa números complejos evalúa una expresión matricial agrupa expresiones según la potencia de x en f, agrupa todos los términos con p, y todos los términos con q expand(expr); desarrolla una expresión algebraicamente factor(expr); factoriza un polinomio fsolve(f(x)=0, x); soluciona numéricamente la ecuación en x, f(x) =0 fsolve(f(x)=0, x, a..b) soluciona numéricamente en x, f(x)=0, entre a y b fsolve(f(x)=0, x ,complex); halla numéricamente todas las raíces de una ecuación polinomial en x, f(x) = 0 π (debe escribirse con mayúscula) Pi ; simplify(expresión); reduce expresiones , más o menos solve(f(x)=0, x); resuelve simbólicamente la ecuación en x, f(x)=0 solve({f(x,y)=0, g(x,y)=0},{x,y}); resuelve simbólicamente sistemas de ecuaciones sqrt(x); raíz cuadrada de x I; número complejo i (“); da el resultado obtenido en el paso anterior coeff(expression,x,2); coeficiente de x 2 en la expresión with(student); carga la librería student completesquare(expr,[x,y]); completa cuadrados de binomio en x e y en la expresión expr completesquare(quad,[x,y,z]); completa completa cuadrados de binomio en x,y,z
UNIVERSIDAD DIEGO PORTALES
FACULTAD DE CIENCIAS DE LA INGENIERIA
DEP. DE CIENCIAS BASICAS
2
COMANDOS RELACIONADOS CON FUNCIONES Y GRAFICAS EN 2D
1) En Maple, al igual que en Matemáticas, existe una diferencia entre una expresión y una función. Una función toma argumentos y retorna valores. Una expresión es un objeto. Una función es activa y una expresión es pasiva. La sintaxis básica para definir una función es: nombre:= variable -> expresión Para escribir la flecha con el teclado se usa primero la tecla - y después la tecla > sin dejar espacio entre ambas. 2) El comando para realizar gráficas es plot. Hay varios tipos de sintaxis para éste comando, dependiendo si se trata de funciones o expresiones: (I) plot(f(x), x= a..b); (II) plot(f, x=a..b); (III) plot(f, a..b);
sintaxis tanto para funciones como expresiones sintaxis sólo para expresiones sintaxis sólo para funciones
3) Una vez que Maple está en la ventana de gráficas, el mouse maneja un cursor en forma de flecha que sirve para determinar las coordenadas de cualquier punto de la gráfica. Para ello se conduce la punta de la flecha hacia el punto cuyas coordenadas se desea determinar, se hace un click y aparecerá en la parte inferior de la ventana las coordenadas del punto que se está apuntando. 4) La sintaxis para graficar varios gráficos simultáneamente y controlar además la escala del eje vertical es: (IV) (V) (VI)
plot({f(x), g(x)} , x = a..b, c..d); sintaxis para funciones y expresiones plot({ f, g }, x = a..b, c..d); sintaxis sólo para expresiones plot({f , g}, a..b, c..d); sintaxis sólo para funciones
5) Para representar una función a trozos, o sea una función que presenta un dominio dividido en diferentes partes pudiendo ser diferente el proceso que se aplica en cada una de ellas se usa la estructura if - then - else . Hay dos alternativas: a) Si tan sólo se trata de una condición la sintaxis es: s:= proc(x) if (condición) then (expresión) else (expresión) fi end: (El comando proc(x) quiere decir “procedure” (procedimiento para x)) b) Si hay varias condiciones la sintaxis es: s:=proc(x) UNIVERSIDAD DIEGO PORTALES
FACULTAD DE CIENCIAS DE LA INGENIERIA
DEP. DE CIENCIAS BASICAS
3
if (condición) then (expresión) elif (condición) and (condición) then (expresión) elif (condición) then (expresión) elif (depende si hay más condiciones) fi end:
(El comando elif es una abreviatura para else if que significa “de otra manera si...”) 6) Dos funciones a trozos importantes para los que no se requiere el procedimiento anterior son la función valor absoluto para la cual se usa el comando abs (y que se vio en el laboratorio anterior) y la función parte entera (que da el mayor de los números enteros menores que un número dado) para la cual se usa el comando floor (número). 7)
Para hacer en Maple una tabla de valores se puede usar dos vías: a) usando el comando seq que se aplica a una función f ya definida mediante la sintaxis: seq(f(i), i = a..b) (Produce una secuencia de valores horizontal)
b) usando el comando array que se aplica a una función ya definida mediante la sintaxis: array( [seq( [i, evalf(f(i))], i = a..b) ] )
(Produce una secuencia de valores verticales) 8) Una de las características de Maple son sus librerías (paquetes especiales) “packages”. Los packages son librerías de programas dentro de Maple con comandos especiales que se llaman sólo cuando se necesitan. Así se logra tener en la memoria Ram del computador sólo lo que se necesita y no se recarga dicha memoria “consciente” inútilmente. Es así como Maple contiene librerías de geometría, de álgebra lineal, de series de potencia, de estadística, de geometría tridimensional, etc. Todos éstos programas se ingresan con el comando with. En éste laboratorio hay interés por graficar; en particular por graficar funciones que vienen definidas implícitamente. Este tipo de gráfica se obtiene ingresando el package plots. El ingreso se hará entonces con la sintaxis: with(plots): implicitplot( f(x,y)=0, x = a..b, y = c..d); 9) Para transformar una expresión en una función se usa el comando unapply mediante la sintaxis: g:= unapply(nombre de la expresión, x);
10)
Para transformar una función en una expresión se usa la sintaxis:
UNIVERSIDAD DIEGO PORTALES
FACULTAD DE CIENCIAS DE LA INGENIERIA
DEP. DE CIENCIAS BASICAS
4
y := f(x) 11)
Para graficar los puntos (a , b) , (c, d ) , (e, f ) en dos dimensiones: pointplot ({ [a , b ] , [c , d ] , [e , f ] });
12)
piecewise(x < a , f(x) , x >= b , g(x) , u(x)); define una función a trozos
COMANDOS PARA FUNCIONES LOGARITMICAS, EXPONENCIALES Y TRIGONOMETRICAS Y GRAFICOS CON ANIMACION
exp(x); función exponencial e ln(x); logaritmo natural de x log[a](x); logaritmo de x en base a sin(x); seno de x radianes cos(x); coseno de x radianes tan(x); tangente de x radianes cot(x); cotangente de x radianes sec(x); secante de x radianes csc(x); cosecante de x radianes arcsin(x); arcoseno de x ; función inversa de sen(x) arccos(x); arcocoseno de x; función inversa de cos(x) arctan(x); arcotangente de x; función inversa de tan(x) arcsec(x); arcosecante de x; función inversa de sec(x) arccsc(x); arcocosecante de x; función inversa de cosec(x) arccot(x); arcocotangente de x; función inversa de cot(x) convert(α*degrees, radians); convierte α grados sexagesimales a radianes convert(β, degrees); convierte b radianes a grados sexagesimales combine(expresión, trig); transforma fórmulas trigonométricas animate(F(x,t),x =a..b,t=c..d);produce gráficos con animación x
2)
Para usar las funciones trigonométricas tome en cuenta que todos los argumentos 180 Pi deben estar en radianes (1 radian = grados sex. ; 1 grado sex. = radianes) Pi 180 3) Usted puede simplificar o desarrollar identidades trigonométricas y Maple tiene rutinas que le permitirán convertir expresiones trigonométricas a otras formas. Por ejemplo, usted puede convertir cualquier expresión trigonométrica en una expresión que contenga sólo términos en seno y coseno. Para lograr esas transformaciones tendrá que usar tanto algunos comandos y operadores estudiados en guías anteriores como expand, factor y simplify , como algunos nuevos tales como combine[trig], simplify[trig], y convert. 4) Debe observarse que para convertir grados sexagesimales a radianes, Maple usa “degrees” (grados) como una unidad que se nombra explícitamente y por la cual hay que
UNIVERSIDAD DIEGO PORTALES
FACULTAD DE CIENCIAS DE LA INGENIERIA
DEP. DE CIENCIAS BASICAS
5
multiplicar el ángulo α. En cambio para convertir radianes a grados Maple exige no escribir “radians”, ni tampoco especificar una multiplicación por radianes. 5) Para producir gráficos con animación se requiere introducir primero el package de gráficas. Luego la sintaxis para producir animación es: > with(plots): > animate( F(x,t), x = a..b, t = c..d); donde F es una función real en x y en t y en donde a..b especifica el rango real horizontal (abscisas) en el cual se grafica F, mientras que c..d especifica de qué manera se desea que varíe el cuadro coordenado de un cuadro al siguiente. 6) Descripción de la ventana de gráficos con animación: Una vez que se ha obtenido la ventana de Maple para gráficos con animación es posible notar que aparecen dos filas de iconos en lugar de la clásica fila en las ventanas de Maple para gráficas sin animación. Al usar el mouse en la segunda fila sobre el segundo icono de izquierda a derecha (el que se parece a “Play” en un tocacintas), y hacer un click la gráfica comenzará a “moverse desde abajo hacia arriba”. Al poner la flecha del mouse sobre el segundo icono de derecha a izquierda en un icono que exhibe una flecha y hacer un click, la flecha del icono cambiará de sentido, de “izquierda a derecha” a “derecha a izquierda”. Esto significará que la curva comenzará a moverse de principio a fin pero en sentido contrario. Si, en lugar de hacer un click sobre el “Play”, se hace un click sobre el tercer icono que aparece de izquierda a derecha, que exhibe una flecha con una raya vertical en su punta, se logrará que la curva se mueva un cuadro por vez: uno por cada click. Si se realiza éste acto lentamente se descubrirá que la curva “bajará” de comienzo a fin después de haber presionado 15 veces el mouse,o sea con un total de 15 clicks. Esto significa que Maple ofrece, por defecto, un total de 16 cuadros de principio a fin. Se puede variar la cantidad de 16 cuadros que Maple ofrece por defecto usando la siguiente sintaxis: animate(F(x,t), x=a..b, t= c..d, frames = n);
Si se hace un click sobre el primer icono de la derecha de la segunda fila se observará que dicho icono cambia de una figura de dos “semiflechas” a una figura “cerrada”. Si se hace un click ahora sobre el “Play” (segundo icono de izquierda a derecha), la figura se moverá ininterrumpidamente un sin fin de veces. Para detener el movimiento de la figura se hace un click sobre el primer icono de la izquierda (similar al “stop” de un tocacintas). Quedan aun dos iconos: son los que se parecen al “retroceso” y “avance” rápido en los tocacintas. Aquí hacen las veces de disminución o aumento de cuadros por segundo. Observe que al hacer un click sobre uno de ellos aparece en la parte inferior de la pantalla una indicación con un valor de “fms”, que significa “frames per second” (“cuadros por segundo”). A medida que se continúa haciendo clicks sobre el mismo icono se verá que variará la cantidad de “fms” (aumentará o disminuirá según el icono que se esté ocupando). 7) Una opción interesante que posee el comando plot es el que permite poner título a una gráfica. Para ello se usa la siguiente sintaxis: UNIVERSIDAD DIEGO PORTALES
FACULTAD DE CIENCIAS DE LA INGENIERIA
DEP. DE CIENCIAS BASICAS
6
> animate( F(x,t), x = a..b, t = c..d, frames = n, title = ‘nombre’);
8) Otra opción interesante del comando plot es la posibilidad en algunos casos de eliminar las asíntotas de la gráfica. Se usa la sintaxis: >plot( f(x), x= a..b, y=c..d, discont=true);
Lamentablemente en la versión 3 de Maple esto no da siempre el resultado esperado. 9) Para calcular logaritmos en base 10 en Maple es necesario primero introducir el package readlib(log10)
COMANDOS RELACIONADOS CON LIMITES DE SUCESIONES
seq(a(n), n = a..b); limit(a(n), n = infinity); Limit(a(n), n = infinity); seq([n, a(n)], n = a..b]; style = point;
sucesión de números a(n) para n de a hasta b calcula el límite de la sucesión da la notación del límite de la sucesión sucesión de pares ordenados de la sucesión da el tipo de punto usado en gráfica
COMANDOS RELACIONADOS CON LIMITES DE FUNCIONES
for k from a to b do...od;
procedimiento que repite un proceso un determinado número de veces límite de f(x), cuando x tiende al valor c límite de f(x), cuando x tiende a c por la derecha
limit(f(x), x=c); limit(f(x), x=c, right);
limit(f(x), x=c, left);
límite de f(x), cuando x tiende a c por la izquierda limit(f(x), x=infinity); límite de f(x), cuando x tiende a infinito piecewise(x < a , f(x) , x >= b , g(x) , u(x)); define una función a trozos
COMANDOS PARA DERIVADAS
diff(expr,x); diff(f(x),x); D(f); showtangent(f(x), x=c,a..b);
UNIVERSIDAD DIEGO PORTALES
derivada de la expresión con respecto a x derivada de f(x) con respecto a x derivada de la función f, retorna una función grafica f(x) y una recta tangente en x = c
FACULTAD DE CIENCIAS DE LA INGENIERIA
DEP. DE CIENCIAS BASICAS
7
COMANDOS PARA FUNCIONES POLINOMICAS Y RACIONALES
normal
forma básica para simplificar funciones racionales elige el numerador de una función racional después de haber usado el comando norm elige el denominador de una función racional después de haber usado el comando norm retorna el cuociente del numerador dividido por el denominador retorna el resto del numerador dividido por el denominador
numer denom quo rem
COMANDOS PARA INTEGRACION
int(f(x),x); int(f(x),x=a..b); Int(f(x),x); sum(k, k=1..3); Sum(k, k=1..3);
integral indefinida (antiderivada de f(x)) integral definida de f(x) entre a y b integral inerte, no evaluada retorna 1 + 2 + 3 retorna el signo sumatoria para la suma de 1+2+3 carga la librería student
with(student);
∫ f dx
integrand(Int(f,x));
retorna el integrado de
leftbox(f(x), x=a..b,n);
da el gráfico de f(x) en [a,b], dibujando n rectángulos bajo f(x) con puntos iniciales para aproximar el área suma exacta de áreas de rectángulos de leftbox
leftsum(f(x),x=a..b,n); rightbox(f(x),x=a..b,n);
rightsum(f(x), x=a..b,n); convert(f,parfrac,x); normal(expression); simplify(expression, symbolic);
da el gráfico de f(x) en [a,b], dibujando n rectángulos bajo f(x) con puntos terminales para aproximar área suma exacta de áreas de rectángulos de rightbox descomposición en fracciones parciales de una finción racional f(x) suma fracciones vía comun denominador fuerza a Maple a usar la transformación x
with(student); changevar(eqn,Int,t);
UNIVERSIDAD DIEGO PORTALES
2
−>x
carga la librería student realiza un cambio de variable definido por eqnen la integral inerte Int,resultando en una integral con una n ueva variable t FACULTAD DE CIENCIAS DE LA INGENIERIA
DEP. DE CIENCIAS BASICAS
8
∫
da uv − v du para la integral inerte
intparts(Int,u);
Int
simpson(f,x=a..b,n); trapezoid(f,x=a..b,n); int(f,x=a..b, Cauchy Principal Value);
= ∫ u dv
aproximación por Regla de Simpson con n paneles aproximación por la Regla del Trapezoide con n paneles da el Valor Principal de Cauchy de las integrales impropias
COMANDOS PARA SERIES
taylor(f,x=a,n); mtaylor(f(x,y),[x=a,y=b],n); convert(taylor(f,x=a,n),polynom);
polinomio de Taylor de orden n-1, en x=a, para f calcula un polinomio de Taylor multivariable de grado n , en el punto (x,y)=(a,b) convierte resultados del comandotaylor en polinomios
COMANDOS PARA COORDENADAS POLARES Y ECUACIONES PARAMETRICAS
plot([x(t),y(t),t=a..b]); grafica la curva paramétrica x = x(t) , y = y(t) plot( [r(t), t , t = a..b], coords=polar ); gráfico polar de r = r(t) plot( [r(t), t , t = a..b], c..d , e..f, coords=polar ); grafica polares y regula el tamaño de los ejes horizontal y vertical, donde “c..d” son para eje horizontal y “e..f ” para eje vertical
COMANDOS PARA VECTORES Y GRAFICOS EN ESPACIO 3D
plot3d(f(x,y),x=a..b, y=c..d; with(linalg); crossprod(v1,v2); det(A); dotprod(v1,v2); normalize(v); stack(v1,v2); matrix(2,3,[a,b,c,d,e,f])
UNIVERSIDAD DIEGO PORTALES
grafica en 3D la superficie z=f(x,y) carga la librería de álgebra lineal calcula el prodicto cruz de los vectores v1 y v2 calcula el determinante de la matriz A calcula el producto punto de los vectores v1 y v2 da el vector unitario v/(longitud de v) forma matrices cuyas filas son vectores v1, v2 crea una matriz 2 x 3 cuyos entradas son las filas a,b,c; y; d,e,f
FACULTAD DE CIENCIAS DE LA INGENIERIA
DEP. DE CIENCIAS BASICAS
9
vector([a,b,c]);
crea el vexctor ai+b j+ck
with(plots); plot3d(f(x,y),x=a..b, y=c..d; implicitplot3d(f(x,y,z),x=a..b,y=c..d,z=p..q);
carga la librería plots grafica en 3D la superficie z=f(x,y) grafica la superficie z=z(x,y)definida implícitamente por f(x,y,z) spacecurve([x(t),y(t),z(t)],t=a..b); grafica la curva 3D x=x(t), y=y(t), z=z(t) display3d({l1,l2}); grafica simultáneamente dos entes 3D definidos previamente por l1:=plot3d(etc...): y l2:=plot3d(etc...): pointplot3d({[a,b,c],[d,e,f],[p,q,r]}); grafica puntos en 3D cylinderplot(r(t,z),t=a..b,z=c..d); grafica r(t,z) en coordenadas cilíndricas sphereplot(r(t,f),t=a..b,f=c..d); grafica la superficie 3D r(t,f) en coordenadas esféricas contourplot(f(x,y), x=a..b,y=c..d); genera una colección de curvas de nivel contourplot(f(x,y), x=a..b,y=c..d,contours=[p,q,r]); genera curvas de nivel para constantes z=p,q,r
with(linalg); evalm(v/c); norm(v,2);
UNIVERSIDAD DIEGO PORTALES
carga la librería de álgebra lineal evalúa una matriz aritmética, dividiendo el vector v por el escalar c calcula la norma euclidiana (longitud) del vector v
FACULTAD DE CIENCIAS DE LA INGENIERIA
DEP. DE CIENCIAS BASICAS
10