Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Mg. Patricia Có
1 - GENERALIDADES
1. Introducción:
MAPLE es un lenguaje de programación, dotado de un intérprete acompañado de una enorme
biblioteca de funciones algebraicas y gráficas. A continuación sólo se describen algunos de los
comandos más usados, en caso de tener la necesidad de utilizar otros, es recomendable recurrir a la
ayuda del programa a través del signo "?" o mediante la función "help".
Este software puede usarse como una calculadora numérica y simbólica. Esto significa, por un lado,
que produce resultados exactos, y hay que hacer operaciones con números extraordinariamente
grandes para que rebase su capacidad numérica. Por otro lado, puede operar con símbolos, por
ejemplo calcular derivadas, integrales, polinomios de Taylor, etc. También es posible manipular
figuras geométricas y animar gráficas.
Los documentos se abren o archivan con los recursos operativos del entorno.
____________________________________________________________________________________________ 1
Mg. Patricia Có
realizar operaciones tales como: suma, resta, producto, cociente, potencia, etc., con la jerarquía
habitual entre ellas y tanto para expresiones numéricas como algebraicas.
Vamos a describir algunas de las operaciones habituales. Recordemos que no se debe dejar espacio
entre caracteres, que hay que escribir las expresiones correspondientes después del prompt ">",y
para obtener los resultados de las operaciones propuestas es necesario terminar cada sentencia con
";" y luego teclear enter.
Tabla 2.1
x+y Suma
x-y Resta
x*y Producto
x/y División
x ^ y ó x ** y Potencia
x! Factorial
2.1.2 Podemos usar el comando evalf para expresar el resultado de la operación anterior en
notación científica con 10 dígitos.
> evalf(%,10);
.5153775207 10 48
2.1.3 También podemos trabajar con números complejos. La unidad imaginaria se ingresa con la
letra i mayúscula. Por ejemplo. > (2+3*I)^3;
> 30!;
265252859812191058636308480000000
> ifactor(%);
( 2 ) 26 ( 3 ) 14 ( 5 ) 7 ( 7 ) 4 ( 11 ) 2 ( 13 ) 2 ( 17 ) ( 19 ) ( 23 ) ( 29 )
____________________________________________________________________________________________ 2
Mg. Patricia Có
Podemos verificar este resultado aplicando el comando expand a la última expresión
> expand(%);
265252859812191058636308480000000
Tabla 2.2
____________________________________________________________________________________________ 3
Mg. Patricia Có
2.2.1 Supongamos que queremos encontrar las raíces de un polinomio y obtener su descomposición
factorial. Para ello ingresamos el polinomio, dándole un nombre particular que nos servirá para
llamarlo en el resto de la sesión de trabajo y luego utilizamos los comandos: solve y factor, de la
siguiente forma:
> p1:=x^2-3*x+2;
p1 := x 2 − 3 x + 2
> solve(p1);
2, 1
> factor(p1);
(x − 1) (x − 2)
Para verificar el resultado obtenido podemos aplicar el comando expand a la expresión anterior:
> expand(%);
x2 − 3 x + 2
2.2.2 Es posible hallar las raíces de un polinomio de grado 2 con coeficiente indeterminados:
> p2:=a*x^2+b*x+c;
p2 := a x 2 + b x + c
> solve(p2,x);
1 −b + b 2 − 4 a c 1 −b − b 2 − 4 a c
,
2 a 2 a
Podemos dar valores específicos a los coeficientes del polinomio anterior utilizando el comando
subs de la siguiente forma:
> subs(a=2,b=1,c=3,p2);
2 x2 + x + 3
Si ahora buscamos las raíces:
> solve(%);
1 1 1 1
− + I 23 , − − I 23
4 4 4 4
2.2.3 Veamos un par de comandos más relacionados con la factorización: factors(expresión) que
actúa devolviendo los factores y sus multiplicidades y factor(ecuación) que factoriza ambos lados
de una ecuación
> factors(3*x^2+6*x+3);
[ 3 , [ [ x + 1, 2 ] ] ]
> factor(x^3+y^3=x+y);
( x + y ) ( x2 − x y + y2 ) = x + y
> with(student);
____________________________________________________________________________________________ 4
Mg. Patricia Có
[ D, Diff , Doubleint , Int, Limit , Lineint , Product , Sum, Tripleint , changevar ,
completesquare , distance , equate , integrand , intercept , intparts , leftbox , leftsum ,
makeproc , middlebox , middlesum , midpoint , powsubs, rightbox , rightsum ,
showtangent, simpson, slope, summand, trapezoid ]
Para ahorrar espacio en la pantalla, en vez de terminar la sentencia anterior con “;”, podemos
terminarla con “:”, que como ya dijimos ejecuta el comando pero no muestra el resultado
> completesquare(4*x^2-2*x+5,x);
2
1 19
4 x − +
4 4
2.2.5 Ahora tenemos un polinomio de quinto grado al que queremos encontrarle sus raíces.
> p3:=x->x^5-2*x+3;
p3 := x → x 5 − 2 x + 3
> solve(p3(x));
RootOf( _Z5 − 2 _Z + 3, index = 1 ), RootOf ( _Z 5 − 2 _Z + 3, index = 2 ),
RootOf ( _Z5 − 2 _Z + 3, index = 3 ), RootOf ( _Z 5 − 2 _Z + 3, index = 4 ),
RootOf ( _Z5 − 2 _Z + 3, index = 5 )
RootOf es la respuesta que da Maple cuando no puede dar una solución exacta. En estos casos
podemos usar el comando fsolve, el cual da las soluciones reales exactas, si puede, o una
aproximación decimal de las mismas.
> fsolve(p3);
-1.423605849
____________________________________________________________________________________________ 5
Mg. Patricia Có
> expand(1/((x+1)*x);
1
(x + 1) x
> expand(sin(x+y));
sin( x ) cos( y ) + cos( x ) sin( y )
> expand(cos(2*x));
2 cos( x ) 2 − 1
> expand(exp(a+ln(b)));
ea b
> factor(numer(s));factor(denom(s));
(x + 3) (x + 2)
(x − 1) (x + 2) (x + 1)
Entre las posibilidades que brinda el programa existe un comando que nos permite convertir la
expresión racional s en fracciones simples:
> convert(s,parfrac,x);
1 1
2 −
x−1 x+1
____________________________________________________________________________________________ 6
Mg. Patricia Có
2 - GRÁFICOS
MAPLE posibilita la representación de cualquier función matemática, incluso si está definida a
trozos o tiene saltos al infinito. También permite las representaciones de curvas definidas en forma
implícita, explícita, en coordenadas paramétricas o polar, tanto en el plano como en el espacio.
Posibilita la realización de gráficos estadísticos, como ser: de barras, de líneas, histogramas, así
como polígonos, poliedros y otras figuras geométricas.
Cabe comentar que las gráficas que se obtienen mediante MAPLE, como a través de otros
programas gráficos, no reproducen en forma exacta la imagen de una curva, nos dan una idea
bastante aproximada del comportamiento de la misma. Es posible mejorar la calidad de dichas
representaciones utilizando las opciones que brindan los comandos gráficos como color, escala, etc.
GRÁFICOS EN 2 - D
1. Coordenadas Cartesianas
Veamos con algunos ejemplos las distintas opciones que pueden usarse:
____________________________________________________________________________________________ 7
Mg. Patricia Có
Cambia los ejes al estilo Boxed (Caja).
1.1.3> plot(sin(x),x=-2*Pi..2*Pi):
1.1.4 Si queremos visualizar las gráficas de dos o más curvas en forma simultánea, lo podemos
hacer ingresando ambas funciones encerradas entre corchetes o llaves, dentro del comando plot:
> plot({sin(x),cos(x)},x=-2*Pi..2*Pi):
> plot({x^2,x^2-4,(x-4)^2},x=-4..8,y=-4..4):
1.1.5 Supongamos que ahora queremos definir y obtener la representación gráfica de una función
partida o definida a trozos, por ejemplo:
− 1 si x ≤ 0
2
x si 0 < x < 1
f ( x) =
4 si x = 1
2 x si x > 1
La forma de definirla es mediante la siguiente sentencia:
> f1:=x->piecewise(x<=0,-1,x<1,x^2,x=1,4,2*x);
f1 := x → piecewise( x ≤ 0, -1, x < 1, x 2, x = 1, 4, 2 x )
Veamos como quedó escrita:
> f1(x);
-1 x≤0
2
x x<1
4 x=1
2x otherwise
Pedimos su representación gráfica tal como lo veníamos haciendo hasta ahora:
> plot(f1(x),x=-2..5);
Podemos observar que MAPLE no interpreta que la función es discontinua. Para que realice la
gráfica en forma correcta, es decir que se visualicen la o las discontinuidades de la función
ingresada, es necesario agregar la opción: discont=true, como se ve a continuación:
> plot(f1(x),-2..4,discont=true):
____________________________________________________________________________________________ 8
Mg. Patricia Có
Si queremos obtener valores particulares de la función, podemos hacerlo directamente pidiendo el
cálculo de f1 en el valor indicado, por ejemplo:
> f1(1);
4
¿Son correctos los valores que Maple le asigna a la función en los puntos de discontinuidad?
−x x ≤ -1
x2 x<1
f2 :=
sin( x − 1 )
x − 1 − .5 1<x
> plot(f2,x=-3..13,discont=true):
>plot(tan(x),x=-(3/2)*Pi..(3/2)*Pi,y=-3..3,title="funcióntangente"):
>plot([1/x,3/x,5/x,7/x],x=-5..5,y=-5..5,title="Hipérbolas
equilateras"):
>plot([sin(x),cos(x)],x=-Pi..Pi,title="FuncionesTrigonométricas",
legend=["Sine", "Cosine"]):
____________________________________________________________________________________________ 9
Mg. Patricia Có
1.2 Curvas definidas implícitamente
Vamos a ver cómo obtener las representaciones gráficas de curvas definidas en forma implícita,
esto es, mediante expresiones del tipo f(x,y)=0,
El comando implicitplot es el que nos permite generar este tipo de gráficas. Se lo llama mediante la
sentencia: implicitplot(f(x,y),x=a..b,y=c..d,opciones);, debiendo tener cargado previamente el
paquete with(plots):.
Evidentemente lo que vemos no tiene forma de circunferencia. Para mejorar esta situación podemos
pulsar el icono de la barra de menú que aparece al posicionarnos sobre el gráfico obtenido.
> implicitplot(x^2-4*x+y^2+6*y+8=0,x=0..10,y=0..10):
No podemos afirmar aún que se trate del conjunto vacío, veamos qué pasa en otros intervalos:
> implicitplot(x^2-4*x+y^2+6*y+8=0,x=-10..10,y=-10..10):
Como la gráfica no es muy buena, para mejorarla podemos ajustar los intervalos de definición de
las variables, como por ejemplo:
> implicitplot(x^2-4*x+y^2+6*y+8=0,x=-1..5,y=-6..1):
> with(student):
> completesquare(x^2-4*x+y^2+6*y+8=0,x);
( x − 2 )2 + 4 + y 2 + 6 y = 0
> completesquare(%,y);
( y + 3 )2 − 5 + ( x − 2 )2 = 0
____________________________________________________________________________________________ 10
Mg. Patricia Có
2. Gráficos en Coordenadas Paramétricas y Polares
Por ejemplo:
2.1.1 Para obtener la gráfica de una recta dada en forma paramétrica, sabiendo que la misma pasa
por el punto (2,1) y es paralela al vector (-3,2), utilizamos la siguiente sentencia:
> plot([2-3*t,1+2*t,t=-10..10]):
2.1.2 Podemos pedir el gráfico de una circunferencia con centro en (3,2) y radio 1, dada por sus
ecuaciones paramétricas:
> plot([3+cos(t),2+sin(t),t=0..2*Pi]):
> with(plots):
> polarplot(4*(1+cos(t)),t=0..2*Pi):
3.2.2 Vamos a graficar por partes la curva cuya ecuación polar es r = cos 2 t
> polarplot(cos(2*t),t=0..Pi/4):
> polarplot(cos(2*t),t=0..Pi/2):
> polarplot(cos(2*t),t=0..Pi):
> polarplot(cos(2*t),t=0..2*Pi):
• Si la curva está dada por medio de sus ecuaciones paramétricas y queremos representarla en
coordenadas polares, usaremos la orden: plot([r(t),v(t),t=a..b],coords=polar); sin necesidad de
cargar previamente ningún paquete de comandos.
3. Animación en 2D
Una animación en MAPLE es una secuencia de gráficos mostrados rápidamente que producen la
sensación visual de movimiento. El comando que permite dar animación a un gráfico es
animate(f(x,t),x=a..b,t=c..d, options) que se encuentra en el paquete plots. El mismo realiza una
animación bidimensional de la curva y = f(x) con x variando en el rango dado, presentándola (por
____________________________________________________________________________________________ 11
Mg. Patricia Có
defecto) 16 veces según valores de la variable t, que varía en el rango especificado a intervalos
igualmente espaciados.
Dentro de las opciones podemos elegir:
frames=n (si se omite por defecto es 16), establece el número de veces que se presentará la
gráfica durante la animación.
numpoints=n que especifica el mínimo números de puntos que generarán la gráfica (por defecto
es 50)
Cuando utilizamos el comando animate y pulsamos con el mouse sobre la gráfica, se despliega una
ventana de animación, en la que aparecen una serie de teclas de acción directa que permiten
diferentes opciones en el movimiento. Recomendamos probar que función cumple cada una de ellas
en los siguientes ejemplos:
> with(plots):
> animate(t*x^2,x=-5..5,t=-1..1,frames=100):
> animate(t*x^3,x=-10..10,t=-2..2,frames=150):
> animate(sin(x*t),x=-5..5,t=1..2,frames=100):
GRÁFICOS EN 3 - D
Los comandos que se utilizan para realizar gráficos en tres dimensiones son similares a los que
acabamos de ver para gráficos bidimensionales, pueden cambiar algunas opciones que las veremos
en los ejemplos planteados.
4. Coordenadas Cartesianas
Vamos a construir y analizar gráficas de funciones de 3 variables definidas o no implícitamente,
esto es funciones de la forma z = f (x,y) o f (x,y,z) = 0.
>plot3d (f(x,y),x=a..b,y=c..d); permite obtener la gráfica de la superficie z= f(x,y) para los rangos
de x e y dados.
>plot3d (f(x,y),x=a..b,y=c..d); cumple la misma función que el comando anterior, pero además
permite definir la variación de la variable z.
En los ejemplos que se muestran a continuación veremos las distintas opciones que brinda el
programa:
4.1. Cilindro circular de eje paralelo al eje z
> with(plots):
____________________________________________________________________________________________ 12
Mg. Patricia Có
> c:=x^2+y^2=16:
> implicitplot3d(c,x=-4..4,y=-4..4,z=-3..3):
Siguiendo con el ejemplo, vamos a buscar las intersecciones del cilindro con los planos
coordenados, para ello necesitaremos cargar el paquete student.
> with(student):
> p1:=z=0:
> intercept(c,p1,{x,y,z});
{ x = RootOf ( _Z 2 − 16 + y 2 ), y = y, z = 0 }
Para explicitar los valores que muestra la pantalla, utilizamos el comando:
> allvalues(%);
{ y = y, x = 16 − y 2 , z = 0 }, { y = y, x = − 16 − y 2 , z = 0 }
Podemos observar que se trata de una circunferencia en el plano XY
Si queremos visualizar las dos superficies juntas, esto es el plano p1 y el cilindro c, podemos
hacerlo mediante la orden:
> implicitplot3d({c,p1},x=-5..5,y=-4..4,z=-3..3):
Si rotamos la figura de modo conveniente y usamos algunas opciones gráficas podemos observar la
circunferencia resultante de la intersección planteada.
> p2:=y=0:
____________________________________________________________________________________________ 13
Mg. Patricia Có
> intercept(c,p2,{x,y,z});
{ x = -4, z = z, y = 0 }, { x = 4, z = z, y = 0 }
El resultado, tal como esperábamos, resultan ser las ecuaciones de dos rectas paralelas al eje Z.
Es posible obtener las gráficas de estas rectas mediante los siguientes comandos:
> with(geom3d):
> plot3d({[4,0,z],[-4,0,z]},x=-5..5,z=-5..5):
> co:=x^2+y^2-z^2=0:
> implicitplot3d(co,x=-5..5,y=-5..5,z=-5..5):
Inmediatamente observamos que lo que muestra la pantalla no es lo correcto, pues parece que los
puntos no se unen cerca del origen de coordenadas.
MAPLE tiene órdenes específicas para graficar superficies conocidas como: conos, cilindros,
esferas, toros, tetraedros, polígonos estrellados, etc.
Todos los comandos que generan estas superficies se encuentran dentro del paquete plottools y será
necesario en cada caso utilizar la sentencia display para que aparezcan en pantalla las
representaciones gráficas requeridas.
La orden para graficar una superficie cónica es: cone([x,y,z],r,h). La misma genera el cono de altura
“orientada” h, radio de la base r y centro de la circunferencia de la base en el punto (x,y,z).
> with(plottools):
> display(cone([0,0,0],3,6),cone([0,0,0],3,-6)):
Actividad
Efectuar las gráficas de las siguientes superficies y la de sus respectivas intersecciones con los
planos coordenados, con planos paralelos a los coordenados y con planos oblicuos:
x2 y2 z2
a) Elipsoide de ecuación: + + =1
25 16 9
x2 y2 z2
b) Hiperboloide de una hoja de ecuación: + − =1
9 4 16
c) Hiperboloide de dos hojas de ecuación: x 2 − y 2 − z 2 = 1
d) Paraboloide elíptico de ecuación: y 2 + z 2 = 4 x
____________________________________________________________________________________________ 14
Mg. Patricia Có
y2 x2
e) Paraboloide hiperbólico de ecuación: − =z
4 9
>spacecurve([x(t),y)(t),z(t)],t=a..b,options);
Puede suceder, como veremos en algunos de los ejemplos que siguen, que cuando se realiza la
gráfica de una curva utilizando el comando anterior, la misma no resulta muy visible. Para
modificar este inconveniente MAPLE tiene una orden, cuya sintaxis es:
tubeplot([x(t),y)(t),z(t)],t=a..b,radius=r). La misma hace que aparezca una superficie de grosor r
rodeando a la curva, es decir, la curva se convierte en una superficie tubular que facilita su
visualización.
>spacecurve([cos(t),sin(t),t],t=0..6*Pi,numpoints=100):
En este caso, para obtener una mejor visualización de la curva dentro del cilindro, conviene usar la
opción "caja cerrada", a través del icono correspondiente en la barra del menú gráfico.
>tubeplot([cos(t),sin(t),t],t=0..6*Pi,radius=1/20,numpoints=100):
5.1.2 Es posible obtener la representación gráfica de varias curvas a la vez, como por ejemplo:
>spacecurve({[sin(t),0,cos(t),t=-
Pi..Pi],[cos(t)+1,sin(t),0,numpoints=100,t=Pi..Pi]});tubeplot({[si
n(t),0,cos(t),t=0..2*Pi],[cos(t)+1,sin(t),0,numpoints=100]},t=-
Pi..Pi,radius=1/30):
Actividad
1- Realizar las gráficas de las siguientes curvas:
____________________________________________________________________________________________ 15
Mg. Patricia Có
b) Espiral Toroidal de ecuación:
r(t)=[(4+sin(20*t))*cos(t),(4+sin(20*t))*sin(t),cos(20*t)], con t entre
0 y 4 π , utilizando la opción: numpoints=500.
____________________________________________________________________________________________ 16
Mg. Patricia Có
3- CÁLCULO DIFERENCIAL E INTEGRAL
1. Diferenciación
Maple permite realizar el cálculo de derivadas de funciones de una variable o de derivadas
parciales de funciones de varias variables a través del uso del operador diferencial D o por medio
del comando diff. La elección de uno en particular dependerá de lo que el problema a resolver
requiera. Veamos su sintaxis:
1.1.> diff(log(sin(2*x)),x):
Si preferimos usar el operador D, entonces debemos definir primero la función a derivar y después
aplicarle el operador:
> L:=x->log(sin(2*x)):
> D(L)(x):
> f:=x->1/x:
>[(D@@1)(f)(x),(D@@2)(f)(x),(D@@3)(f)(x),(D@@4)(f)(x),(D@@5)(f)(x)]:
____________________________________________________________________________________________ 17
Mg. Patricia Có
2. Derivadas parciales
Como ya dijimos, el operador diferencial D puede usarse para el cálculo de derivadas parciales de
funciones de más de una variable.
Hasta ahora sabemos que, si primero definimos una función f:=x->f(x), podemos calcular la
derivada respecto de su variable con el operador D(f)(x).
Si en particular queremos el valor de la derivada en el punto de abscisa x=xo, escribimos D(f)(xo).
Si queremos la derivada de orden n, utilizamos: (D@@n)(f)(x).
Ahora trabajaremos con funciones de varias variables (para simplificar la escritura reducimos las
variables a x e y), y las ingresamos como: g:=(x,y)->g(x,y). Para calcular sus derivadas parciales
podemos utilizar el operador D o la función diff de las siguientes formas:
∂g
D[1](g); o diff(g(x,y),x); Calcula
∂x
∂g
D[2](g); o diff(g(x,y),y); Calcula
∂y
∂2g
D[1,1](g); o diff(diff(f(x,y),x),x); Calcula
∂x 2
∂2g
D[1,2](g); o diff(diff(f(x,y),x),y); Calcula
∂y ∂x
∂4g
D[1,1,2,2](g); o diff(diff(diff(diff((x,y),x),x),y),y); Calcula
∂y 2 ∂x 2
Actividad
1
1-Verificar que la función u = es una solución de la ecuación de Laplace en tres
x + y2 + z2
2
variables.
x 3 y − xy 3
si ( x, y ) ≠ (0,0)
3- Sea f ( x, y ) = x 2 + y 2
0 si ( x, y ) = (0,0)
a) Graficar f(x,y)
d) ¿El resultado del inciso c) contradice el resultado de Clairut?. Usar las gráficas de f x y y f y x para
ilustrar las respuestas.
se pide graficar cada superficie y el plano tangente correspondiente en el punto (-1,2,-2), (5,1,2) y
(2,3, f (2,3)), respectivamente.
2x y
5- Estudiar la diferenciabilidad de la función f ( x, y ) = si (x,y) ≠ 0 y f(0,0) = 0.
x2 + y2
A continuación, presentamos una lista de algunos comandos que resultan de gran utilidad cuando se
trata de optimizar funciones:
Veamos un ejemplo:
3.1. Hallar y clasificar los puntos extremos de la función:
f ( x, y ) = −120 x 3 − 30 x 4 + 18 x 5 + 5 x 6 + 30 x y 2
Después de ingresar la función, buscamos los posibles puntos extremos igualando a cero las
derivadas parciales y resolviendo el sistema resultante.
____________________________________________________________________________________________ 19
Mg. Patricia Có
> f:=(x,y)->-120*x^3-30*x^4+18*x^5+5*x^6+30*x*y^2:
> solve({diff(f(x,y),x)=0,diff(f(x,y),y)=0},{x,y}):
Luego, los críticos son: (0,0), (-2,0), (2,0), y (-3,0)
Podemos obtener el mismo resultado al calcular primero el vector gradiente para después resolver la
ecuación ∇f = 0 :
> with(linalg):
> grad(f(x,y),[x,y]):
> hessian(f(x,y),[x,y]):
> H:=(x,y)->hessian(f(x,y),[x,y]):
> H1:=subs(x=-2,y=0,H(x,y)):
> det(H1):
> H2:=subs(x=2,y=0,H(x,y)):
> det(H2):
> H3:=subs(x=-3,y=0,H(x,y)):
> det(H3):
> H4:=subs(x=0,y=0,H(x,y)):
Como el determinante es nulo no podemos extraer ninguna conclusión con respecto este punto, será
necesario utilizar otros recursos, por ejemplo la representación gráfica de la función para saber si se
trata de un punto de máximo, mínimo o ensilladura.
____________________________________________________________________________________________ 20
Mg. Patricia Có
4. Máximos y mínimos condicionados. El método de los multiplicadores de
Lagrange
Supongamos que queremos optimizar la función f(x1,x2,...xn), denominada función objetivo, sujeta
a unas determinadas restricciones dadas por las ecuaciones:
g1(x1,x2,...xn)=0
g2(x1,x2,...xn)=0
.......................
gk(x1,x2,...xn)=0
Maple tiene una librería llamada extrema en la que se encuentran un grupo de comandos que
permiten la optimización de funciones de varias variables sujeta a restricciones, usando el método
de los Multiplicadores de Lagrange. Algunos comandos útiles y sus sintaxis son los siguientes:
> readlib(extrema):
> allvalues(extrema(x+z,{x^2+y^2+z^2=1},{x,y,z},s)):
El comando extema devuelve los valores que toma la función objetivo en cada punto extremo,
mientras que en la variable s quedan guardados los puntos extremos, como vemos a continuación:
> allvalues(s):
____________________________________________________________________________________________ 21
Mg. Patricia Có
Analizando los resultados, podemos decir que la función dada presenta un máximo en el punto
2 2 2 2
, 0 , y un mínimo en el punto − , 0 , − .
2 2 2 2
4.2. Hallar las dimensiones del paralelepípedo de volumen máximo que tiene 10 metros cuadrados
de superficie.
Si x, y, z son las dimensiones del paralelepípedo, su volumen es: V = x y z.
Como sabemos que tiene 10 metros cuadrados de superficie, la restricción será:
2 x y + 2 y z + 2 x z - 10 = 0.
Para resolver este problema vamos a utilizar el método de los multiplicadores de Lagrange como
sigue:
> allvalues(extrema(x*y*z,{2*x*y+2*x*z+2*y*z-10=0},{x,y,z},a));
5 5
{ 15 } , { − 15 }
9 9
> allvalues(a);
1 1 1 1 1 1
{{z = 15 , y = 15 , x = 15 } } , { { z = − 15 , y = − 15 , x = − 15 } }
3 3 3 3 3 3
15 15 15
El único punto que puede ser solución del problema es: , , , pues no puede haber
3 3 3
lados del paralelepípedo con medida negativa. Como las coordenadas de este punto representan a la
longitud de los lados del paralelepípedo, se trata precisamente de un cubo.
5
Además, como se ve en la primera respuesta el volumen máximo es igual a 15 , que es el mayor
9
valor que asume la función objetivo.
5. Integración
Maple permite calcular integrales definidas de la mayor parte de las funciones integrables cuya
expresión no sea muy complicada, por ejemplo funciones logarítmicas, exponenciales, racionales,
trigonométricas, trigonométricas inversas, etc. También resuelve integrales dobles y triples.
Maple tiene una rutina muy poderosa para calcular integrales (usando el llamado Teorema
Fundamental del Cálculo); es el comando int, que es lo que corresponde a usar si uno necesita
calcular la integral. Lo que hicimos nosotros fue una exposición de carácter didáctico sobre las
sumas de Riemann.
Veamos int:
> int((x+1)^2*sin(x)/4,x=Pi/2..Pi):
> int(((x+1)^2*sin(x)/4,x)):
Verifiquemos:
> diff(%,x):
> combine(%):
> simplify(%):
> factor(%):
Hay que tener en cuenta que en las integrales indefinidas Maple no escribe la constante de
integración.
arcsin( x)
Por ejemplo si intentamos resolver la integral ∫ 3
dx directamente a través del comando int,
(1 − x )
2 2
____________________________________________________________________________________________ 23
Mg. Patricia Có
> int((arcsin(x)/(1-x^2)^(3/2)),x):
Maple también contiene dentro del paquete student el comando llamado intparts, que permite
realizar integrales aplicando el método de integración por partes, cuando no le es posible resolverla
en forma inmediata. Su sintaxis es:
intparts(int(f(x),x);u(x)); Realiza la integral por partes de la función f(x), siendo u(x) la parte
de f(x) que diferencia.
5. 3 Aplicaciones
Como sabemos, si una curva plana viene dada por su ecuación y = f(x), la longitud del arco de curva
1 + ( f ´( x) ) dx .
b
∫
2
comprendido entre dos puntos de abscisas x = a y x = b viene dada por
a
Si la curva está dada en forma paramétrica x = x(t) e y = y(t), la longitud del arco de curva
comprendido entre los puntos relativos a los valores t =to y t = t1 del parámetro es:
∫ (x´(t )) + ( y´(t ) )
b 2 2
dt .
a
5.3.1 Un cable eléctrico cuelga entre dos torres que están separadas 80 metros. El cable adopta la
x
posición de una catenaria cuya ecuación es: 100 cosh . Calcular la longitud del arco de cable
100
entre las dos torres.
> int(sqrt(1+diff(100*cosh(x/100),x)^2),x=-40..40):
> evalf(%):
Nota: Si la curva está dada en coordenadas polares, cilíndricas o esféricas, podríamos calcular la
longitud de un arco de la misma utilizando las fórmulas respectivas.
En primer lugar vamos a pedir las gráficas de ambas curvas en un mismo sistema de coordenadas:
> plot([sin(x),cos(x)],x=0..2*Pi,color=[red,blue]):
____________________________________________________________________________________________ 24
Mg. Patricia Có
Necesitamos conocer las abscisas de los puntos de intersección de las dos curvas. Para ello,
resolveremos el sistema que forman sus ecuaciones. El comando solve no resuelve el problema, por
lo tanto utilizaremos el comando fsolve para encontrar las posibles soluciones en los intervalos
(0,1) y (1, 2π ) (estimados a partir de la observación de la gráfica anterior).
> r1:=fsolve(sin(x)=cos(x),x=0..1):
> r2:=solve(sin(x)=cos(x),x=1..2*Pi):
> S1:=evalf(int(cos(x)-sin(x),x=0...r1)):
> S2:=evalf(int(sin(x)-cos(x),x=r1..r2)):
> S3:=evalf(int(cos(x)-sin(x),x=r2..2*Pi)):
> L:=S1+S2+S3:
Comentario: Maple permite el cálculo de áreas engendradas por curvas que giran alrededor de un
eje coordenado, como así también volúmenes de revolución, integrales curvilíneas, integrales
impropias e integrales múltiples. En las ayudas que brinda el programa se encuentran ejemplos en
los que se muestran cuáles son los comandos a utilizar en cada caso.
Comenzaremos haciendo una representación gráfica del plano y del cilindro para tratar de visualizar
el recinto que queda comprendido entre estas superficies y el plano OXY.
> with(plots):
>implicitplot3d({z=x+y+2,x^2+y^2=16},x=-4..4,y=-4..4,z=-
5..10,orientation=[15,45]):
> int((int(x+y+2,y=0..sqrt(16-x^2)),x=0..4)):
> with(student):
> Doubleint(x+y+2,y=0..sqrt(16-x^2),x=0..4):
> value(%):
____________________________________________________________________________________________ 25
Mg. Patricia Có
> implicitplot3d({z=x^2+4*y^2,x^2=y,y^2=x},x=-2..2,y=-2..2,z=-
2..10,style=patchnogrid):
Podemos calcular el volumen mediante la siguiente integral:
> int(int(x^2+4*y^2,y=x^2..sqrt(x)),x=0..1):
> Doubleint(x^2+4*y^2,y=x^2..sqrt(x),x=0..1):
> value(%):
____________________________________________________________________________________________ 26
Mg. Patricia Có