Está en la página 1de 66

Universidad Autnoma de Nayarit

Unidad Acadmica de Ciencias e Ingenieras



Introduccin Maple: Clculo Diferencial y Integral

0. Introduccin
o 1. Qu es el Maple?
o 2. Instrucciones y comandos bsicos del Maple
1.Primera parte - Introduccin con los principales comandos
o 1. Manipulando nmeros
o 2. Solucin de ecuaciones
o 3. Como usar el HELP
2. Segunda parte - Nociones de clculo diferencial y integral
o 1. Calculando Lmites
o 2. Calculando Algunas Derivadas
o 3. Un problema de Clculo Interesante.
o 4. Series de Taylor
o 5. Calculando Integrales
o 6. Ecuaciones Diferenciales
3.Tercera parte - Graficando
0. Introduccin
1. Qu es el Maple?
Maple es un sistema de clculo simblico o algebraico. Ambas expresiones hacen
referencia a la habilidad que posee Maple para trabajar con la informacin de la
misma manera que lo haramos nosotros cuando llevamos a cabo clculos
matemticos analticos. Mientras que los programas matemticos tradicionales
requieren valores numricos para todas las variables, Maple mantiene y manipula los
smbolos y las expresiones. Estas capacidades simblicas permiten obtener soluciones
analticas exactas de los problemas matemticos: por ejemplo se pueden calcular lmites,
derivadas e integrales de funciones, resolver sistemas de ecuaciones de forma exacta,
encontrar soluciones de ecuaciones diferenciales, etc. Como complemento a las
operaciones simblicas existe un amplio conjunto de rutinas grficas que permiten
visualizar informacin matemtica compleja, algoritmos numricos que dan
soluciones en precisin arbitraria de problemas cuya solucin exacta no es
calculable y un lenguaje de programacin completo y comprensible que permite al
usuario crear sus propias funciones y aplicaciones.

Internamente Maple se estructura en tres partes. En primer lugar est el ncleo, formado
por rutinas escritas y compiladas en lenguaje C, donde se realizan la mayor parte de los
clculos bsicos hechos por el sistema. La segunda parte es un conjunto de libreras,
donde se encuentra la mayora de los comandos de Maple, y que estn escritas en su
propio lenguaje de programacin (interpretado no compilado), lenguaje que permite al
usuario crear sus propios comandos y aadirlos a la librera estndar (es por tanto un
sistema extensible). Y finalmente la interfaz del programa a travs de la cual es posible
comunicarse con el sistema.


Esta interfaz de Maple tiene un aspecto muy similar a la de otros programas usados
en sistemas operativos con entorno grfico y permite el acceso a todas las
M. en C. Hctor Martnez Rubin Celis 1 / 66
funciones y capacidades del manipulador. Bsicamente lo que aparece al invocar el
programa Maple (haciendo doble clic en su icono, por ejemplo) es una ventana ms o
menos convencional en la que se encuentra integrado lo que en ingls se denomina
worksheet y que nosotros traduciremos como hoja de trabajo. La flexibilidad de
la hoja de trabajo permite tanto la investigacin en ideas matemticas como la creacin de
artculos tcnicos sofisticados. De esta manera Maple presenta grandes
posibilidades de aplicacin y uso tanto en la investigacin como en el trabajo
profesional y por supuesto en la enseanza de las Matemticas.


2. Instrucciones y comandos bsicos del Maple
Instrucciones Bsicas
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 una frase deber escribir punto y coma (si desea que su resultado
aparezca explcitamente) dos puntos (si desea que no aparezca el resultado).

3) Puede abandonar Maple por dos vas: eligiendo Exit del men File o bien escribiendo el
comando quit. Si usaExit, 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.
Despus de haber ingresado dicho comando, simplemente deber presionar la tecla enter.
Con sta accin usted abandona su hoja de trabajo y el programa Maple, perdiendo la
informacin que tena en la hoja de trabajo.

4) Maple le ofrece ayuda en lnea mediante los comandos ?, ?? y ??? . El comando ?
seguido de algn tpico, har que Maple le d una explicacin detallada de se tpico, de
sus secuencias de llamada y de algunos ejemplos. Si usa ?? seguido de algn tpico, Maple
slo le indicar qu y cmo escribir adecuadamente el comando relacionado con el tpico
en cuestin. Si usa ??? seguido de algn tpico, Maple le ofrecer solamente ejemplos
relacionados con el tpico consultado, omitiendo toda explicacin. Para salir de cualquiera
de stas ayudas en lnea oprima las teclas Alt y F4 simultneamente.

5) Usted puede detener un clculo que considere que es demasiado largo y 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 clculo. El proceso se detiene haciendo
un click con el mouse sobre dicho icono.

6) Al ingresar comandos y frases en su hoja de trabajo tome en consideracin que los
errores ms comunes son los siguientes:
(1) Olvidar al final de cada frase el punto y coma
(2) No escribir los parntesis necesarios


(3) Escribir una coma para nmeros decimales en lugar de un punto
(4) Olvidar de escribir el smbolo de multiplicacin
(5) Dos operaciones en la misma fila no requieren parntesis.

M. en C. Hctor Martnez Rubin Celis 2 / 66
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 pgina de trabajo, reinicia los valores de las
variables asignadas, dejndolas libres.

COMANDOS DE MAPLE

COMANDOS BASICOS PARA ARITMETICA Y ALGEBRA

x +y ; suma x e y
x - y; resta x e y
x * y ; multiplica x e y
x / y ; divide x por y
x ^y; eleva x a y
abs(x); valor absoluto de x
x :=2 ; asigna a x el valor 2
x =x; suprime un valor asignado a x, quedando x libre
subs(x=a, f); sustituye la variable x en f por a
evalf(expr); evala una expresin usando decimales
evalf(expr,n); evala hasta n dgitos
evalc(imagin, expr); evala nmeros complejos
evalm(matr,expres); evala una expresin matricial
collect(expression,x); agrupa expresiones segn la potencia de x
collect(f,[p,q]); en f, agrupa todos los trminos con p, y todos
los trminos con q
expand(expr); desarrolla una expresin algebraicamente
factor(expr); factoriza un polinomio
fsolve(f(x)=0, x); soluciona numricamente la ecuacin en x, f(x) =0
fsolve(f(x)=0, x, a..b) soluciona numricamente en x, f(x)=0, entre a y b
fsolve(f(x)=0, x ,complex); halla numricamente todas las races de una ecuacin
polinomial en x, f(x) =0
Pi ; (debe escribirse con mayscula)
simplify(expresin); reduce expresiones , ms o menos
solve(f(x)=0, x); resuelve simblicamente la ecuacin en x, f(x)=0
solve({f(x,y)=0, g(x,y)=0},{x,y}); resuelve simblicamente sistemas de ecuaciones
sqrt(x); raz cuadrada de x
I; nmero complejo i
(%); da el resultado obtenido en el paso anterior
coeff(expression,x,2); coeficiente de en la expresin
2
x
with(student); carga la librera student
completesquare(expr,[x,y]); completa cuadrados de binomio en x e y en la
expresin expr
completesquare(quad,[x,y,z]); completa cuadrados de binomio en x,y,z

M. en C. Hctor Martnez Rubin Celis 3 / 66

COMANDOS RELACIONADOS CON FUNCIONES Y GRAFICAS EN 2D

1) En Maple, al igual que en Matemticas, existe una diferencia entre una expresin y
una funcin. Una funcin toma argumentos y retorna valores. Una expresin es un objeto.
Una funcin es activa y una expresin es pasiva. La sintaxis bsica para definir una funcin
es:
nombre:= variable -> expresin

