(Patricia Có).

Anuncio
Guía básica de comandos para uso de Maple
Ejemplos y ejercicios resueltos
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.
Aspectos a tener en cuenta para comenzar a trabajar
1.1 Ingreso de comandos
Hay que tener especial cuidado en copiar correctamente los comandos. Para terminar la entrada de
una orden hay que escribir el signo : (dos puntos) o ; (punto y coma) antes de pulsar ENTER. En
el primer caso se ejecuta la orden, pero no aparece respuesta en pantalla, en el segundo caso la
respuesta se visualiza en la pantalla. Si se pulsa ENTER antes de estos signos, MAPLE
interpretará que no se ha acabado de introducir la orden y esperará el fin de la misma.
1.2 Asignación de nombres
Para agilizar y hacer más operativa la tarea es conveniente, nombrar significativamente a las
variables definidas. Por ejemplo si queremos ingresar una función y luego utilizarla en otro
momento de la sesión de trabajo, podemos proceder de la siguiente forma:
> fun1:=1/x;
1
fun1 :=
x
> fun2:=fun1+2;
fun2 :=
1
+2
x
¿Qué sucede si en esta última sentencia se reemplaza ";" por ":" ? ¿Y si se omite ";"?
1.3 Utilización de paquetes
MAPLE tiene diversos paquetes de comandos y funciones específicas, que deben ser cargados en el
momento en que se los necesite. Por ejemplo: el paquete especializado en Geometría Analítica es
geometry; el especializado en gráficos es plots, etc. Todos estos paquetes reposan sobre estructuras
de datos que no desarrollaremos específicamente en el presente trabajo.
La forma de cargar estos paquetes es mediante la orden with(nombre):
2 Descripción de algunos comandos
2.1
Cálculo numérico - Operaciones aritméticas
Las operaciones aritméticas en Maple se definen de acuerdo con las convenciones matemáticas
estándar. En principio vamos a usarlo como una calculadora de gran potencia, en el sentido de
____________________________________________________________________________________________
Mg. Patricia Có
1
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
x-y
x*y
x/y
x ^ y ó x ** y
x!
Suma
Resta
Producto
División
Potencia
Factorial
2.1.1 Veamos algunos ejemplos sencillos, calculando: > 4+3;
> 10*25+30;
> 3^100; Como está indicado en la Tabla
2.1 el símbolo ^ puede ser remplazado por **.
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
El símbolo % copia la última expresión que aparece en la pantalla.
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;
2.1.4 Si queremos ingresar el número π, lo hacemos escribiendo Pi seguido de ; y luego enter. Si
además deseamos obtener el valor de ese número con 25 cifras decimales significativas,
ingresaremos el comando evalf, de la siguiente forma:
> Pi;
π
> evalf(%,25);
3.141592653589793238462643
2.1.5 Veamos cómo calcular el factorial de un número, por ejemplo 30, y luego la forma en que
Maple permite su factorización en factores primos mediante el comando ifactor.
> 30!;
265252859812191058636308480000000
> ifactor(%);
( 2 ) 26 ( 3 ) 14 ( 5 ) 7 ( 7 ) 4 ( 11 ) 2 ( 13 ) 2 ( 17 ) ( 19 ) ( 23 ) ( 29 )
____________________________________________________________________________________________
Mg. Patricia Có
2
Podemos verificar este resultado aplicando el comando expand a la última expresión
> expand(%);
265252859812191058636308480000000
Si queremos obtener la expresión anterior en notación científica recurriremos nuevamente la
comando evalf.
> evalf(%);
.2652528598 10 33
Existen funciones predefinidas que pueden resultarnos útiles en el momento de realizar cálculos
numéricos. A continuación se enuncian algunas de ellas mediante sus nombres o comando que
permiten ejecutarlas, con una breve descripción de la operación que realizan. Es aconsejable probar
cómo funciona cada una de ellas con un ejemplo.
Tabla 2.2
> max(a,b,c,d,...);
Máximo de un conjunto de números reales
> min(a,b,c,d,...);
Mínimo de un conjunto de números reales
> floor(x);
Mayor entero menor o igual que x
> ceil(x);
Menor entero mayor o igual que x
> ilog10(x);
> ilog(x);
Logaritmo entero en base 10, x real
Logaritmo neperiano entero, x real
> signun(x);
x/valor absoluto de x (x distinto de 0)
> abs(x);
Valor absotulo de x
> igcd(a,b,c,d,...);
Máximo común divisor de n números
> ilcm(a,b,c,d,...);
Mímimo común múltiplo de n números
> irem(n,m)
Resto de la división de n y m
> ifactor(x)
Descompone a x en facores primos
> Heaviside(x);
Vale 0 para x<0, vale 1 para x>0 y en
cero no está definida
Vale 0 para todo x no nulo y tiene
singularidad en 0
> Dirac(x);
2.2 Operaciones con polinomios
Para definir un polinomio podemos proceder de maneras distintas, las que iremos viendo en algunos
de los ejemplos que siguen.
____________________________________________________________________________________________
Mg. Patricia Có
3
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
2.2.4 Si queremos completar cuadrados en un polinomio, podemos hacerlo con el comando
completesquare. Antes de usarlo debemos cargar el paquete student, en el que se encuentra. Para
realizar esta operación sólo es necesario ingresar la sentencia with(student);
> with(student);
____________________________________________________________________________________________
Mg. Patricia Có
4
[ 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
2.2.8 Veamos otro ejemplo:
> p4:=x->6*x^4-35*x^3+22*x^2+17*x-11;
p4 := x → 6 x 4 − 35 x 3 + 22 x 2 + 17 x − 11
> fsolve(p4);
-.6814339806 , .5708552757, .9422797802, 5.001632258
2.3 Operaciones con expresiones algebraicas
Muchos de los comandos vistos en la sección anterior pueden ser usados para operar sobre
expresiones algebraicas, por lo tanto nos limitaremos a algunos ejemplos más, y como siempre
recomendamos ir a la ayuda del programa en caso de necesitar realizar alguna operación no
detallada en esta guía.
2.3.1 Expansión o desarrollo de expresiones algebraicas
El comando expand(expression) permite desarrollar totalmente una expresión algebraica, aplicando
reglas de productos y potencias, propiedades de ángulos múltiples para funciones trigonométricas y
simplificando resultados. Veamos algunos ejemplos:
____________________________________________________________________________________________
Mg. Patricia Có
5
> 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
2.3.2 Simplificación de expresiones algebraicas
El comando simplify(expresión, opción), permite simplificar una expresión algebraica con alguna o
varias opciones. Si usamos simplify(expresión), sólo simplificará la expresión algebraica dada de la
forma habitual. Veamos un ejemplo:
> s:= (x^2+5*x+6)/(x^3+2*x^2-x-2);
x2 + 5 x + 6
s := 3
x + 2 x2 − x − 2
> simplify(s);
x+3
x2 − 1
Si queremos factorizar sólo el numerador o el denominador:
> 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);
2
1
1
−
x−1 x+1
____________________________________________________________________________________________
Mg. Patricia Có
6
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
1.1 Curvas definidas explícitamente
En primer lugar vamos a representar gráficamente curvas definidas explícitamente por expresiones
del tipo y = f(x), mediante el comando plot.
Se lo llama mediante la sentencia: plot(f(x), x=a..b, opciones);
Donde: f es una función real de variable x.
x=a..b especifica que la variable independiente x toma los valores entre a y b,
Las opciones de graficación son alternativas, por ejemplo: color, escalas, puntos de
vista, etc.
Veamos con algunos ejemplos las distintas opciones que pueden usarse:
1.1.1 > plot(x^2+3*x-1,x=-3..5,color=green):
Dentro de las elecciones posibles, podemos especificar el intervalo de variación de la variable
dependiente:
1.1.2 > plot(x^2+3*x-1,x=-3..5,y=-2..10):
Nota: Pulsando el cursor sobre la gráfica, aparecen inmediatamente en la última línea de la
barra de menú, algunos comandos representados por los íconos que se muestran a
continuación, que provocan que MAPLE ejecute alguna acción directa sobre la gráfica
seleccionada:
Cambia la curva al estilo Line (Línea).
Cambia la curva al estilo Point (Punto.)
Cambia la curva al estilo Patche (Parche).
Cambia la curva al estilo Patche o grid (rejilla).
____________________________________________________________________________________________
Mg. Patricia Có
7
Cambia los ejes al estilo Boxed (Caja).
Cambia los ejes al estilo Framed (Marco).
Cambia los ejes al estilo Normal.
Cambia los ejes al estilo None (Ninguno).
Cambia de Constrained (forzado, contraído) a Unconstrained.
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:
si x ≤ 0
− 1
 2
