Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CalculoDIF Maple
CalculoDIF Maple
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
= 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
+
, 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