Para escribir la flecha con el teclado se usa primero la tecla - y despus la tecla >
sin dejar espacio entre ambas.

2) El comando para realizar grficas 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); sintaxis tanto para funciones como expresiones
(II) plot(f, x=a..b); sintaxis slo para expresiones
(III) plot(f, a..b); sintaxis slo para funciones

3) Una vez que Maple est en la ventana de grficas, el mouse maneja un cursor en
forma de flecha que sirve para determinar las coordenadas de cualquier punto de la grfica.
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 grficos simultneamente y controlar adems la
escala del eje vertical es:

(IV) plot({f(x), g(x)} , x = a..b, c..d); sintaxis para funciones y expresiones
(V) plot({ f, g }, x = a..b, c..d); sintaxis slo para expresiones
(VI) plot({f , g}, a..b, c..d); sintaxis slo para funciones

5) Para representar unafuncin a trozos, o sea una funcin 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 slo se trata de una condicin la sintaxis es:
s:= proc(x)
if (condicin) then (expresin)
else (expresin)
fi
end:

(El comando proc(x) quiere decir procedure (procedimiento para x))

b) Si hay varias condiciones la sintaxis es:

s:=proc(x)
M. en C. Hctor Martnez Rubin Celis 4 / 66
if (condicin) then (expresin)
elif (condicin) and (condicin) then (expresin)
elif (condicin) then (expresin)
elif (depende si hay ms 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 funcin valor absoluto para la cual se usa el comando abs (y que se vio en el
laboratorio anterior) y la funcin parte entera (que da el mayor de los nmeros enteros
menores que un nmero dado) para la cual se usa el comando floor (nmero).

7) Para hacer en Maple una tabla de valores se puede usar dos vas:
a) usando el comando seq que se aplica a una funcin 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 funcin ya definida mediante la sintaxis:

array( [seq( [i, evalf(f(i))], i = a..b) ] )

(Produce una secuencia de valores verticales)

8) Una de las caractersticas de Maple son sus libreras (paquetes especiales)
packages. Los packages son libreras de programas dentro de Maple con comandos
especiales que se llaman slo cuando se necesitan. As se logra tener en la memoria Ram
del computador slo lo que se necesita y no se recarga dicha memoria consciente
intilmente. Es as como Maple contiene libreras de geometra, de lgebra lineal, de series
de potencia, de estadstica, de geometra tridimensional, etc. Todos stos programas se
ingresan con el comando with. En ste laboratorio hay inters por graficar; en particular
por graficar funciones que vienen definidas implcitamente. Este tipo de grfica se obtiene
ingresando el packageplots. 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 expresin en una funcin se usa el comando unapply
mediante la sintaxis:

g:= unapply(nombre de la expresin, x);

10) Para transformar una funcin en una expresin se usa la sintaxis:

M. en C. Hctor Martnez Rubin Celis 5 / 66
y := f(x)

11) Para graficar los puntos en dos dimensiones: ) f , e ( , ) d , c ( , ) b , a (

pointplot ({ [a , b ] , [c , d ] , [e , f ] });

12) piecewise(x < a , f(x) , x >= b , g(x) , u(x)); define una funcin a trozos

COMANDOS PARA FUNCIONES LOGARITMICAS, EXPONENCIALES Y TRIGONOMETRICAS
Y GRAFICOS CON ANIMACION

exp(x); funcin exponencial e
x
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 ; funcin inversa de sen(x)
arccos(x); arcocoseno de x; funcin inversa de cos(x)
arctan(x); arcotangente de x; funcin inversa de tan(x)
arcsec(x); arcosecante de x; funcin inversa de sec(x)
arccsc(x); arcocosecante de x; funcin inversa de cosec(x)
arccot(x); arcocotangente de x; funcin inversa de cot(x)
convert(*degrees, radians); convierte grados sexagesimales a radianes
convert(, degrees); convierte b radianes a grados sexagesimales
combine(expresin, trig); transforma frmulas trigonomtricas
animate(F(x,t),x =a..b,t=c..d);produce grficos con animacin


2) Para usar las funciones trigonomtricas tome en cuenta que todos los argumentos
deben estar en radianes (1 radian =
180
Pi
grados sex. ; 1 grado sex. =
Pi
180
radianes)

3) Usted puede simplificar o desarrollar identidades trigonomtricas y Maple tiene
rutinas que le permitirn convertir expresiones trigonomtricas a otras formas. Por ejemplo,
usted puede convertir cualquier expresin trigonomtrica en una expresin que contenga
slo trminos en seno y coseno. Para lograr esas transformaciones tendr que usar tanto
algunos comandos y operadores estudiados en guas 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 explcitamente y por la cual hay que
M. en C. Hctor Martnez Rubin Celis 6 / 66
multiplicar el ngulo . En cambio para convertir radianes a grados Maple exige no escribir
radians, ni tampoco especificar una multiplicacin por radianes.

5) Para producir grficos con animacin se requiere introducir primero el package de
grficas. Luego la sintaxis para producir animacin es:
> with(plots):
> animate( F(x,t), x = a..b, t = c..d);
donde F es una funcin 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
vare el cuadro coordenado de un cuadro al siguiente.

6) Descripcin de la ventana de grficos con animacin:
Una vez que se ha obtenido la ventana de Maple para grficos con animacin es
posible notar que aparecen dos filas de iconos en lugar de la clsica fila en las ventanas de
Maple para grficas sin animacin. 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 grfica 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 despus 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 rpido en
los tocacintas. Aqu hacen las veces de disminucin 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 indicacin con un valor de fms, que significa frames per second (cuadros por
segundo). A medida que se contina haciendo clicks sobre el mismo icono se ver que
variar la cantidad de fms (aumentar o disminuir segn el icono que se est ocupando).

7) Una opcin interesante que posee el comando plot es el que permite poner ttulo a
una grfica. Para ello se usa la siguiente sintaxis:
M. en C. Hctor Martnez Rubin Celis 7 / 66

> animate( F(x,t), x = a..b, t = c..d, frames = n, title = nombre);

8) Otra opcin interesante del comando plot es la posibilidad en algunos casos de
eliminar las asntotas de la grfica. Se usa la sintaxis:

>plot( f(x), x= a..b, y=c..d, discont=true);

Lamentablemente en la versin 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); sucesin de nmeros a(n) para n de a hasta b
limit(a(n), n =infinity); calcula el lmite de la sucesin
Limit(a(n), n =infinity); da la notacin del lmite de la sucesin
seq([n, a(n)], n =a..b]; sucesin de pares ordenados de la sucesin
style =point; da el tipo de punto usado en grfica



COMANDOS RELACIONADOS CON LMITES DE FUNCIONES

for k from a to b do...od; procedimiento que repite un proceso un
determinado nmero de veces
limit(f(x), x=c); lmite de f(x), cuando x tiende al valor c
limit(f(x), x=c, right); lmite de f(x), cuando x tiende a c por la
derecha

limit(f(x), x=c, left); lmite de f(x), cuando x tiende a c por la
izquierda
limit(f(x), x=infinity); lmite de f(x), cuando x tiende a infinito
piecewise(x <a , f(x) , x >=b , g(x) , u(x)); define una funcin a trozos



COMANDOS PARA DERIVADAS

diff(expr,x); derivada de la expresin con respecto a x
diff(f(x),x); derivada de f(x) con respecto a x
D(f); derivada de la funcin f, retorna una funcin
showtangent(f(x), x=c,a..b); grafica f(x) y una recta tangente en x =c