si 0 < x < 1
 x
f ( x) = 
si x = 1
4
 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
 2
 x


 4

2x
x≤0
x<1
x=1
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):
____________________________________________________________________________________________
Mg. Patricia Có
8
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?
1.1.6 Consideremos otra función:
> f2:= piecewise( x<=-1, -x, x<1, x*x, x>1, sin(x-1)/(x-1)-0.5 );
−x



x2
f2 := 
 sin( x − 1 )

 x − 1 − .5

x ≤ -1
x<1
1<x
> plot(f2,x=-3..13,discont=true):
Gráficamente se ve que f2 posee un punto de discontinuidad en x = 1.
Podemos verificarlo analíticamente calculando los límites laterales a la derecha y a la izquierda de
x = 1. La forma de hacerlo es mediante la orden: limit(f,x=a,right/left), ingresando sólo una de las
opciones: derecha o izquierda.
> limit(f2, x=1, right);
.5000000000
> limit(f2, x=1, left);
1.
1.1.7 Veamos algunas opciones interesantes que brinda el programa
•
Si queremos agregarle texto al gráfico:
>plot(tan(x),x=-(3/2)*Pi..(3/2)*Pi,y=-3..3,title="funcióntangente"):
•
Si queremos que aparezcan los nombres de los ejes coordenados:
> plot(cosh(x),x=-2..2,labels=[`Eje X`,`Eje Y`],color=pink):
•
Si queremos que aparezca un título en el gráfico:
>plot([1/x,3/x,5/x,7/x],x=-5..5,y=-5..5,title="Hipérbolas
equilateras"):
•
Si queremos colocar referencias sobre cada gráfica que aparece en pantalla:
>plot([sin(x),cos(x)],x=-Pi..Pi,title="FuncionesTrigonométricas",
legend=["Sine", "Cosine"]):
____________________________________________________________________________________________
Mg. Patricia Có
9
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):.
Donde: f es una función definida implícitamente en las variables x e y.
x:=a..b, y=c..d determinan los extremos de los intervalos de variación de las variables x e y
respectivamente.
Las opciones son análogas a las del comando plot.
Veamos algunos ejemplos:
1.2.1 > with(plots):
> implicitplot(x^2+y^2=4,x=-2..2,y=-2..2):
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.
1.2.2 Dada la ecuación de 2º grado: x 2 − 4 x + y 2 + 6 y + 8 = 0 determinar si se trata de una cónica
propiamente dicha o de un caso degenerado.
Si pedimos su representación gráfica en un dominio cualquiera, puede ocurrir que la gráfica
aparezca "vacía", como se ve si aplicamos la siguiente sentencia:
> 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):
Si nos interesa, podemos completar cuadrados utilizando el comando completesquare, habiendo
cargado previamente el paquete student.
> 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
Finalmente comprobamos que se trata de una circunferencia de centro (-3,2) y radio
5.
____________________________________________________________________________________________
Mg. Patricia Có
10
2. Gráficos en Coordenadas Paramétricas y Polares
2.1 Coordenadas Paramétricas
 x = x(t )