M. en C. Hctor Martnez Rubin Celis 8 / 66


COMANDOS PARA FUNCIONES POLINOMICAS Y RACIONALES


normal forma bsica para simplificar funciones
racionales
numer elige el numerador de una funcin racional
despus de haber usado el comando norm
denom elige el denominador de una funcin racional
despus de haber usado el comando norm
quo retorna el cuociente del numerador dividido
por el denominador
rem retorna el resto del numerador dividido por el
denominador


COMANDOS PARA INTEGRACION

int(f(x),x); integral indefinida (antiderivada de f(x))
int(f(x),x=a..b); integral definida de f(x) entre a y b
Int(f(x),x); integral inerte, no evaluada
sum(k, k=1..3); retorna 1 +2 +3
Sum(k, k=1..3); retorna el signo sumatoria para la suma de
1+2+3
with(student); carga la librera student
integrand(Int(f,x)); retorna el integrado de

dx f
leftbox(f(x), x=a..b,n); da el grfico de f(x) en [a,b], dibujando n
rectngulos bajo f(x) con puntos iniciales para
aproximar el rea
leftsum(f(x),x=a..b,n); suma exacta de reas de rectngulos de leftbox

rightbox(f(x),x=a..b,n); da el grfico de f(x) en [a,b], dibujando n
rectngulos bajo f(x) con puntos terminales
para aproximar rea
rightsum(f(x), x=a..b,n); suma exacta de reas de rectngulos de
rightbox
convert(f,parfrac,x); descomposicin en fracciones parciales de una
fincin racional f(x)
normal(expression); suma fracciones va comun denominador
simplify(expression, symbolic); fuerza a Maple a usar la transformacin
x x
2
>
with(student); carga la librera student
changevar(eqn,Int,t); realiza un cambio de variable definido por
eqnen la integral inerte Int,resultando en una
integral con una n ueva variable t
M. en C. Hctor Martnez Rubin Celis 9 / 66
intparts(Int,u); da

du v uv para la integral inerte

= dv u Int
simpson(f,x=a..b,n); aproximacin por Regla de Simpson con n
paneles
trapezoid(f,x=a..b,n); aproximacin por la Regla del Trapezoide con
n paneles
int(f,x=a..b, Cauchy Principal Value); da el Valor Principal de Cauchy de las
integrales impropias


COMANDOS PARA SERIES

taylor(f,x=a,n); polinomio de Taylor de orden n-1, en x=a, para
f
mtaylor(f(x,y),[x=a,y=b],n); calcula un polinomio de Taylor multivariable
de grado n , en el punto (x,y)=(a,b)
convert(taylor(f,x=a,n),polynom); convierte resultados del comando taylor en
polinomios



COMANDOS PARA COORDENADAS POLARES Y ECUACIONES
PARAMETRICAS

plot([x(t),y(t),t=a..b]); grafica la curva paramtrica x =x(t) , y =y(t)
plot( [r(t), t , t =a..b], coords=polar ); grfico polar de r =r(t)
plot( [r(t), t , t =a..b], c..d , e..f, coords=polar ); grafica polares y regula el tamao 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; grafica en 3D la superficie z=f(x,y)
with(linalg); carga la librera de lgebra lineal
crossprod(v1,v2); calcula el prodicto cruz de los vectores
v1 y v2
det(A); calcula el determinante de la matriz A
dotprod(v1,v2); calcula el producto punto de los
vectores v1 y v2
normalize(v); da el vector unitario v/(longitud de v)
stack(v1,v2); forma matrices cuyas filas son vectores
v1, v2
matrix(2,3,[a,b,c,d,e,f]) crea una matriz 2 x 3 cuyos entradas
son las filas a,b,c; y; d,e,f
vector([a,b,c]); crea el vexctor ai+bj+ck
M. en C. Hctor Martnez Rubin Celis 10 / 66


with(plots); carga la librera plots
plot3d(f(x,y),x=a..b, y=c..d; grafica en 3D la superficie z=f(x,y)
implicitplot3d(f(x,y,z),x=a..b,y=c..d,z=p..q); grafica la superficie z=z(x,y)definida
implcitamente 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 simultneamente 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 cilndricas
sphereplot(r(t,f),t=a..b,f=c..d); grafica la superficie 3D r(t,f) en
coordenadas esfricas
contourplot(f(x,y), x=a..b,y=c..d); genera una coleccin 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); carga la librera de lgebra lineal
evalm(v/c); evala una matriz aritmtica, dividiendo el
vector v por el escalar c
norm(v,2); calcula la norma euclidiana (longitud) del
vector v
M. en C. Hctor Martnez Rubin Celis 11 / 66
1. Primera parte Introduccin a los principales comandos
En esta seccin de trabajo veremos los principales recursos del Maple V para operaciones
algbricas (numricamente y simblicamente). Al final de una instruccin teclear "punto y
coma" o "dos puntos". Descubra la diferencia entre ellas.
>
> # Este es un smbolo de comentario. El Maple ignora todo lo que sigue a #. Smbolos
de operaciones +,*, -,/,**=^

1. Manipulando Nmeros
Teclea la siguiente cuenta .
> 32*12^13; # teclee [enter]

> # Calcular el fatorial de 20
> 20!;

> # Decomponer un nmero en factores primos
> ifactor(%);

> # Expandir un nmero
> expand(%);

Trabajando con aritmtica EXACTA.
> (2^30/3^20)*sqrt(3);

No aparece ningn redondeo. El valor es excato. Para ver una aproximacion en decimales
ejecutamos evalf (evaluation with floating point)
> evalf(%);

Otro ejemplo:
> sin(sqrt(2/3)*Pi);

> evalf(%);
>

M. en C. Hctor Martnez Rubin Celis 12 / 66
Otro ejemplo:
> 20*root[5](Pi);

> # Cuantos dgitos usados?
> Digits;

Si quiere una respuesta con mas dgitos.
> Digits:= 30: evalf(sin(sqrt(2/3)*Pi));

Cambiando a 10 digitos.
> Digits:= 10:
Haciendo sumatorias. Descubra a diferencia entre los comandos Sum y sum
> Sum((1+i)/(1+i^4), i=1..10);

> value(%);

> Sum(1/n^2,n=1..40);

> value(%);

> evalf(%);

Productos, como una sumatoria, descubra la diferencia entre los comandos Product y
product
> Product(((i^2+3*i-11)/(i+3)), i=0..10);

> value(%);

M. en C. Hctor Martnez Rubin Celis 13 / 66
> evalf(%,50);

Repita los comandos de somatoria y produtos, iniciando con letra minscula para ver un
que ocorre .
> sum((1+i)/(1+i^4), i=1..10);

> product(((i^2+3*i-11)/(i+3)), i=0..10);

Nmeros Complejos:
> (3+5*I)/(7+4*I); # dividiendo ...

> (2-4*I)*(1+I);

> sqrt(4*I);

> (sqrt(4*I))^2;

> evalc(%);

Funciones famosas y constantes famosas:
> evalf(exp(1),40); #constante con 40 decimales

> evalf(Pi,50); #constante Pi con 50 decimales

Un Maple ms poderoso con clculos simblicos.
Operaciones Simblicas:
> (x+y)^3*(x+y)^2;

> expand(%);

Factorizar un polinomio
> factor(%);

> simplify(cos(x)^5 + sin(x)^4 + 2*cos(x)^2 - 2*sin(x)^2 - cos(2*x));

Normalizar formas racionales
> normal((x^3-y^3)/(x^2+x-y-y^2));
M. en C. Hctor Martnez Rubin Celis 14 / 66

2.Trabajando con nombres:
> A:= (41*x^2+x+1)^2;

> B:= expand(A);

> C:= 32*x^3-4;

> # Dividir A entre C
> A/C;

Escribir A/C como fracciones parciales.
> convert(A/C, parfrac,x);

Escribir la funcin cot en trminos de exponenciales.
> convert(cot(x) , exp);

Ms cosas importantes, raz de polinomio con la multiplicidad.
> solve(a*x^2+b*x+c,x);

> polinomio:=9*x^3-37*x^2+47*x-19;

> solve(polinomio,x);

Derivando un polinomio
> p:=x->9*x^3-37*x^2+47*x-19;
M. en C. Hctor Martnez Rubin Celis 15 / 66

> D(p);

> D(p)(1);

Para determinar mas raices (reales o complejas) numericamente de un polinomio
> fsolve(p(x)=0,x);

Resolviendo un sistema
> eqns := {7*x-14*y=1.111, -14*x+140*y=-0.642};

> sols := solve( eqns );


2. Solucin de Ecuaciones:
Solucionar una ecuacin es encontran los valores para los cuales dicha ecuacin es
verdadera. Las soluciones ms usadas son aquellas que buscan las raices de una expresin
polinmica. Para tal efecto usaremos el comando: fsolve( expresin )
Orden ........: solve
Sintxis ......: solve( expresin , x , a..b)
Propsito ...: Calcula la solucin de expresin . Las raices del polinomio. Sobre la variable
x en el intervalo a..b .
> restart;
f1:=x^2+1;
solve(f1,x);
f2:=a*x^2+b*x+c;
solve(f2,x);




Lo que nos arroja, incluso, una expresin algebrica para la solucin de una funcin
cuadrtica.
M. en C. Hctor Martnez Rubin Celis 16 / 66
Cuando la funcin la definimos nosotros mismos, podemos usar el comando fsolve. Vamos
a solucionar una expresin definida por nosotros y ubica los puntos de la solucin en un
grfico.
> with(plots):
f3:=x^4+2*x^2+x;
raices:=fsolve(f3,x,-2..2);
puntos:=([raices[1],0],[raices[2],0]);
p1:=plot(f3,x=-1..1):
p2:=plot([puntos],x=-1..1,style=point,color=blue,thickness=3,symbol=circle):
display({p1,p2});
War ni ng, t he name changecoor ds has been r edef i ned





Supongamos ahora que deseamos calcular los puntos de interseccin de una recta y una
cuadrtica:
> Linea:=2*x+4;
Cuadratica:=x^2+2*x+3;
Sol:=fsolve(Linea=Cuadratica,x);
#subs( x=2, x^2+x+1 );
digits:=2;
M. en C. Hctor Martnez Rubin Celis 17 / 66
Puntos:=([Sol[1],subs(x=Sol[1],Linea)],[Sol[2],subs(x=Sol[2],Linea)]);
plot({Linea,Cuadratica,[Puntos]},x=-
5..5,style=[point,line,line],color=[red,blue,black]);






Hemos usado la opcin de remplazar o sustituir una variable en una ecuacin. La sintxis es
la siguiente:
Orden ........: subs
Sintxis ......: subs( x=a,expresin)
Propsito ...: Remplaza el valor de la variable x en la expresin .
> subs(x=a,x^2+3*x+4);


Como usar el HELP
Usted puede ver cuales son los paquetes del Maple V y sus comandos consultando el help.
M. en C. Hctor Martnez Rubin Celis 18 / 66
El help del Maple es muy amigable. Es interesante saber usrlo. El help tiene tres nveles de
ayuda con una ? interrogacin o con dos ?? interrogaciones o con tres ???
interrogaciones. Descubra la diferencia entre ellas.

Para ver los paquetes del Maple teclee ?index[package];
> ?index[package];
Cada paquete es acompaado con un comando with.
> #with(student); #ejemplo
> #?index[functions]; #ejemplo
> #with(linalg); #ejemplo


2. Segunda parte - Nociones de clculo diferencial y integral



1 . Calculando Lmites

Lmites:
El lmite de una sucecin o de una funcin se calcula en Maple con la orden limit
Orden ........: limit
Sintaxis ......: limit (expresion, variable=a , opcin)
Propsito ...: Calcular el lmite de la expresin , cuando variable tiende a..: a . Veamos
algunos ejemplos:

Definiendo una expresin
> restart:
f1:=(n^2)/(n+1);
limit(f1,n=infinity);


> f2:=(x^2-sqrt(x))/(sqrt(x)-1);
limit(f2,x=1);


M. en C. Hctor Martnez Rubin Celis 19 / 66
> f3:=(cos(x))/(sqrt(1-sin(x)));
limite:=limit(f3,x=0);


> f4:=(x+2)/(x^2-4*x+3);
limit(f4,x=3,left);
limit(f4,x=3,right);
limit(f4,x=3);
limit(f4,x=2);
limit(f4,x=4);






Como se puede observar, los lmites laterales de la funcin no son iguales, por tanto el
lmite no existe. Intentemos ver estos resultados en un grfico
> with(plots):
plot(f4,x=0..6,y=-100..100,title=`Limite x-->3`);
War ni ng, t he name changecoor ds has been r edef i ned

M. en C. Hctor Martnez Rubin Celis 20 / 66


> #Funciones por Tramos
Podemos definir tambin una funcin cuya expresin muda con las condiciones sin
argumento. Por ejemplo:
> f:=x ->piecewise(1<=x and x<2, x^2,2*x+10);

> f(x);



>f:=piecewise(x<-1,7*x,x<4,x^2-2,4*x-2);
:= f

7x < x -1
x
2
2 < x 4
4x 2 otherwise

>f:=x->piecewise(x<-1,7*x,x<4,x^2-2,4*x-2);
:= f x ( ) piecewise , , , , < x -1 7x < x 4 x
2
2 4x 2


>plot(f(x),x=-4..6,discont=true,color=red);
M. en C. Hctor Martnez Rubin Celis 21 / 66


>f:=piecewise(x<4,3*x+244,(x^3-64)/(sqrt(x)-2));


:= f

+ 3x 244 < x 4
x
3
64
x 2
otherwise

> f:=x->piecewise(x<4,3*x+244,(x^3-64)/(sqrt(x)-2));
:= f x

piecewise , , < x 4 + 3x 244


x
3
64
x 2

>plot(f(x),x=3..5,discont=true);


> #Funciones Discontinuas
>f:=x->x-floor(x);
:= f x x ( ) floor x

>plot(f(x),x=-3..4,y=-1..5,discont=true);
M. en C. Hctor Martnez Rubin Celis 22 / 66

>g:=x->x*floor(x);
:= g x x ( ) floor x

>plot(g(x),x=-3..4,discont=true);


>Limit(x*cos(1/x^2), x=0, left); #un limite dificil??

> value(%);
0
Definindo una funcin.
> f1:=(x,y) -> (x^2-5*y)/(x^3+2*x);


> limit(f1(x,y),x=1);



M. en C. Hctor Martnez Rubin Celis 23 / 66
Vamos ver un grfico de una funcin. Tomemos como ejemplo la funcin
2
3
5
2
x
x x

+
, en el
intervalo [-2,2].
> plot((x^2-5)/(x^2+1),x=-2..2);

Haga otros grficos. Experimente funciones conocidas por usted tal como seno, coseno,
etc...