Para visualizar gráficos de curvas dadas en coordenadas paramétricas de la forma: 
,
 y = y (t )
podemos utilizar el comando plot([x(t),y(t),t=a..b]); que realiza la gráfica de la curva propuesta para
t variando en el rango a..b.
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]):
2.2 Coordenadas Polares
Existen dos opciones que permiten realizar gráficas en coordenadas polares:
• Si la curva está dada en coordenadas polares usaremos la orden:
polarplot(r(t),t=a..b,opciones);, debiendo cargar previamente el paquete plots.
2.2.1 Queremos representar gráficamente a la cardiode de ecuación r = 4(1+cos(t)), cuando t varía
entre 0 y 2 π . Procedemos de la siguiente forma:
> 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
____________________________________________________________________________________________
Mg. Patricia Có
11
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.
Para obtener las gráficas de funciones dadas en coordenadas cartesianas y definidas
explícitamente, podemos usar uno de los dos comandos que siguen:
>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.
Si queremos obtener gráficas de funciones dadas en coordenadas cartesianas y definidas
implícitamente, usaremos el comando implcitplot3d, habiendo cargado previamente el paquete
plots.
>implicitplot3d(f(x,y,z)=0, x=a..b,y=c..d,z=e..f, opciones); permite obtener la gráfica de una
superficie definida implícitamente, para los rangos de las variables x, y ,z dados.
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):
____________________________________________________________________________________________
Mg. Patricia Có
12
> c:=x^2+y^2=16:
> implicitplot3d(c,x=-4..4,y=-4..4,z=-3..3):
Como los gráficos bidimensionales, si pulsamos sobre la gráfica, aparecen inmediatamente en la
última línea de la barra de menú, dos ángulos: θ y ϕ , y algunos comandos representados por
íconos, que como sabemos, provocan que MAPLE cambie el “estilo” de la gráfica seleccionada. Por
defecto, cada uno de los ángulos tiene un valor de 45º. Los valores que toman estos ángulos
indicarían la posición del “ojo del observador”, esto es: “si damos un punto P en el espacio y su
proyección ortogonal P', ésta forma con el origen 0 una semirrecta 0P'. El ángulo θ representa la
medida del ángulo orientado (en contra de las agujas del reloj) desde el semieje x positivo a la
semirrecta 0P', (midiéndose entre -180º y 180º), y el ángulo ϕ es la medida del ángulo orientado
que forma el semieje z positivo con la semirrecta 0P´, calculado de arriba hacia abajo (midiéndose
entre 0 y 180º).
Podemos modificar los valores de estos ángulos si queremos observar la gráfica desde otro lugar.
El mismo efecto de rotación se produce cuando situamos el puntero del mouse sobre la gráfica y,
manteniéndolo presionado, lo arrastramos en la dirección deseada.
Resulta interesante determinar los valores que asumen los ángulos θ y ϕ , cuando se pretende
visualizar la proyección de la superficie sobre cada uno de los planos coordenados.
Siguiendo con el ejemplo, vamos a buscar las intersecciones del cilindro con los planos
coordenados, para ello necesitaremos cargar el paquete student.
Intersección con el plano XY:
> with(student):
> p1:=z=0:
El comando que nos da la intersección del cilindro c con el plano p1 es:
> 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.
Intersección con el plano XZ:
> p2:=y=0:
____________________________________________________________________________________________
Mg. Patricia Có
13
> 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):
4.2. Superficie Cónica
Si queremos realizar la gráfica de una superficie cónica podemos emplear distintos comandos. Una
forma de hacerlo es como en el ejemplo anterior:
> 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):
Si queremos la superficie cónica completa, lo pedimos del siguiente modo:
> 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
____________________________________________________________________________________________
Mg. Patricia Có
14
e) Paraboloide hiperbólico de ecuación:
y2 x2
−
=z
4
9
5. Gráficas en Coordenadas Paramétricas, Cilíndricas y Esféricas
5.1 Coordenadas Paramétricas - Gráficas de funciones vectoriales
El comando que permite obtener la representación gráfica de una curva definida por una función
vectorial se encuentra dentro del paquete plots y se carga mediante la sentencia:
>spacecurve([x(t),y)(t),z(t)],t=a..b,options);
donde: [x(t),y(t),z(t)] son las ecuaciones paramétricas de la función vectorial.
a .. b indica el intervalo de variación el parámetro t.
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.
Veamos algunos ejemplos:
5.1.1 Hélice circular
El comando: spacecurve([x(t),y(t),z(t)],t=a..b,options); realiza la gráfica una hélice circular de
ecuaciones paramétricas dadas.
>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.
Si queremos una mejor imagen:
>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:
a) Hélice Elíptica de ecuación: r(t)=[2*cos(t),sin(t),t],con t entre 0 y 2 π .
____________________________________________________________________________________________
Mg. Patricia Có
15
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.
c) Nudo de Trifolio de ecuación:
r(t)=[(2+cos(1.5*t))*cos(t),(2+cos(1.5*t))*sin(t),sin(1.5*t)],con t
entre 0 y 4 π
Realizar además la gráfica de la superficie que la contiene.
d) Cúbica Torcida de ecuación: r(t)=[t,t^2,t^3],t=-2..2
2- Realizar las representaciones gráficas de las curvas propuestas:
1) r(t) = [cos4t, t,sen4t]
2) r(t) = [t^2-2, t^3 , t^4+1]
3) r(t) = [t ,1/(1+t^2)t, t^2]
4) r(t) = [sen3t cost, sen3t sent, t]
5) r(t) = [cost, sent, sen5t]
6) r(t) = [cost, sent sent, lnt]
____________________________________________________________________________________________
Mg. Patricia Có
16
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:
D(función)
D(función)(num)
D[n](función)
D[n1,n2](función)
Representa el operador diferencial de la función o expresión funcional dada.
Halla la derivada de la función en el punto num.
Halla la derivada parcial de la función respecto a su enésima variable
Da la derivada parcial de la función, primero respecto de su n1-variable y
después la da respecto de su n2-variable.
(D@@n)(función) Da la derivada enésima de la función
(D@@n)(función)(num)
Ídem anterior pero calculada en el punto num
diff(exp,var)
Da la derivada de la expresión dada respecto de la variable especificada.
diff(exp,var$n)
Da la derivada de orden n de la expresión dada respecto de la variable
especificada.
diff(exp,var1,var2,...varn) Da la derivada parcial de la expresión dada respecto de las variables
especificadas.
implicitdiff(ecuación,vardep,varind) Halla la derivada en forma implícita de una función dada.
Vamos a calcular algunas derivadas:
Si usamos diff, directamente aplicamos este comando a la expresión de la función de la queremos
obtener su derivada, indicando después de la “,” la variable con respecto a la cual se deriva:
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):
1.2. > diff(x^tan(x)+x*sin(x*y),x): diff(x^tan(x)+x*sin(x*y),y):
1
1.3. Queremos calcular las primeras 5 derivadas de la función f ( x) = . Podemos hacerlo de la
x
siguiente forma:
> f:=x->1/x:
>[(D@@1)(f)(x),(D@@2)(f)(x),(D@@3)(f)(x),(D@@4)(f)(x),(D@@5)(f)(x)]:
____________________________________________________________________________________________
Mg. Patricia Có
17
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
∂x
∂g
Calcula
∂y
D[1](g);
o
diff(g(x,y),x);
D[2](g);
o
diff(g(x,y),y);
D[1,1](g);
o
diff(diff(f(x,y),x),x);
D[1,2](g);
o
diff(diff(f(x,y),x),y);
D[1,1,2,2](g); o
Calcula
∂2g
∂x 2
∂2g
Calcula
∂y ∂x
Calcula
diff(diff(diff(diff((x,y),x),x),y),y);
Calcula
∂4g
∂y 2 ∂x 2
Y así podemos seguir, de ser posible, indefinidamente.
Maple permite calcular derivadas direccionales, gradientes y diferenciales totales. Resulta
interesante ver cómo trabaja estos temas en los ejemplos que se muestran en las ayudas
correspondientes.
Actividad
1-Verificar que la función u =
1
x + y2 + z2
2
es una solución de la ecuación de Laplace en tres
variables.
2-
Probar
que
la
función
z = x e y + y e x es
una
solución
de
la
ecuación
∂3z ∂3z
∂3z
∂3 z
+
=
x
+
y
:
∂x 3 ∂y 3
∂x∂y 2
∂x 2 ∂y
 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)