Otra forma de definir una funcin es por medio del llamado procedimiento.
Un procedimiento tiene la forma:
P : =proc(argumentos)
local (variables locales)
instrucciones a ser ejecutadas
end;
Vamos a ver un ejemplo, mas tarde volveremos a este punto.
En este ejemplo, definimos una funcin salto
> salto:=proc(x);
> if 1<=x then x^2+1 else cos(x) fi;
> end;

> salto(-1);

> salto(2);

Otro ejemplo.
> pp:=proc(x);
> x^3;
> end;

> pp(sqrt(2));
M. en C. Hctor Martnez Rubin Celis 24 / 66

> pp((2)^(1/3));

Ahora vamos cambiar los limites y escribir Limit en lugar de limit .
> Limit(f1(x,2), x=1);

> value(%);

Si un comando comienza con letra mayscula, entonces el es "inerte". Esto es, se escribe
mas no calcula .
> A:=sin(2*x)/x;

Observar que A no es del tipo A:=x ->sin(2*x)/x, funcin. Por lo tanto, A no es funcin (es
una expresin).
> Limit(A, x=0);

> value(%);

> Limit(A, x=infinity);

> value(%);

Ahora veamos dos limites infinitos.
> Limit(1/x, x=0, left);

> value(%);

Siguiente, usamos "limit" con minscula.
> limit(1/x, x=0, right);

> limit(1/x, x=0, left);


> f4:=(x+2)/(x^2-4*x+3);
limit(f4,x=3,left);
M. en C. Hctor Martnez Rubin Celis 25 / 66
limit(f4,x=3,right);
limit(f4,x=3);
limit(f4,x=2);
limit(f4,x=4);







El Maple puede calcular lmites para funciones de ms de una variable. Vamos ver
ejemplos.
> limit(x^2-y^3+z^4,{x=1,y=2,z=3});

> limit(x^2/(x^2+y^2+z^2+1),{x=1,y=2});

> limit(limit(x/(x^2+y^2),{x=y^2}),y=0);


Veamos algunos ejemplos en que el Maple no consigue dar una respuesta satisfactoria
y en ejemplos donde un limite es calculado en vrios puntos.
> F2:=(x,y,z)-> (x^2+y^2+z^2)/ (x^2+y^2+z^2+1);

> limit(F2(x,y,z),{x=1,y=2,z=3});### observe, un punto est entre llaves.

> limit((x^2-y^2)/(x^2+y^2), {x=0,y=0});

> limit(sin(x^2+y^2)/(x^2+y^2),{x=0,y=0});

M. en C. Hctor Martnez Rubin Celis 26 / 66


2 . Calculando Algunas Derivadas

Tal ves uno de los conceptos ms importantes del Clculo, en todos los niveles,
inicialmente trataremos de calcular algunas derivadas y luego intentaremos estudiar el
concepto de Derivada de una funcin desde el punto de vista grfico:
Orden ........: diff
Sintaxis ......: diff (expresin, variable)
Propsito ...: Calcular la derivada de expresin en trminos de variable .


> f2:=x -> sin(2*x);

Derivando una vez,
> diff(f2(x),x);

Derivando 3 veces,
> diff(f2(x),x,x,x);

Observe que para derivar 3 veces podemos usar x, x, x, o x$3.
> diff(f2(x),x$3);


Calculando derivadas con operador diferencial "D". Una salida (output) es siempre una
funcin
> h:=x -> x^2;

> h(x);

> D(h); # Va a salir una Funcin !

> D(h)(x);# aqu calculamos a derivada en un punto x

> D(h)(1);# aqui calculamos a derivada en un punto x=1

> diff(R(x)*S(x),x); # derivada del producto

> f1:=sin(x);
diff(f1,x);
f2:=3*x^2+5*x+5;
diff(f2,x);
M. en C. Hctor Martnez Rubin Celis 27 / 66




> f3:=(sin(x))/(1+cos(x));
df3:=diff(f3,x);
simplify(%);



> f4:=(x^2+3*x)*(2*sin(2*x));
diff(f4,x);
simplify(%);



Tambin podemos calcular derivadas de funciones de ms de una variable, es decir,
derivadas parciales:
> diff(T(x,y(x)),x); # derivada total de T(x,y(x))


> f1:=(x^2+y^2);
diff(f1,x);
M. en C. Hctor Martnez Rubin Celis 28 / 66
diff(f1,y);
diff(f1,x,y),diff(f1,x,x),diff(f1,y,y);




Los anteriores ejemplos calculan:
- Derivada de f ( x , y ) respecto a x.
- Derivada de f ( x , y ) respecto a y.
- Derivada de f ( x , y ) respecto a y respecto a y.
- Derivada de f ( x , y ) respecto a x respecto a x
- Derivada de f ( x , y ) respecto a y respecto a y.
Podemos calcular derivadas parciales de orden superior, para lo cual usamos el operador $
en la variable.
> f1:=x^4-y^5;
diff(f1,x$3);
diff(f1,y$3);



> f2:=x^2*sin(x);
diff(f2,x$10);


Podemos derivar parcialmente en orden superior, es decir:
> f4:=exp((x/y));
diff(f4,x$3,y$2);
simplify(%);
M. en C. Hctor Martnez Rubin Celis 29 / 66



Hemos calculado: f
x y





Ahora, el operador de diferenciacin D, se usa para que al calcular la derivada de una
funcin, Maple interprete este resultado como otra funcin y no como una expresin.
> f:=8*sin(3*x);
df:=diff(f,x);
evalf(subs(x=2,df));



> f:=x->8*sin(3*x);
D(f);
evalf(D(f)(2));



Podemos utilizar el operador D[](f) , para calcular derivadas parciales de orden superior.
Orden ........: D
Sintaxis ......: D [ ndices ] (expresin)
M. en C. Hctor Martnez Rubin Celis 30 / 66
Propsito ...: Calcular la derivada parcial de expresin, de acuerdo a los ndices, los cuales
representan el orden de las variables tal como aparecen en la definicin.
> f:=(x,y)->x^3+y^3;
D[1](f); # Dx(f)
D[2](f); # Dy(f)
D[1,1,1](f); # Dxxx(f)




> f:=sin(2*x);
g:=diff(f,x);
plot({f,g},x=-Pi..Pi,title=`Una Funcin y su derivada`);



Ahora vamos a presentar grficamente el concepto de Derivada. Trazaremos varias rectas
tangentes a un conjunto de puntos de una funcin y formaremos con las derivadas, la
grfica de dicha funcin.
M. en C. Hctor Martnez Rubin Celis 31 / 66
De la librerastudent usamos la opcin showtangent, que nos permite ubicar la derivada de
una funcin en un punto.
Orden ........: showtangent
Sintaxis ......: showtangent ( funcin, variable =a)
Propsito: Presenta la recta tangente a la curva funcin , en el punto correspondiente a la
ordenada x =a
> with(student):with(plots):
f1 := 15*x^2+3*x;
lista := seq(showtangent(f1, x = i),i=-8..8):
display(lista,title=`Derivadas de la Cuadrtica`);
War ni ng, t he name changecoor ds has been r edef i ned




Ahora una animacin de la recta tangente alrededor de la curva.
> display(lista,insequence=true,title=`Derivadas en un punto`);
M. en C. Hctor Martnez Rubin Celis 32 / 66

Podramos hacer un programa para presentar las rectas tangentes del tamao que deseemos
de tal forma que estas generen la curva. Las siguientes rdenes generan un nmero de
rectas tangentes a una curva.
1- Un cantidad de rectas tangentes que forman la curva.
2- Una recta tangente que se desplaza por la curva.
3- Un segmento de recta tangente a la curva que se desplaza por la misma en una
animacin.
Las rdenes calculan:
1- Un conjunto de valores para x e y de acuerdo a la definicin de la funcin.
2- Un conjunto de rectas tangentes a la curva, teniendo en cuenta:
y = mx+b
b = y-mx
> restart:
with(plots):
F := x^2; #sin(.6*x); #-.5*x^2+2*x+2;
pF :=plot(F,x=-10..10):
m := diff(F,x);
cantidad :=40:
X := [seq(-10+i/2,i=0..cantidad)]:
Y := [seq(eval(F,x=X[i]),i=1..nops(X))]:
Pendientes := [seq(eval(m,x=i),i=X)]:
Cortes := [seq((Y[i]-Pendientes[i]*X[i]),i=1..nops(X))]:
M. en C. Hctor Martnez Rubin Celis 33 / 66
Rectas := [seq((Pendientes[i]*x+Cortes[i]),i=1..nops(X))]:
Tangentes :=seq((plot(Rectas[i], x=-10..10)), i=1..nops(X)):
display(Tangentes, insequence=true);
display(Tangentes);
largo :=.8;
Segmentos :=seq((plot([[(X[i]-largo), eval(Rectas[i], x=(X[i]-largo))], [(X[i]+largo),
eval(Rectas[i], x=(X[i]+largo))]], x=-10..10,color=magenta)), i=1..nops(X)):
display(Segmentos,insequence=true);
War ni ng, t he name changecoor ds has been r edef i ned





M. en C. Hctor Martnez Rubin Celis 34 / 66




3. Un problema de Clulo Interesante.
Dado un punto P=(a,b) y un grfico de una funcin f, calcular a distancia de P al grfico de
f. Al comenzar un nuevo problema acostmbrese a "liberar" la memoria. Hacemos esto con
un comando siguiente.
> restart:
Por definicin, la distancia de P al grfico de f es la menor distancia entre los puntos Q del
grfico y un punto P. Vamos entonces a definir:
Distancia =|| P-Q ||
A este ejemplo tomamos ( ) ( ) f x Cos x = y P=(2,3). Un punto del grfico de f es de forma (x,
cos(x)), as mismo a distancia del punto P a un punto del grfico es dada por
> dist:=sqrt( (2-x)^2 + (3-cos(x))^2 );

Queremos a menor distancia. De la frmula anterior vemos que distancia es una funcin de
x. Por lo tanto, del Clculo, concluimos que la menor distancia debe ser dada por una x que
anula a derivada de dist.
Vamos ver un grfico de Funcin dist.
> plot( sqrt( (2-x)^2 + (3-cos(x))^2),x=0..2);
M. en C. Hctor Martnez Rubin Celis 35 / 66

> derivada:=diff(dist,x);

Resolviendo la ecuacin derivada =0 para "x" en [0,2]. D un grfico.
> x[min]:=fsolve(derivada, x ,0..2 );

> evalf(%);

Escribiendo la respuesta utilizando un comando subs. (Sustituir un valor de x por
min
X
la expresin dist) .
> menor[dist]:=subs(x=x[min], dist);

> respuesta:=evalf(%);

> # Descubra lo que ha hecho (siguiente)
> L:=[ [2,3], [x[min] , cos(x[min]) ]];

> plot({cos(x), L }, x=0..3 , scaling=constrained);
M. en C. Hctor Martnez Rubin Celis 36 / 66







4 - Series de Taylor
La funcin "series" describe la serie de Taylor de funciones analticas. En general, la
respuesta es dada en trminos de una expansin de orden 6.
> S:=exp(x)*x^2;

> S1:=series( S, x=0 ); # En torno de x=0.

Queremos ahora una expansin de orden 10.
> S2:=series( S , x=0, 10 );

Convertir la srie en un polinomio.
> S3:=convert(S2, polynom );

> S3(2); # intil

> value(%); #intil
M. en C. Hctor Martnez Rubin Celis 37 / 66



Vamos a transformar la expresin S3 en una funcin de verdad.
> P:=unapply( S3 , x );

> evalf( P(1) );

> evalf( subs(x=1, S) );


Otro ejemplo
>f := x -> arctan(x); c := 0;
:= f arctan

:= c 0

>series( D(f)(x), x = c, 3); convert(int(%, x), polynom); g := unapply( %,x);
+ 1 x
2
( ) O x
4

x
1
3
x
3

:= g x x
1
3
x
3

>series( D(f)(x), x = c, 15); convert(int(%, x), polynom); h := unapply( %,x);
+ + + + 1 x
2
x
4
x
6
x
8
x
10
x
12
x
14
( ) O x
16

+ + + x
1
3
x
3
1
5
x
5
1
7
x
7
1
9
x
9
1
11
x
11
1
13
x
13
1
15
x
15

:= h x + + + x
1
3
x
3
1
5
x
5
1
7
x
7
1
9
x
9
1
11
x
11
1
13
x
13
1
15
x
15

>plot( [f(x),g(x), h(x) ], x = -5..5, y = -4..4, color = [red, blue, green], thickness = [3,1,2]
);
M. en C. Hctor Martnez Rubin Celis 38 / 66

Graficando series de diferente orden
>plot({exp(x),convert(series(exp(x), x=0, 2
),polynom),convert(series(exp(x), x=0, 3
),polynom),convert(series(exp(x), x=0, 4
),polynom),convert(series(exp(x), x=0, 5
),polynom),convert(series(exp(x), x=0, 6
),polynom),convert(series(exp(x), x=0,
7),polynom),convert(series(exp(x), x=0, 8 ),polynom)},x=-
5..5);


M. en C. Hctor Martnez Rubin Celis 39 / 66
5. Calculando Integrales

Indefinidas:
La integral est definida como la antiderivada, como un lmite de una sumatoria como el
rea bajo la curva de una funcin en un intervalo [a , b] .
Inicialmente trabajaremos el concepto de Antiderivada, es decir, S F( x ) es una funcin
cuya derivada es f ( x ) entonces:

Orden ........: int
Sintaxis ......: int (expresin, variable)
Propsito ...: Calcular la integran (antiderivada) de la expresin en trminos de la variable

> Int(ln(x),x); # Con I maiscula

> int(ln(x),x); # Con i minscula

> int(tan(x),x); # Con i minscula

> Int(1/ sqrt(1-x^2),x); # Con i minscula

> value(%);

> diff(%,x);


> restart;
F:=x^2;
f:=diff(F,x);
int(f,x);



M. en C. Hctor Martnez Rubin Celis 40 / 66
> F:=sin(x^2)*cos(x);
f:=diff(F,x);
int(f,x);
expand(%);




> f:=(x^4+1)/(x^4-1);
F:=int(f,x);


> int(1/(x^5+1),x); # Un Poco complicado !!




M. en C. Hctor Martnez Rubin Celis 41 / 66


Definidas:
Cuando interpretamos la integral como el rea bajo la curva de una funcin en un intervalo
[ a ,b] entonces necesitamos calcular la integran definida.
Orden ........: int
Sintaxis ......: int (expresin, variable=a..b)
Propsito ...: Calcular la integran definida de la expresin en trminos de la variable , que
varia desde a hasta b .
> restart;
f:=x;
Int(f,x=0..2);
d

0
2
x x

> int(f,x=0..2);


> f1:=sin(x);
>Int(f1,x=0..Pi);
d

( ) sin x x

> int(f1,x=0..Pi);