b) Calcular fx (x,y) y f y(x,y), cuando ( x, y ) ≠ (0,0) .
____________________________________________________________________________________________
Mg. Patricia Có
18
c) Probar que f x y (0,0) = -1 y f y x (0,0)= 1.
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.
4- Dada las funciones:
a) z = x y
b) z = x − y
c ) f ( x, y ) = e − ( x
2
+ y 2 ) / 15
( sen 2 x + cos 2 y )
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.
5- Estudiar la diferenciabilidad de la función f ( x, y ) =
2x y
x2 + y2
si (x,y) ≠ 0 y f(0,0) = 0.
3. Máximos y mínimos para funciones de varias variables
Como Maple resuelve el sistema de ecuaciones que resulta de igualar a cero todas las derivadas
parciales de una función de varias variables, es factible obtener los posibles puntos extremos de esa
función.
Para saber de qué clase de extremos se trata, Maple construye la matriz Hessiana en cada punto.
Existe también un comando específico para calcular el Gradiente de una función de varias variable,
su sintaxis es: grad(función,[x1,x2,..xn]);. Este comando, al igual que la de la matriz Hessiana se
encuentran en el paquete linalg, y para usar este último es necesario ingresar:
hessian(función,[x1,x2,...,xn]);.
A continuación, presentamos una lista de algunos comandos que resultan de gran utilidad cuando se
trata de optimizar funciones:
maximize(expresión);
Halla el máximo valor de la expresión dada respecto
de todas sus variables
maximize(expresión,{var1,var2,...varn});
Halla el máximo valor de la expresión dada
respecto de las variables especificadas.
minimize(expresión):
Halla el mínimo valor de la expresión dada
respecto de todas sus variables.
maximize(expresión,{var1,var2,...varn});
Halla el mínimo valor de la expresión dada
respecto de las variables especificadas.
maximize(expresión,{var1,var2,...varn},{a1,a2,...an});
Halla el mínimo valor de la
expresión dada respecto de las variables
especificadas limitando los rangos de las
mismas, por defecto no están limitados.
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.
____________________________________________________________________________________________
Mg. Patricia Có
19
> 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]):
> solve({-360*x^2-120*x^3+90*x^4+30*x^5+30*y^2, 60*x*y},{x,y}):
Para clasificar los extremos, construimos la matriz Hessiana
> hessian(f(x,y),[x,y]):
> H:=(x,y)->hessian(f(x,y),[x,y]):
Evaluamos la matriz H en los puntos críticos y calculamos el determinante:
> H1:=subs(x=-2,y=0,H(x,y)):
> det(H1):
Resulta que el determinante de la matriz H evaluada en el punto (-2,0) es positivo, y además el
elemento que ocupa la posición (1,1) es negativo, por lo que concluimos que el punto (-2,0) es un
máximo relativo.
Repetimos el proceso con los otros puntos críticos:
> H2:=subs(x=2,y=0,H(x,y)):
> det(H2):
Resulta que el punto (2,0) es un mínimo relativo.
> H3:=subs(x=-3,y=0,H(x,y)):
> det(H3):
Resulta que (-3,0) es un punto de ensilladura.
Por último en (0,0):
> 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.
____________________________________________________________________________________________
Mg. Patricia Có
20
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):
Carga en la memoria la librería de comandos
extrema(expresión,ecuación,var);
Halla los posibles extremos relativos para la función
definida por la expresión dada, en la variable var
especificada bajo la restricción definida por ecuación,
usando el método de los Multiplicadores de Lagrange.
extrema(expresión,ecuación);
Halla los posibles extremos relativos para todas las
variables especificadas en la expresión y con la
restricción dada la ecuación.
extrema(expresión,{ecuación1,...ecuaciónn},{variable1,..variablen}); Halla los posibles
extremos relativos para la expresión dada en las
variables especificadas sujetas a las restricciones dadas
por ecuación1,..ecuaciónn.
extrema(expresión,{ecu1,...,ecun},{var1,...varn},nombre);
La variable nombre devuelve un
conjunto de puntos con los valores que toma la
expresión (función objetivo) en cada posible punto
extremo. Estos valores servirán para diferenciar ente
puntos extremos máximos y mínimos.
Veamos algunos ejemplos:
4.1. Hallar y clasificar los puntos extremos de la función: f (x, y, z) = x + z, sujeta a la restricción:
x 2 + y 2 + z 2 =1
> 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):
____________________________________________________________________________________________
Mg. Patricia Có
21
Analizando los resultados, podemos decir que la función dada presenta un máximo en el punto
 2