> AA:=Int(x^2*exp(x^2),x=0..1);
M. en C. Hctor Martnez Rubin Celis 42 / 66

> resp:=value(AA);

Maple utiliz la Funcin error "erf" que es definida por
el mismo: erf(x) =2 / sqrt(Pi) * int( exp(-t^2), t=0..x ). As mismo podemos tener una
aproximacin de integral utilizando evalf(AA ).
> evalf(AA);


Observe que el resultado de una integral indefinida es un nmero, que representa el rea.
Los ejemplos anteriores nos han permitido calcular el rea bajo la curva de las funciones
x+2, y sin ( x ), en los intervalos especficos.
Vamos a observar la grfica de la funcin f ( x ) =x+2, en el intervalo [0,2], intente evaluar
el area por debajo de esta curva.
> plot(x,x=0..2,title=`Funcin x`);

Ahora, vamos a calcular el rea comprendida entre dos curvas que se intersectan.
M. en C. Hctor Martnez Rubin Celis 43 / 66
> f1:=x+2;
f2:=x^2;
cortes:=solve(f1=f2);
area:=int(f1-f2,x=-1..2);
X := [seq( i, i=-1..2)];
Y1 := [seq( x+2, x=X)];
Y2 := [seq( x^2, x=X)];
Puntos1 := [seq([X[i],Y1[i]],i=1..nops(X) )];
Puntos2 := [seq([X[i],Y2[i]],i=1..nops(X) )];
plot({f1,f2,Puntos1,Puntos2},x=-1..2,style=[line,line,point,point],title=`Area entre las
curvas`);










M. en C. Hctor Martnez Rubin Celis 44 / 66

Los prximos ejemplos son conocidos. Vamos a ver algo sobre Integrales mltiples.
Podemos calcular integrales doble o triples usando el comando int tantas veces como sea
necesario.
> f1:=x^3+x^2+x;
df1:=diff(f1,x);
df2:=diff(df1,x);
int(int(df2,x),x);





> Int( Int(x^2+y^2, y=0..2 ),x=0..2 );

> value(%);

> Int( Int( Int( z*cos(x), x=0..2*y ), y=0..2 ), z=1..2 );

> value(%);

> evalf(%);


Veremos algunos ejemplos de Integrales impropias.
> f8:= exp(-u*x)*ln(x)*sqrt(x);

> int(f8,x=0..infinity):
M. en C. Hctor Martnez Rubin Celis 45 / 66
Definite integration: Can't determine if the integral is convergent.
Need to know the sign of -->u
Will now try indefinite integration and then take limits.

Como nada es conocido sobre u, Maple no puede determinar una respuesta. Podemos usar
el comando ASSUME para informar al Maple sobre u.
> assume(u<0); int(f8,x=0..infinity);

Esta integral diverge. Por otro lado, se u>0 tenemos convergencia y una respuesta
simblica.
> assume(u>0);int(f8,x=0..infinity);

> Int(1/x^2 , x=1..infinity);

> value(%);

Otro ejemplo.
> int(1/x, x=0..1);

Otro ejemplo simple (???).
> int(1/(x^3), x=a..b);

> subs(a=-1, b=4, %);

Uno mas:
> int(1/(x^3), x=-1..4, 'CauchyPrincipalValue' );

Un ejemplo sobre transformada de Laplace. Vamos usar el paquete inttrans.
> restart; with(inttrans):
> laplace(t**3-cos(t)=y(t), t, s);

> laplace(t^(1/2)-exp(-t)+sinh(a*t), t, s);
M. en C. Hctor Martnez Rubin Celis 46 / 66





Existe un comando para aproximar graficamente el rea bajo la curva de una funcin por
rectngulos, el cual usa la librera student.

Orden ........: middlebox, leftbox, rigthbox
Sintxis ......: middlebox (expresion, variable=a..b, n, shading, <options>)
Propsito ...: Genera, n cantidad de rectngulos por debajo de la curva de expresion,
Tomados en la distancia media, por la izquierda y por la derecha. El color de los
rectangulos lo da la opcin shading. Adems la orden leftsum, calcula la sumatoria de las
areas de dichos rectngulos.
> restart:with(student):
f1 := sin(x)*x+sin(x);
n:=8;
leftsum(f1, x=0..2*Pi, n): # Sumatorias
value(%):
suma:=convert(evalf(%),name):
leftbox(f1, x=0..2*Pi, n, shading=cyan,title=`Area..: `||suma);



Ahora intentaremos presentar una "pelcula", aproximando el rea bajo la curva de una
funcin desde un intervalo a hasta b, y presentando el valor del rea en la medida en que
esta cambia.
M. en C. Hctor Martnez Rubin Celis 47 / 66
> with(plots):
f1 := sin(x)+cos(x);
suma:=seq((evalf(value(leftsum(f1, x=Pi/4..2*Pi, i)))),i=4..25):
area:=seq((convert(suma[i],name)),i=1..22):
lista:=seq((leftbox(f1, x=0..2*Pi, i, shading=cyan,title=`Area..: `)),i=8..25):
display(lista,insequence=true,title=`Aproximaciones del Area`);
War ni ng, t he name changecoor ds has been r edef i ned





La funcin leftbox en el paquete student produce una aproximacin a el rea bajo la curva
de una funcin f(x) en el intervalo a<x<b usando rectngulos. El rango de valores de x esta
dividido en un nmero n de subintervalos.

La altura de los rectngulos esta dada por el valor de f en el lmite izquierdo de cada
subintervalo. El llamado de la funcin es leftbox es: leftbox(f(x),x=a..b,n); Si no se da el
valor de n, se usa el valor por omisin de n = 4. Por ejemplo:

>leftbox(x^2,x=0..2);
M. en C. Hctor Martnez Rubin Celis 48 / 66

>leftbox(x^3+3*x^2-2*x+5,x=0..2,10);

El rea de los rectngulos puede ser calculada usando la funcin leftsum. Por ejemplo:
>leftsum(x^3+3*x^2-2*x+5,x=0..2,10);


1
5

= i 0
9

+ +
1
125
i
3
3
25
i
2
2
5
i 5
>evalf(%);
16.48000000

># El valor exacto de la integral es:
>int(x^3+3*x^2-2*x+5,x=0..2);
18

El paquete student tambin incluye las funciones middlebox, rightbox, middlesum, y
rightsumpara calcular aproximaciones a la integral usando rectngulos con la altura
del rectngulo dada por f(x) evaluada en el punto medio o el lado derecho de los
intervalos. Por ejemplo:

M. en C. Hctor Martnez Rubin Celis 49 / 66
>rightbox(exp(0.1*x),x=0..10,10);

>simpson(exp(0.1*x),x=0..10,10);evalf(%);


+ + 1.239427276
4
3

= i 1
5
e
( ) 0.2i 0.1 2
3

= i 1
4
e
( ) 0.2i

17.18282782

>int(exp(0.1*x),x=0..10);
17.18281828

>middlebox(1/x,x=1..2,8);


M. en C. Hctor Martnez Rubin Celis 50 / 66
3.Tercera parte - Graficando
GRFICANDO
Vamos iniciar con grficos simples. A veces no es necesario escribir el argumento x
> plot(sin,-Pi..Pi);

Graficar con x en [0,2Pi]

Es necesario escribir un argumento x
> plot(sin(2*x), x=0..2*Pi);

Vamos a graficar con discontinuidades:

M. en C. Hctor Martnez Rubin Celis 51 / 66
> plot(1/(x-1), x=-3..3, -5..5, discont=true);



Aadiendo un titulo al segundo grafico. Usamos la opcin "title"
> plot(ln(x), x=0..3 , title=`Logaritmo Natural`);




Usando la opcin "scaling=constrainded": escala 1-1.
> plot(exp(-x^2), x=-2..2 , scaling=constrained);
M. en C. Hctor Martnez Rubin Celis 52 / 66


Podemos graficar dos o mas grficos juntos. Este es un recurso muy til.
J untando dos Grficos: use llaves- plot({f(x),g(x)}, x=a..b)
> plot({arctan, sqrt}, 0..5);



Graficando una curva parametrizada: use corchetes
con t en [0,2Pi]
> plot( [cos(t), sin(2*t), t=0..2*Pi] );
M. en C. Hctor Martnez Rubin Celis 53 / 66



Un recurso del Maple es la animacin de grficos.
Vamos a animar un grfico? Parece un video-cassete.
Despus de hecho un grfico, de click encima de la figura para iniciar a animacin.
> with(plots):
animate( x^2*sin(x*t),x=-10..10,t=1..2,frames=50);


Los procedimientos en "plot" requieren bastantes recursos de la computadora. Es costumbre
"cerrar la memoria" a 10 grficas.
> restart;
M. en C. Hctor Martnez Rubin Celis 54 / 66


Dos Problemas interesantes.
PROBLEMA 1
Un cardiide es una curva parametrizada en coordenadas polares ( ) , . . Consulte el help
del grfico para r iide . ealizar la grafica del card



> plot([5*(1-cos(t)) ,t , t=0..2*Pi], coords=polar);



PROBLEMA 2
Un cierto algoritmo genera una lista de puntos x, y una lista de puntos y de la forma
siguiente:

> X:=[seq( .1*k , k=0..10 ) ]:
> Y:=[seq( 5*( (.1*k)^2-(.1*k)^3 ) , k=0..10 ) ]:
> L:=[ seq( [ X[k], Y[k] ], k=1..11) ];


> plot(L, scaling=constrained, title=`Graficando dados`);
M. en C. Hctor Martnez Rubin Celis 55 / 66


Veremos ahora a grficos mas complicados. Grficos tridimensionales
> restart;

Para graficar en tres dimensiones precisamos llamar un paquete para grficos, Hacemos
esto tecleando "with(plots)".Un comando es plot3d. Clique sobre un grfico y grelo.

Explore los recursos del Maple.
> with(plots):
> plot3d(sin(x^2+y^2)*cos(x^2+y^2),x=-1..1,y=-1..1);


M. en C. Hctor Martnez Rubin Celis 56 / 66
> plot3d(-3.6+0.3599*x-0.0027*x^2-0.00166*y,x=15..107,y=0..70,title=`akira`);


> plot3d(exp(-x^2-y^2),x=-2..2,y=-2..2);


> animate3d({cos(t*x)*sin(t*y),-cos(t*x)*sin(t*y)},x=-Pi..Pi, y=-Pi..Pi,t=1..2);
M. en C. Hctor Martnez Rubin Celis 57 / 66

> animate3d(x*cos(t*u),x=1..3,t=1..4,u=2..4,coords=spherical);


Ms ejemplos
> restart;
> with(plots):
> f:=(x,y) -> -(x^2+y^2);

M. en C. Hctor Martnez Rubin Celis 58 / 66
> plot3d(f(x,y), x=-2..2, y=-2..2, scaling=constrained);


Graficando algo ms bonito
> plot3d(sin(x)*cos(y), x=-Pi..Pi, y=-Pi..Pi );

Observe las funciones especiales que este paquete tiene.
Para se saber sobre alguna de ellas ejecute ?nombre, o ??nombre o ???nombre.
Veremos ejemplos de "gradplot",


M. en C. Hctor Martnez Rubin Celis 59 / 66
> f :=(x,y) -> x*exp(-x^2-y^2);

> plot3d( f(x,y), x=-2..2, y=-2..2);

Vamos ver un GRADIENTE DE CAMPO de f con "gradplot" y "countourplot"
>contourplot(f(x,y),x=-2..2,y=-2..2);






M. en C. Hctor Martnez Rubin Celis 60 / 66
>plot3d(sin(x^2+y^2), x=-2..2, y=-2..2);



> contourplot(sin(x^2+y^2),x=-1..1,y=-1..1);







M. en C. Hctor Martnez Rubin Celis 61 / 66

> gradplot(f(x,y), x=-2..2, y=-2..2);






> gradplot3d(x^2+2*y^2+z+1,x=-1..1,y=-1..1,z=-1..1);


M. en C. Hctor Martnez Rubin Celis 62 / 66

Vamos disear la esfera, dada implcitamente.
> implicitplot3d(x^2+y^2+z^2=4, x=-2..2, y=-2..2, z=-2..2 , scaling=constrained );

Coordenadas cilndricas
> cylinderplot(z+ 3*cos(2*theta),theta=0..Pi,z=0..3);

> f := (5*cos(y)^2 -1)/3;

M. en C. Hctor Martnez Rubin Celis 63 / 66
> cylinderplot(f, x=0..2*Pi,y=-Pi..Pi,style=PATCH, color = f);

Un ejemplo tubular con "tubeplot"
> c:=[(t- 5*Pi)*sin(t)/3,(t-5*Pi)*cos(t)/3,(t-5*Pi)*.9, t=0..5*Pi]:
> tubeplot( c, radius=(t-5*Pi)*.2, orientation=[-37,81],tubepoints=25, style=hidden);

Ejercicios
> # Lea "?plots[spacecurve]" y disee una espiral.
> # DIGA: use la opcin "color=black"
> # plot([5*(1-cos(t)) ,t , t=0..2*Pi], coords=polar);
> # X:=[seq( .1*k , k=0..10 ) ]:
> # Y:=[seq( 5*( (.1*k)^2-(.1*k)^3 ) , k=0..10 ) ]:
> # L:=[ seq( [ X[k], Y[k] ], k=1..11) ];
> # plot(L, scaling=constrained,title=`Graficando datos`);
M. en C. Hctor Martnez Rubin Celis 64 / 66
6. Ecuaciones Diferenciales

Una ecuacin diferencial es de la forma...:
Orden ........: dsolve
Sintaxis ......: dsolve(expresin, variables)
Propsito ...: Resuelve una ecuacin diferencial, expresin , en termino de las variables,
variables
Aqu debemos tener en cuenta el orden de la derivada a la cual nos estamos refiriendo, por
ejemplo:
1- diff ( f , x ) Se refiere a la primera derivada de f respecto a x.
2- diff ( f , x$n ) Se refiere a la n-esina derivada de f respecto a x.
Adems al resolver una ecuacin diferencial aparecern distintas constantes que
representan las familias de soluciones.
La ecuacin:
dy
a
dx
=
Es una ecuacin diferencial que podemos escribir dy adx = y solucionarla para y integrando,
es decir:
esto es.. y ax c = + .:
Obsrvelo ahora, escrito a manera de la solucin de una Ecuacin Diferencial, para un valor
inicial de y(0) = v .
> ecuacion:=D(y)(t)=a;
dsolve(ecuacion,y(t));
dsolve({ecuacion,y(0)=v},y(t));



> ec:=diff(y(t),t$2)=-g;
cond:=y(0)=3,D(y)(0)=5;
dsolve(ec,y(t));
dsolve({ec,cond},y(t));
M. en C. Hctor Martnez Rubin Celis 65 / 66





M. en C. Hctor Martnez Rubin Celis 66 / 66

También podría gustarte