2
2
2

 y un mínimo en el punto  −
.
,
0
,
,
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 
 , pues no puede haber
El único punto que puede ser solución del problema es: 
,
,

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.
Además, como se ve en la primera respuesta el volumen máximo es igual a
5
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.
Los comandos más utilizados en el cálculo integral son:
int(f(x),x);
Calcula la integral indefinida
int(f(x),x=a..b)
Calcula la integral definida
int(int(f(x,y),x),y;
Calcula la integral indefinida
int(int(f(x,y),x=a..b),y=c..d); Calcula la integral definida
residue(f(x),x=a);
∫
∫ f ( x) dx
b
a
f ( x) dx
∫ ∫ f ( x, y) dx dy
∫ ∫ f ( x, y) dx dy
b
d
a
c
Halla el residuo algebraico de la expresión f(x). El residuo algebraico
es el coeficiente del término ( x − a ) −1 en el desarrollo de Laurent de la
función.
____________________________________________________________________________________________
Mg. Patricia Có
22
singular(f(x),x);
Halla las singularidades de la función algebraica f(x), considerando
como constantes todas las variable distintas de x.
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):
Si uno desea conocer una primitiva (o antiderivada), el comando es:
> int(((x+1)^2*sin(x)/4,x)):
Verifiquemos:
> diff(%,x):
> combine(%):
> simplify(%):
> factor(%):
5.1 Integrales inmediatas
A continuación y para finalizar, veremos algunos ejemplos sencillos:
5.1.1 > int(1/(x^2+1),x):
Hay que tener en cuenta que en las integrales indefinidas Maple no escribe la constante de
integración.
5.1.2 > int(x^n,x):
5.1.3 > int(x*cos(x),x):
5.1.4 > int(arccos(x),x):
5.1.5 > int(1/sqrt(x^2-1),x):
5.1.6 > int(x^2*e^x,x=0..3):
5. 2 Integración por sustitución y por partes
Maple contiene el comando changevar, dentro del paquete student, que permite realizar integrales
por el método de sustitución, cuando no le es posible resolverlas directamente. Su sintaxis es:
changevar(expr_vnueva=expr_vantigua,integral,v_nueva);
Realiza el cambio de variable de
acuerdo a la relación indicada entre las variables nueva y antigua, en la integral dada.
Por ejemplo si intentamos resolver la integral
∫
arcsin( x)
(1 − x )
2
3
2
dx directamente a través del comando int,
vemos que no es posible:
____________________________________________________________________________________________
Mg. Patricia Có
23
> int((arcsin(x)/(1-x^2)^(3/2)),x):
Si ahora usamos el comando changevar haciendo la sustitución t = arcsin(x), podremos obtener la
siguiente respuesta.
>with(student):
>changevar(t=arcsin(x),int((arcsin(x)/(1-x^2)^(3/2)),x),t):
Para volver a la variable original sustituimos t = arcsin(x):
> simplify(subs(t=arcsin(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
Longitud de arco de curva
Como sabemos, si una curva plana viene dada por su ecuación y = f(x), la longitud del arco de curva
comprendido entre dos puntos de abscisas x = a y x = b viene dada por
∫
b
a
1 + ( f ´( x) ) dx .
2
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
a
2
2
dt .
Veamos algunos problemas de aplicación.
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.
Área comprendida entre curvas
Resolvemos el siguiente problema:
5.3.2 Calcular el área encerrada entre las curvas y = sen x e y = cos x, para x variando entre 0 y 2π .
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]):
____________________________________________________________________________________________
Mg. Patricia Có
24
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):
Ahora calculamos el área entere las dos curvas como sigue:
> 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:
El área buscada es 5.267829283 unidades cuadradas.
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.
Cálculo de volúmenes por integrales dobles y triples
Resolvemos el siguiente problema:
5.3.3 Calcular el volumen en el primer octante comprendido entre el plano OXY, el plano
z = x + y + 2 y el cilindro x 2 + y 2 = 16 .
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]):
Podemos calcular el volumen pedido mediante la integral:
> int((int(x+y+2,y=0..sqrt(16-x^2)),x=0..4)):
Otra forma de resolver el problema podría ser:
> with(student):
> Doubleint(x+y+2,y=0..sqrt(16-x^2),x=0..4):
> value(%):
5.3.4
Calcular el volumen limitado por el paraboloide x 2 + 4 y 2 = z , y lateralmente por los
cilindros de ecuaciones y = x 2 y x = y 2 .
En primer lugar realizamos el gráfico en el que aparecen las superficies dadas:
____________________________________________________________________________________________
Mg. Patricia Có
25
> 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):
También podemos resolverlo de la siguiente forma:
> Doubleint(x^2+4*y^2,y=x^2..sqrt(x),x=0..1):
> value(%):
____________________________________________________________________________________________
Mg. Patricia Có
26
Descargar