Manual Wxmaxima
Manual Wxmaxima
Manual Wxmaxima
con
wxMaxima
Escuela Politénica
UNIVERSIDAD DE OVIEDO
de Ingeniería
GIJÓN
AGRADECIMIENTOS:
A todos los desarrolladores del Maxima que, a lo largo de los años, han ido aportando sus
conocimientos de forma desinteresada.
Introducción
ñ Maxima una estupenda herramienta para la ayuda en los estudios de todo tipo de
Ingenierías, accesible a todos los presupuestos, tanto institucionales como indivi-
duales.
ñ El programa nace en los años 70. Recibiría por aquel entonces el nombre de Macsy-
ima (MAC’s SYmbolic MAnipulator), del cual el MIT mandaría una copia en 1982 al
DOE (US Department Of Energy), uno de los organismos que aportaron los fon-
dos económicos para el desarrollo del proyecto; esta primera versión se la conoce
como DOE-Macsyima. Posteriormente, el DOE concede la licencia de explotación del
programa a la empresa Symbolics, que sigue desarrollando el proyecto durante unos
años. En 1992 el programa es adquirido por una empresa que se llamaría precisa-
mente Macsyima Inc, y el programa iría perdiendo fuelle progresivamente ante la
presencia en el mercado de otros programas similares como Maple o Mathematica,
ambos los dos inspirados en sus orígenes por el propio Macsyima.
ñ Puesto que Maxima se distribuye bajo la licencia GNU-GPL, tanto el código fuente
como los manuales son de libre acceso a través de la página web del proyecto
http://maxima.sourceforge.net
ñ El software libre fue definido por R. Sallman como todo aquél que garantice las
suigientes libertades:
ñ GPL: Con el fin de proteger las cuatro libertades anteriores, se impone una restric-
ción adicional, compatible con éstas: los trabajos derivados tienen que mantener la
1
misma licencia libre que el trabajo original. El mecanismo genérico que utilizan las
licencias tipo GPL para conseguir estas garantías fue llamado copyleft
wxMaxima
ñ wxMaxima no es más que una interfaz gráfica de Maxima, que permite el manejo de
éste de una forma visual, dando acceso a gran parte de los comandos de Maxima con
el simple uso del ratón. Existen más interfaces gráficos para Maxima, pero creemos
que wxMaxima es el más interesante. Puede descargarse desde su página web:
http://wxmaxima.sourceforge.net/wiki/index.php/Main_Page
2
Tabla de contenidos
1 Aprendiendo Maxima 7
1.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.2 Constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.3 Atajos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.9.1 Listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.9.2 Vectores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.9.3 Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.10 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3
2 Funciones. Representaciones gráficas. Ecuaciones. Límites y continuidad 27
2.1 Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4 Límites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.5 Continuidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.6 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.1 Derivadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.4.1 Asíntotas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.7 Bucles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4
3.8 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.5 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.1 Sucesiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2 Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5
6.1.3 Gráficas con draw3d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6
Práctica 1
Aprendiendo Maxima
1.1 Introducción
Maxima es un programa que realiza cálculos matemáticos de forma tanto numérica como
simbólica, esto es, sabe tanto manipular números como calcular la derivada de una fun-
ción. Sus capacidades cubren sobradamente las necesidades de un alumno de un curso
de Cálculo en unos estudios de Ingeniería. Se encuentra disponible bajo licencia GNU
GPL tanto el programa como los manuales del programa. A nosotros nos interesa, sobre
todo, el cálculo simbólico que es el que usaremos habitualmente. Es un programa basado
en comandos y, al ser éstos fácilmente olvidables, es por lo que usaremos un intérprete
del programa: el WxMaxima en el que tendremos acceso a la gran mayoría de comandos
que necesitaremos mediante simples clics con el ratón. Podemos encontrar WxMaxima
en:
http://wxmaxima.sourceforge.net/wiki/index.php/Main_Page
7
1.2. Primeros pasos con WxMaxima Prácticas de Cálculo
Nada más abrir el programa, nos encontramos con algo parecido a la figura de arriba
El panel de comandos que aparece en la parte superior derecha, lo abrimos yendo en el
menú a Maxima—>Paneles—>Matemáticas generales. El panel es desplazable a lo largo
de toda la pantalla mediante el ratón en la forma habitual de Windows. Bien, y llegó la
hora de usar el programa. Veamos en primer lugar las operaciones básicas:
+ Suma
* Producto
/ Cociente
∧ Potencia
sqrt(expr) raíz cuadrada de expr
(%i1) 5*8+23;
(%o1) 63
De momento, no es mucho. Pero fíjese que hay una entrada (lo que se teclea) numerada
con una etiqueta %i1 de entrada (indicado por la letra "i") y una etiqueta de salida, %o1
que es lo que devuelve el programa (indicado por la letra "o"). En cualquier momento,
podemos referirnos a esas etiquetas para no tener que repetir lo que pone al lado.
NOTA: Para agrupar expresiones sólo se usan paréntesis, las veces que hagan falta.
Nunca se usan corchetes, que están reservados para listas y vectores.
1.2.2 Constantes
%pi El número π
%e El número e
%i La unidad imaginaria
8
1.2. Primeros pasos con WxMaxima Prácticas de Cálculo
1.2.3 Atajos
Como habíamos comentado, nos interesa sobre todo el cálculo simbólico. Pero imag-
inemos
√ que queremos saber una aproximación decimal de alguna operación, por ejemplo
3 2 + 25 . Tenemos tres formas fundamentales para hacerlo:
float(número) Expresión decimal de número
número,numer Expresión decimal de número
bfloat(número) Expresión decimal larga de número
También podemos poner el programa en modo numérico. Para ello en el menú Numérico—
> Conmutar salida numérica. Hay que acordarse de volver a cambiarlo si queremos
seguir con el cálculo simbólico.
(%i1) float(3*sqrt(2)+25);
(%o1) 29.24264068711928
(%i2) 3*sqrt(2)+25,numer;
(%o2) 29.24264068711928
(%i3) bfloat(3*sqrt(2)+25);
(%o3) 2.924264068711929b1
La última expresión indica que lo que hay antes de la "b", hay que multiplicarlo por 10
o
elevado al número que hay después (en este caso,1). Se puede cambiar el n de cifras
decimales en Numérico—>Establecer precisión (por defecto son 16 cifras decimales).
Fijémosnos ahora en la salida que se pruce usando cálculo simbólico:
(%i4) 3*sqrt(2)+25;
√
(%o4) 3 2 + 25
9
1.2. Primeros pasos con WxMaxima Prácticas de Cálculo
(%i6) 3*sqrt(2)+25;
(%o 6) 3 sqrt(2) + 25
(%i10) atan(1);
π
(%o10)
4
(%i12) cos(3*%pi/4);
1
(%o12) −√
2
10
1.3. Insercción de texto Prácticas de Cálculo
! Factorial de n
m
binomial(m, n) El valor n
entier(x) Parte entera de x
abs(x) Valor absoluto de x
random(x) Número aleatorio entre 0 y x
signum Signo de x
max{x1 , x2 , · · · , xn } El valor máximo de x1 , x2 , · · · , xn
min{x1 , x2 , · · · , xn } El valor mínimo de x1 , x2 , · · · , xn
(%i15) binomial(10,3);
(%o15) 120
11
(%o19)
2
La lista de funciones es mucho más extensa y tiene muchos más parámetros que los aquí
enunciados. Si fuera necesario, hay que consultar la ayuda del Maxima.
Podemos comentar resultados, explicaciones etc en Maxima. Para ello vamos a Celda—
> Nueva celda de texto Nos inserta una celda con fondo verde-azulado donde pode-
mos escribir. También podríamos elaborar un documento con secciones y subsecciones
donde Maxima nos los numera automáticamente. Para una celda de sección, hay que ir a
Celda—> Nueva celda de sección
11
1.4. Reinicio de Maxima Prácticas de Cálculo
1.5 Variables
En Maxima, cualquier letra es, en principio, una variable. Pero podemos definir variables
más complejas mediante asignaciones que contengan números y letras. Esa asignación
la hacemos mediante el símbolo ":". Las más sencillas son asignaciones numéricas, o sea,
constantes en realidad.
(%i2) a:-7;
(%o2) −7
(%i3) a^2+3;
(%o3) 52
(%i4) b:(x+3)^2;
(%o4) (x + 3)2
(%i5) b^2;
(%o5) (x + 3)4
12
1.5. Variables Prácticas de Cálculo
(%i1) a:-4;
(%o1) −4
(%i2) b:5*log(x)-a^2;
(%i3) ev(b,x=3);
(%i4) b;
13
1.6. Expandir y simplificar Prácticas de Cálculo
14
1.6. Expandir y simplificar Prácticas de Cálculo
(%i1) expand((x-2)^3+(x+3)^2);
(%o1) x 3 − 5 x 2 + 18 x + 1
(%i2) expand((x+5)^3/(x+3)^2);
x3 15 x 2 75 x 125
(%o2) + + +
x2 + 6 x + 9 x2 + 6 x + 9 x2 + 6 x + 9 x2 + 6 x + 9
(%i3) ratexpand((x+3)^5);
(%i4) expand((x+3)^100+(x-4)^30+(x+1)^2+1/(x+7)^5+9/(x-3)^3,3,4);
9 1
(%o4) + + (x + 3)100 + x 2 + 2 x + (x − 4)30 + 1
x3 − 9 x2 + 27 x − 27 (x + 7)5
15
1.6. Expandir y simplificar Prácticas de Cálculo
(%i1) p:(2*x-3)/(x^2+2);
2x − 3
(%o1)
x2 + 2
(%i2) q:1/((x+3)*(2-x));
1
(%o2)
(2 − x) (x + 3)
(%i3) ratsimp(p+q);
2 x 3 − 2 x 2 − 15 x + 16
(%o3)
x 4 + x 3 − 4 x 2 + 2 x − 12
16
1.7. Factorización de polinomios Prácticas de Cálculo
(%i1) trigexpand(sin(a+b)+cos(2*a));
(%o1) cos (a) sin (b) + sin (a) cos (b) − sin (a)2 + cos (a)2
(%i2) trigexpand(x*cos(2*x)*sin(a+x));
(%o2) x (cos (a) sin (x) + sin (a) cos (x)) cos (x)2 − sin (x)2
(%i3) p:cos(x)+sin(x+a)-2*sin(x)*cos(x);
(%i4) trigreduce(p);
17
1.8. Descomposición en fracciones simples Prácticas de Cálculo
(%i1) factor(x^3-x^2-8*x+12);
(%o1) (x − 2)2 (x + 3)
(%i2) factor(x^6-(29*x^5)/10+(63*x^4)/20-(279*x^3)/40+(54*x^2)/5-243/40);
(2 x − 3)3 (5 x + 3) x 2 + x + 3
(%o2)
40
(%i3) factor(x^5+3*x^4+3*x^3+9*x^2-10*x-30);
(x + 3) x 2 − 2 x2 + 5
(%o3)
2 √ √
Observe que el factor (x − 2) todavía se podría factorizar en (x − 2)(x + 2) , que al
no ser raíces racionales, Maxima no factoriza.
18
1.9. Listas, vectores y matrices Prácticas de Cálculo
83 142 18
(%o1) +x+ + +1
25 (x + 3) 25 (x − 2) 5 (x − 2)2
(%i1) x^5+3*x^4+3*x^3+9*x^2-10*x-30;
(%o1) x 5 + 3 x 4 + 3 x 3 + 9 x 2 − 10 x − 30
3x + 5 6x − 4 3
(%o2) − 2
+ 2
−
49 (x + 5) 49 (x − 2) 49 (x + 3)
Observe que el sumando del centro aún se podría descomponer en suma de otras dos
fracciones.
1.9.1 Listas
La forma que tiene Maxima de escribir listas es usando corchetes. Los elementos de una
lista pueden ser números, expresiones algebraicas e incluso otras listas.
(%i2) milista:[-3,42,33,1,60];
(%i3) otralista:[a,b,[1,2,3],c,-5];
19
1.9. Listas, vectores y matrices Prácticas de Cálculo
(%i5) sort(listilla);
(%i6) listilla(4);
(%o6) P aco
(%i7) length(otralista);
(%o7) 5
(%i8) third(otralista);
(%o8) [1, 2, 3]
(%i1) makelist(k^3,k,1,10);
(%o1) [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
(%i2) makelist(sin(p^2*x),p,3,8);
(%o2) [sin (9 x) , sin (16 x) , sin (25 x) , sin (36 x) , sin (49 x) , sin (64 x)]
20
1.9. Listas, vectores y matrices Prácticas de Cálculo
1.9.2 Vectores
Una lista, también podemos considerar que es un vector. En tal caso, podemos efectuar
las operaciones habituales: suma, producto por un escalar y producto escalar.
NOTA: Para el producto escalar, debemos utilizar " . " Si utilizamos " * " nos multiplica
término a término (y no lo suma)
(%i1) p:[-2,3,5];
(%o1) [−2, 3, 5]
(%i2) q:[a,3,-4];
(%i3) s:[-1,7,2/3];
2
(%o3) [−1, 7, ]
3
(%i4) p.s;
79
(%o4)
3
(%i5) p+q;
(%o5) [a − 2, 6, 1]
(%i6) 5*p;
(%i7) p*s;
10
(%o7) [2, 21, ]
3
21
1.9. Listas, vectores y matrices Prácticas de Cálculo
(%i8) sqrt(p.p);
√
(%o8) 38
1.9.3 Matrices
Para definir una matriz, lo hacemos con el comando matrix() cuyo argumento es una se-
rie de listas, cada una de ellas representa una fila de la matriz.
Podemos efectuar todas las operaciones habituales sobre matrices: sumas, producto por
escalares y producto (usando " . ")
Existen gran cantidad de comandos para matrices, además de los expuesto anterior-
mente. Consulte la ayuda de Maxima si fuera necesario. Por supuesto, se puede definir
una matriz desde el menú de Maxima, en Algebra—>Introducir matriz
(%i1) A:matrix([1/2,-3/5,2],[0,-1,2/5],[-2,3,-6]);
1 3
2 −5 2
2
(%o1) 0 −1
5
−2 3 −6
(%i2) B:matrix([-2,3/5,-2],[-1,-1/5,2],[-3/2,2,-4]);
3
−2 5 −2
1
(%o2) −1 −5 2
− 32 2 −4
22
1.9. Listas, vectores y matrices Prácticas de Cálculo
(%i3) C:matrix([-1,0,a],[2,-a,2],[2,-2,a]);
−1 0 a
(%o3) 2 −a 2
2 −2 a
(%i6) [determinant(B),determinant(C),determinant(A)];
34 2 28
(%o6) [ , a + a (2 a − 4) − 4, − ]
5 25
(%i7) rank(B);
(%o7) 3
23
1.10. Ejercicios Prácticas de Cálculo
1.10 Ejercicios
1 6571
1 o ) Calcule 1 + 9 + 32+4 (Sol: 9 )
p √ √
2 o ) Calcule 4 + 144 + 3
27 (Sol: 7)
p √ √ √ √
3 o ) Calcule ( 1 + 4 + 2) (Sol: 3 + 4)
√
5 o ) Dé una expresión decimal aproximada de 5
π (Sol: 1.257274115669185)
π π 1
6 o ) Calcule sen( 4 ) + cos( 2 ) + ln(e4 ) (Sol: √ + 4)
2
5π
7 o ) Calcule arctg (1) + arccos(−1) (Sol: )
4
pepe
8 o ) Asigne al símbolo pepe el valor de 10! y calcular (Sol: 9034502400).
95!
12 o ) Factorice el polinomio −1 − x + x 2 + x 3 .
x2 − 4
15 o ) Descomponga en fracciones simples:
x5 + x4 − 2 x3 − 2 x2 + x + 1
24
1.10. Ejercicios Prácticas de Cálculo
16 o ) Construya, con makelist, una lista con los 30 primeros números impares y de man-
era que vayan alternado de signo. columna.
25
26
Práctica 2
2.1 Funciones
Para definir funciones, usaremos principalmente el símbolo " := ". Podemos definir fun-
o o
ciones de cualquier n de variables y cualquier n de componentes ( funciones f : Rn −→
Rm ). Pero, a nosotros, nos interesan las funciones reales de una variable.
27
2.1. Funciones Prácticas de Cálculo
(%i1) f(x):=x^2*sin(2*x);
(%i2) g(x):=%e^(x+4);
(%i3) g(2);
(%o3) e6
(%i4) f(g(x));
(%i10) f(p-2);
2
(%o10) sin 2 p − 2 p−2
(%i6) g(f(x));
2 sin(2 x)+4
(%o6) ex
(%i9) fundef(f);
28
2.1. Funciones Prácticas de Cálculo
(%o11) [f , g]
(%i13) f(x);
(%o13) f (x)
(%o18) f x, y := [2 x + 2, x 2 − y, 3 x −2 y]
(%i20) f(-2,3);
9
(%o20) [−2, 1, ]
4
NOTA: Las funciones trabajan sobre listas, devolviendo una lista con la imagen de cada
elemento de la lista inicial.
(%i1) lista:[1,-3,0,4];
(%i2) f(x):=x^2+2;
(%o2) f (x) := x 2 + 2
(%i3) f(lista);
Podemos representar gráficamente una función función f : [a, b] −→ R . Para ello, us-
amos los comandos:
29
2.1. Funciones Prácticas de Cálculo
Veremos más adelante otros comandos para representaciones gráficas. Lo mejor, es hac-
erlo desde el menú de Maxima Gráficos—>Gráficos2D Cuando pulsamos el botón Grá-
ficos 2D, aparece una ventana de diálogo con varios campos que podemos completar o
modificar:
e) Formato. Maxima realiza por defecto la gráfica con un programa auxiliar. Si selec-
cionamos en línea, dicho programa auxiliar es wxMaxima y obtendremos la gráfica en
una ventana alineada con la salida correspondiente. Hay dos opciones más y ambas
abren una ventana externa para dibujar la gráfica requerida: gnuplot es la opción por
defecto que utiliza el programa Gnuplot para realizar la representación; también está
disponible la opción openmath que utiliza el programa XMaxima. Prueba las diferentes
opciones y decide cuál te gusta más.
f) Opciones. Aquí podemos seleccionar algunas opciones para que, por ejemplo, dibuje
los ejes de coordenadas ("set zeroaxis;"); dibuje los ejes de coordenadas, de forma
que cada unidad en el eje Y sea igual que el eje X ("set size ratio 1; set zeroaxis;");
dibuje una cuadrícula ("set grid;")
NOTA: El prefijo wx añadido a plot2d o a cualquiera del resto de las órdenes que ver-
emos más adelante (plot3d, draw2d, draw3d) hace que wxMaxima pase automática-
mente a mostrar los gráficos en la misma ventana y no en una ventana separada. Es lo
mismo que seleccionar en línea
30
2.1. Funciones Prácticas de Cálculo
(%i1) f(x):=x^3+3*x+1;
(%o1) f (x) := x 3 + 3 x + 1
(%i2) g(x):=%e^x-x;
(%o2) g (x) := ex − x
(%t3)
(%t4)
31
2.1. Funciones Prácticas de Cálculo
Mediante el comando:
3x 2 − 1
si ≤ 1
f (x) =
5x − 4 si x > 1
Vemos que no nos escribe la expresión. Maxima no trabaja bien con este tipo de fun-
ciones, con lo que casi es preferible trabajar con los trozos por separado. No obstante,
puede valorar puntos y se pueden representar gráficamente.
(%i2) p:0;
(%o2) 0
(%i3) [f(-2),f(4),f(p)];
Si la función tiene más de dos trozos, tendríamos que anidar expresiones if.
Por ejemplo, para escribir:
2x − 1 si x ≤ 0
cos(x) si 0 < x < π
f (x) =
√
3x + 5 si x ≥ π
32
2.2. Gráficos con draw Prácticas de Cálculo
(%t2)
Además del comando Plot2d, tenemos el módulo draw. Es reciente en Maxima y hay que
cargarlo previamente. Para ello, ponemos la orden:
(%i1) load(draw);
Son las opciones de los comandos anteriores propias de cada gráfica, pueden ser:
line_width: Grosor con el que se dibujan las líneas. Por defecto, vale 1.
33
2.2. Gráficos con draw Prácticas de Cálculo
Las comunes a todas las gráficas que van a dibujarse en una misma ventana
o
nticks: El n de puntos para dibujar la gráfica. Por defecto son 30.
xrange, yrange: Rango de las variables. Es una opción global que se pone al final y se
impone al rango que se pone en gráfico.
user_preamble= El valor dado a esta opción debe ser una cadena alfanumérica o una
lista de cadenas (una por línea). La más importante es "set size ratio 1" (escrito así,
con comillas) para igualar la longitud de las unidades en ambos ejes.
explicit(expr, var, a, b): Para una función explícita, de variable var, definida en [a, b] .
implicit(expr, var1, a, b, var2, c, d): Para una ecuación implícita, de variables var1 y var2,
variando éstas en [a, b] y [c, d] respectivamente.
(%i1) load(draw);
34
2.2. Gráficos con draw Prácticas de Cálculo
(%i2) draw2d(color=blue,
nticks=100,
line_width=1.5,
xaxis=true, yaxis=true,
explicit(x*cos(x),x,-7,7));
(%t2)
(%o2) [gr2d explicit ]
(%i3) draw2d(
color=red,
nticks=100,
xaxis=true, yaxis=true,
line_width=1.5,
implicit(x*y=1,x,-3,3,y,-3,3)
);
(%t3)
(%o3) [gr2d implicit ]
35
2.2. Gráficos con draw Prácticas de Cálculo
(%i4) draw2d(
xaxis=true, yaxis=true,
color=red,
nticks=100,
line_width=2.5,
implicit(x^2+y^2-x*y=5,x,-3,3,y,-3,3),
color=blue,
nticks=100,
line_width=1.5,
explicit(4*x^2-5*x,x,-3,3),
xrange=[-3,3],yrange=[-3,3]
);
(%t4)
(%o4) [gr2d implicit, explicit ]
Para más opciones, consulte la ayuda del Maxima.
Muy brevemente, primero creamos dos listas: lista1 y lista1 la primera con las x de los
puntos y la segunda con las y.
Luego aplicamos el comando draw2d como en el siguiente ejemplo:
(%i2) lista1:[1,0,-3,4];
(%i3) lista2:[2,-3,-1,2];
36
2.3. Resolución de ecuaciones y sistemas Prácticas de Cálculo
(%i4) wxdraw2d(
xaxis=true, yaxis=true,
color=red,
point_type=filled_circle,
point_size=2,
points(lista1,lista2));
(%t4)
(%o4) [gr2d points ]
Las opciones más usuales para point_type son: asterisk (3), square (4), filled_square
(5), circle (6), filled_circle (7)
Que se pueden referir por el nombre (como en el ejemplo anterior) o por el índice (indi-
cado en la línea anterior).
37
2.3. Resolución de ecuaciones y sistemas Prácticas de Cálculo
Los corchetes, como siempre, indican que deben introducirse listas. Si introducimos una
expresión sin el signo "=", Maxima resuelve esa expresión igualada a 0.
(%i2) solve(x^3-3*x^2+2+x+3,x);
(%o2) [x = 2 − i, x = i + 2, x = −1]
(%i3) p:x^6+5*x+2=0;
(%o3) x6 + 5 x + 2 = 0
(%i4) solve(p,x);
(%o4) [0 = x 6 + 5 x + 2 ]
Sólo hay algorítmos para resolver ecuaciones hasta de cuarto grado. Solve no puede re-
o
solver esta ecuación de 6 grado. Probemos con algsys:
(%i6) algsys([p],[x]);
Vemos que obtiene numéricamente las 6 soluciones. Tomemos sólo las soluciones reales:
(%i9) realonly:true;
(%o9) tr ue
(%i10) algsys([p],[x]);
(%i11) solve([x^2-y^2=3,2*x+y^3=1],[x,y]);
38
2.3. Resolución de ecuaciones y sistemas Prácticas de Cálculo
La resolución de sistemas lineales, se puede hacer con solve. Pero, en este caso, se
dispone de un comando más eficiente que funciona como solve:
(%i1) p:[3*x+5*y-4*z=1,x+2*y+3*z=-2,-4*x+y-3*x=4];
(%i2) linsolve(p,[x,y,z]);
97 17 95
(%o2) [x = − ,y = ,z = − ]
174 174 174
No hay problema cuando hay infinitas soluciones:
(%o3) [3 z + y + x = 1, −z + 5 y + 3 x = 2, 7 z − 3 y − x = 0]
(%i4) linsolve(p,[x,y,z]);
ex + 1 = tg(x)
(%i1) q:e^x+1=tan(x);
(%i3) algsys([q],[x]);
(%o3) []
39
2.3. Resolución de ecuaciones y sistemas Prácticas de Cálculo
Ni solve ni algsys pueden resolverla. Aquí, todo lo más que podemos hacer es ayudar
un poco a Maxima. Para ello, nos basamos en el Teorema de Bolzano. Comencemos por
definir y dibujar la función:
(%i4) f(x):=%e^x+1-tan(x);
(%i5) wxplot2d(f(x),[x,-4,4],[y,-4,4]);
(%t5)
Vemos que hay una raíz comprendida entre 1 y 1.5 (hay que buscar dos puntos en que
f tenga distinto signo). Entonces usamos el comando:
(%i6) find_root(f(x),x,1,1.5);
(%o6) 1.371045106423148
Podríamos buscar más soluciones encontrando otros 2 valores en los que f cambie de
signo. Por ejemplo, vemos que entre −2.5 y −2 hay otra raíz:
(%i2) find_root(f(x),x,-2.5,-2);
40
2.4. Límites Prácticas de Cálculo
(%o2) − 2.308896144806409
2.4 Límites
minf −∞
und Indefinido
(%i1) f(x):=((x+1)/x)^(x+7);
x+7
x+1
(%o1) f (x) :=
x
(%o2) e
(%i3) g(x):=abs(x)/x;
|x|
(%o3) g (x) :=
x
(%o4) und
41
2.4. Límites Prácticas de Cálculo
sen(x 2
2 x2 si x < 0
f (x) = f (x) = y queremos: lim f (x)
x→0
1−cos(x)
si x > 0
x2
sin x 2
1 − cos (x)
(%o1) f (x) := if x < 0then 2
else
2x x2
sin x 2
1 − cos (x)
(%o2) lim if x < 0then else
x→0 2 x2 x2
sin x 2
1 − cos (x)
(%o3) lim if x < 0then else
x→0− 2 x2 x2
Como vemos, no es capaz de calcular el límite ni el límite por la izquierda (por la derecha
tampoco sabría). Entonces tenemos que hacerlo nosotros con cada trozo:
1
(%o4)
2
1
(%o5)
2
1
Al coincidir los límites laterales, concluimos que lim f (x) = .
x→0 2
42
2.5. Continuidad Prácticas de Cálculo
2.5 Continuidad
El estudio de la continuidad de una función es inmediato una vez que sabemos calcular
límites. Una función f : A ⊂ R → R es continua en a ∈ A si
Conocido el valor de la función en el punto, la única dificultad es, por tanto, saber si
coincide o no con el valor del límite.
Con respecto a las funciones discontinuas, la gráfica puede darnos una idea del tipo de
discontinuidad.
43
2.6. Ejercicios Prácticas de Cálculo
2.6 Ejercicios
√
1) Defina la función f (x) := e + x + x 10 y calcular f (1/2) (Sol: 2 + 32 + e)
x2
3 x 4 sen2 x1 ln 1 + x1 cos x − e− 2 −2
a) lim c) lim
x→∞ π x+2
(x + 6) 4 x+1 x→0 x4
√
n
cot2 x 1+x −1
b) lim (cos x) d) lim con n ∈ N
x→0 x→0 x
5) Represente en una misma gráfica las funciones seno y coseno en el intervalo [−2π , 2π ].
Utilice las opciones adecuadas para que una de las funciones se represente en azul y otra
en rojo y, además, tengan grosores distintos.
44
Práctica 3
Derivación. Aplicaciones de la
derivada. Polinomios de Taylor
3.1 Derivadas
Para calcular la derivada de una función real de variable real, una vez definida, por
ejemplo, como f (x), se utiliza el comando diff que toma como argumentos la fun-
ción a derivar, la variable con respecto a la cual hacerlo y, opcionalmente, el orden de
derivación.
NOTA: Si definimos una función y luego queremos derivarla, debemos hacerlo con define
y no con := por si queremos luego evaluar la derivada en un punto.
(%i1) diff(x^2*sin(3*x),x);
45
3.1. Derivadas Prácticas de Cálculo
(%i2) f(x):=(x+sin(x^2))/(2*x+3);
x + sin x 2
(%o2) f (x) :=
2x + 3
(%i3) define(df(x),diff(f(x),x));
2 x cos x 2 + 1 2 sin x 2 + x
(%o3) df (x) := −
2x + 3 (2 x + 3)2
(%i4) df(2);
(%i5) df(sqrt(%pi));
√ √
1−2 π 2 π
(%o5) √ − √ 2
2 π +3 2 π +3
El valor numérico aproximado, será::
(%i6) float(%o5);
(%o6) − 0.47159352189349
(%i7) define(d3f(x),diff(f(x),x,3));
(2 x + 3)3
Veamos ahora una función definida por trozos. Como ya habíamos visto, Maxima no se
maneja muy bien con esas funciones, así que en un punto de conjunción de trozos, no
tendremos más remedio que hacerlo con la fórmula:
f (x) − f (a)
f 0 (a) = lim y hallar ese límite por ambos lados
x→a x−a
46
3.2. Los operadores comilla y doble comilla Prácticas de Cálculo
Procedemos así:
(%i1) f1(x):=x^2*sin(1/x);
1
(%o1) f1 (x) := x 2 sin
x
(%i2) f2(x):=x*cos(1/x);
1
(%o2) f2 (x) := x cos
x
Derivada por la izquierda:
(%i3) limit((f1(x)-0)/(x-0),x,0);
(%o3) 0
(%i4) limit((f2(x)-0)/(x-0),x,0);
(%o4) ind
Ya sabemos que ind significa que no existe ese límite, aunque la función está acotada en
sus proximidades. Así que no existe f 0 (0)
Una comilla (la que hay debajo del signo ?) puesta delante de una expresión, obliga a que
ésta no se evalúe y sólo queda indicada (sí puede simplificarse). Con nouns(%) se evalúa
una expresión que tenía una comilla. Por ejemplo:
(%i1) f(x):=’integrate(x^4+3*x,x);
Z
(%o1) f (x) := x 4 + 3 xdx
Vemos que no hace la integral. En cambio dos comillas (la misma que antes dos veces)
delante de una expresión obliga a que la expresión se evalúe:
(%i1) ’integrate(x^4+3*x,x)=’’integrate(x^4+3*x,x);
x5 3 x2
Z
(%o1) x 4 + 3 xdx = + La expresión de la izquierda no se evalúa por llevar la
5 2
comilla, mientras que la de la derecha se evalúa por las dobles comillas.
47
3.3. Aplicaciones de la derivada Prácticas de Cálculo
Si tenemos una función f (x) , derivable en x = a , sabemos que las rectas tangente y
normal a su gráfica en el punto (a, f (a) vienen dadas, respectivamente por
1
t(x) = f (a) + f 0 (a) (x − a) n(x) = f (a) − (x − a)
f 0 (a)
El último caso, requiere que f 0 (a) 6= 0 , en cuyo caso la normal sería x = a. Con Maxima,
sería elemental obtener ambas rectas.
Si tenemos una función f (x) , derivable en un intervalo abierto, sabemos que los puntos
críticos se obtienen resolviendo la ecuación: f 0 (x) = 0. Con los comandos diff y alguno
de los comandos para resolver ecuaciones, podemos hallar éstos. Para determinar qué
tipo de extremos hay en cada punto crítico, podemos seguir alguno de los métodos:
Lo mejor sería que f 0 fuera continua y que podamos calcular todos los puntos críticos. Si
hay n puntos críticos, tendremos n + 1 intervalos separados por los mismos. Entonces
valoramos f 0 en cualquier punto intermedio de cada intervalo. Si f 0 nos da positiva,
entonces f es creciente en todo el intervalo, mientras que si es negativa, entonces es
decreciente.
48
3.4. Resolución de desigualdades Prácticas de Cálculo
Aquí lo mejor sería que f 00 fuera continua y que podamos calcular todos los puntos
solución de f 00 (x) = 0. Haciendo lo mismo que anteriormente pero con la derivada
segunda, si ésta fuera positiva, la función sería convexa en todo el intervalo, mientras
que si es negativa, entonces es cóncava. Si en un intervalo pasa de ser cóncava a convexa
(o al revés) en el intervalo siguiente, el punto común de separación es un punto de
inflexión
NOTA: Observe que los argumentos son listas y van entre corchetes. El signo >= que
aparece en el comando, puede cambiarse por cualquier otro, como <, <=, et.
(%i1) load(fourier_elim);
(%i2) f(x):=(2*x^2-x-10)/(x-3);
2 x 2 − x − 10
(%o2) f (x) :=
x−3
(%i3) fourier_elim([f(x)<0],[x]);
5
(%o3) [ < x, x < 3]or [x < −2]
2
(%i4) g(x):=(x^2-x-3)/(x^2+x-2);
x2 − x − 3
(%o4) g (x) :=
x2 + x − 2
(%i5) fourier_elim([g(x)<0],[x]);
[−2 < x, x < 1, x 2 −x−3 > 0]or [1 < x, − x 2 − x − 3 > 0]or [x < −2, − x 2 − x − 3 >
(%o5)
0]
(%i6) fourier_elim([f(x)<0],[x]);
5
(%o6) [ < x, x < 3]or [x < −2]
2
49
3.5. Polinomios de Taylor Prácticas de Cálculo
(%i7) fourier_elim([abs(x-3)>2],[x]);
De todas formas, no hay que esperar de este paquete grandes cosas. Hay que tener en
cuenta que las raíces de una función pueden ser muy complejas de calcular.
3.4.1 Asíntotas
Oblicuas Si existe una recta y = mx + b tal que lim [f (x) − (mx + b)] = 0 o
x→+∞
lim [f (x)−(mx+b)] = 0 entonces tal recta es una asíntota oblicua por la derecha
x→−∞
o por la izquierda respectivamente. Normalmente lo es por ambos lados. Para que
existan estas asíntotas, deben existir (ser finitos) los límites:
f (x)
lim = m 6= 0 lim (f (x) − mx) = b Para la parte derecha
x→+∞ x x→+∞
T (f , a, n)(x) =
f 00 (a) f 000 (a) f n) (a)
= f (a) + f 0 (a)(x − a) + (x − a)2 + (x − a)3 + · · · + (x − a)n =
2! 3! n!
n
X f k) (a)
= (x − a)k
k=1
k!
Con Maxima, disponemos de los siguientes comandos para hallar un polinomio de Tay-
lor:
50
3.5. Polinomios de Taylor Prácticas de Cálculo
(%i1) taylor(cos(x),x,0,6);
x2 x4 x6
(%o1)/T/ 1 − + − + ...
2 24 720
(%i2) taylor(log(x),x,1,7);
(%i3) taylor(cos(x)/x,x,%pi,5);
π 2 − 2 (x − π )2 π 2 − 2 (x − π )3 π 4 − 12 π 2 + 24 (x − π )4
1 x−π
(%o3)/T/ − + + − − +
π π2 2 π3 2 π4 24 π 5
5
π 4 − 12 π 2 + 24 (x − π )
+ ...
24 π 6
(%i1) f(x):=cos(x);
(%i2) plot2d([f(x),taylor(f(x),x,0,8)],[x,-8,8],[y,-2,2]);
51
3.5. Polinomios de Taylor Prácticas de Cálculo
(%t2)
(%o2)
En teoría, un polinomio de Taylor de orden más alto debería aproximar mejor a la fun-
ción. Vamos ahora a dibujar las gráficas de la función f (x) = cos(x) y de su polinomio
de Taylor de orden 14 en el cero para comprobar que la aproximación es más exacta.
(%i2) plot2d([f(x),taylor(f(x),x,0,14)],[x,-8,8],[y,-2,2]);
(%t2)
(%o2)
52
3.6. Algo sobre programación Prácticas de Cálculo
(%i2) is(x^2>0);
(%o2) [unknown]
53
3.7. Bucles Prácticas de Cálculo
(%i3) assume(notequal(x,0));
(%i4) is(x^2>0);
(%i5) forget(%o2);
(%i6) is((x+1)^2=x^2+2*x+1);
(%o6) [f alse]
¿Pero cómo? ¿no es cierta esa igualdad? pues sintácticamente, no, pues están escritas de
forma distinta. Sin embargo:
(%i7) is(equal((x+1)^2,x^2+2*x+1));
3.7 Bucles
Vamos a ver unos breves y elementales conceptos de programación que nos serán útiles,
tanto en esta práctica como en las posteriores. Los tres bucles principales que veremos
(aunque hay más) son:
54
3.7. Bucles Prácticas de Cálculo
Bucle for Se efectúa expr para los valores de var que van desde valor1 hasta valor3 en
incrementos indicados en stepvalor2. Si éste se omite, los incrementos valen 1.
Bucle while Se efectúa expr mientras cond sea cierta. Este bucle necesita darle un incre-
mento en cond a la variable de expr hasta que no se cumpla cond.
Al hacer un bucle, es posible por error caer en un proceso infinito. Lo detenemos pul-
sando control-C. La acción que se sigue por defecto es la detención del cómputo y la
impresión de otro prompt.
Bucle que suma los cubos de los 5 primeros números naturales pares:
(%i1) suma:0;
(%o1) 0
(%o2) done
55
3.7. Bucles Prácticas de Cálculo
(%o3) 1800
(%i3) k:1;
(%o3) 1
1
2
3
4
(%o4) done
(%o6) 1
(%i7) x;
(%o7) 1
(%i1) load(draw);
(%i2) f(x):=-1+cos(2*x);
56
3.7. Bucles Prácticas de Cálculo
(%t3)
(%t4)
57
3.7. Bucles Prácticas de Cálculo
(%t5)
(%t6)
(%o6) done
Ejercicio 3.2 Programe con Maxima lo siguiente: Sea la función f (x) = 1 + cos(x)
¿Cuál es el grado mínimo n para que el polinomio de Taylor T(x) en torno a x = 0
cumpla que |f (0.3) − T (0.3)| < 0.0001 ?
SOLUCIÓN
(%i1)
k:1;
(%o1) 1
(%i2)
f(x):=1+cos(x);
58
3.7. Bucles Prácticas de Cálculo
(%i3)
while abs(f(0.3)-T(0.3))>0.0001 do
(k:k+1,define(T(x),trunc(taylor(f(x),x,0,k))));
(%o3) done
(%i4)
(%o4) 4
59
3.8. Ejercicios Prácticas de Cálculo
3.8 Ejercicios
x 3 arctg (x)
3) Considere la función siguiente: f (x) =
(x − 1)2
a) Calcular las asíntotas de f .
b) Calcule dónde se alcanza y cuál es el valor mínimo absoluto de f en todo su
dominio.
1
4) Considere la función f (x) = arctg (x) + arctg .
x
a) Derive la expresión y observe que la derivada es idénticamente nula. ¿Es
constante la función?.
b) Calcule los límites laterales de f en el 0. Pinte la gráfica y observe que es
constante en los negativos y constante (distinta de la anterior) en los positivos.
c) Averigüe cuál es el valor de esas contantes y defina nuevamente la función f sin
utilizar "arctan": con if-then-else (recuerde que es constante a trozos).
60
3.8. Ejercicios Prácticas de Cálculo
√
6) Halle los extremos relativos de f (x) = x 1 − x. Dibuje la gráfica para confirmarlo.
¿qué ocurre en el punto x = 1 ¿hay extremo en ese punto?
(Sugerencia: consulte el apartado 3.3.2)
7) Dibuje con plot2d la gráfica de f (x) = sen(3x) − 3 sen(x) con x ∈ [−5, 5]. ¿Dónde
parece tener extremos? ¿es Maxima capaz de calcularlos?
Sugerencia: Maxima no es capaz de encontrar los puntos críticos. Sin embargo, si en
f 0 (x) damos a expandir(tr) y luego a simplificar(tr) encontramos una sorprendente
expresión, que seremos capaces de resolverla sin Maxima, sólo mirando la gráfica.
x 3 − 3x + 2
9) Sea la función f (x) =
x 2 + 3x + 2
a) Halle los cortes con el eje OX. (Sugerencia: resuelva f (x) = 0 )
b) Halle las asíntotas verticales, situando las ramas de la gráfica (límites laterales en
torno a las mismas.)
(Sugerencia: consulte el apartado 3.4.1)
11) Dibuje con draw2d, en una misma ventana, la función f (x) = x cos(3x) y sus
polinomios de Taylor de orden 2, 4 y 6 todos con diferente color, siento el trazo de
f (x) el doble de grueso. Elija un rango adecuado para que se vea bien.
Sugerencia: Ver ejemplos en el apartado 3.5.
12) ¿Sería capaz, consultando el ejercicio 3.2, de programar la obtención del polinomio
61
3.8. Ejercicios Prácticas de Cálculo
x 3 − 3x + 2
de Taylor mínimo T (f (x), x, 0, n) para la función f (x) = de forma que se
x 2 + 3x + 2
cumpla |f (x) − T (f (x), x, 0, n)| < 0.001 para todo punto del intervalo [−0.3, 0.3] ?
62
Práctica 4
Zb
integrate(f(x),x,a,b) Calcula f (x) dx
a
Como siempre, todos estos comandos podemos hacerlos desde el menú del Maxima
Análisis→Integrar. Aparece una forma donde sólo tenemos que introducir los datos:
63
4.1. Cálculo de integrales Prácticas de Cálculo
Z
Calculemos t 3 sen(t 2 ) dt :
(%i1)
integrate(t^3*sin(t^2), t);
sin t 2 − t 2 cos t 2
(%o1)
2
Z
Calculemos (x + 1)2 e−x dx :
(%i2)
integrate((x+1)^2*%e^(-x),x);
Z π
6
Vayamos ahora con una integral definida: cos3 x dx
π
4
(%i3)
1 1 11
(%o3) −√ + 3 +
2 3·2 2 24
(%i4)
ratsimp(%);
3
5 · 2 2 − 11
(%o4) −
24
64
4.1. Cálculo de integrales Prácticas de Cálculo
(%i5)
integrate(x^n, x);
(%i6)
integrate(1/x, x, a, b);
NOTA: Los valores que se dan como contestación, permanecen para el resto de la
sesión. Si es necesario, hay que quitarlos con la orden forget(las varibles que sean.)
integrate(%e^(x^3+x), x, 0, 1);
Z1
3 +x
(%o1) ex dx
0
Devuelve el mismo resultado. Esto es, no puede calcularla por la regla de Barrow.
Activamos entonces la casilla "Integración numérica" y vemos que Maxima nos ofrece
dos métodos para hacerlo: quad_qags o el método romberg. Veamos lo que obtenemos
con cada uno:
(%i2)
quad_qags(%e^(x^3+x), x, 0, 1);
(%i3)
romberg(%e^(x^3+x), x, 0, 1);
65
4.2. Teorema fundamental del Cálculo integral Prácticas de Cálculo
(%o3) 2.505246763921738
Si f : [a,
Z b] −→ R una función continua. Se define la función integral de f como
x
F (x) = f (t) dt con x ∈ [a, b]
a
Z x 3 +x
Ejemplo 4.1 Sea G(x) = sen(t 4 ) dt . Calcule G’(x)
e−x
SOLUCIÓN
(%i1)
f(t):=sin(t^4);
(%i2)
G(x):=’integrate(f(t),t,%e^(-x),x^3+x);
Z x 3 +x
(%o2) G (x) := f (t) dt
e−x
Hemos puesto la comilla simple para que Maxima no intente hacer la integral
(%i3)
diff(G(x),x);
4
e−x sin e−4 x + 3 x 2 + 1 sin x 3 + x
(%o3)
66
4.3. Aplicaciones de la integral Prácticas de Cálculo
Z x2
3
sen t 2 dt
0
Ejemplo 4.2 Calcule lim
x→0− 3x 5
SOLUCIÓN
0
Es una indeterminación del tipo 0 . Vamos a resolverlo aplicado L’Hôpital:
(%i1)
f(x):=’integrate(sin(t^(3/2)),t,0,x^2);
Z x2
3
(%o1) f (x) := sin t 2 dt
0
(%i2)
define(h(x),diff(f(x),x)/diff(3*x^5,x));
2 sin x 2 |x|
(%o2) h (x) :=
15 x 3
(%i3)
limit(h(x),x,0,minus);
2
(%o3) −
15
• Así que debemos quitarlo de la integral ¿cómo? pues calculando los sub-intervalos
en los que f es positiva y los sub-intervalos en que es negativa.
67
4.3. Aplicaciones de la integral Prácticas de Cálculo
Zb
NOTA: Otra opción para calcular |f (x)| dx es usar el comando:
a
Ejemplo 4.3 Hallar el área comprendida entre el eje horizontal y la gráfica de la función:
8 x 3 + 6 x 2 − 17 x + 6 ; x ∈ [−4, 4]
SOLUCIÓN
(%i1)
f(x):=8*x^3+6*x^2-17*x+6;
Dibujamos la función:
(%i2)
wxplot2d([f(x)], [x,-4,4],
[plot_format, gnuplot])$
(%t2)
Parece que hay sólo 2 raíces, una de ellas doble pues parece que la gráfica es tangente
en la de la derecha. Sigamos investigando:
(%i3)
solve([f(x)], [x]);
1 3
(%o3) [x = −2, x = ,x = ]
2 4
Pues no, había tres raíces. Vamos a hacer un "zoom" para más de cerca la zona
conflictiva:
68
4.3. Aplicaciones de la integral Prácticas de Cálculo
(%i4)
wxplot2d([f(x)], [x,0,1],
[plot_format, gnuplot])$;
(%t4)
1 3
Ahora sí se ve claro. La función es negativa en [−4, −2) y en 2, 4 y positiva en
−2, 12 y en 34 , 4 . Así que el área será:
(%i10)
51975
(%o10)
64
Claro está que podíamos ahorrar mucho trabajo (pero sería menos instructivo) con:
(%i1)
load(abs_integrate);
(%i2)
integrate(abs(8*x^3+6*x^2-17*x+6),x,-4,4);
51975
(%o2)
64
y = x2 (x − 1)2 + y 2 = 1
SOLUCIÓN
69
4.3. Aplicaciones de la integral Prácticas de Cálculo
(%i1)
load(draw);
(%o1) d :
/ARCHIV 1/MAXIMA 1.1/shar e/maxima/5.21.1/shar e/dr aw/dr aw.lisp
(%i2)
wxdraw2d(
xaxis=true,yaxis=true,
color=blue,
explicit(x^2,x,-3,3),
color=red,
implicit((x-1)^2+y^2=1,x,-3,3,y,-3,3),
xrange=[-3,3],yrange=[-3,3],
user_preamble="set size ratio 1"
);
(%t2)
(%o2) [gr2d explicit, implicit ]
(%i3)
solve([(x-1)^2+y^2=1,y=x^2],[x,y]);
√ √ √
7i + 1 7i − 3 7i − 1
(%o3) [[x = 1, y = 1], [x = − ,y = ], [x = ,y =
√ 2 2 2
7i + 3
− ], [x = 0, y = 0]]
2
Obviamente, sólo nos quedamos con las reales: (0, 0) y (1, 1) . Despejemos ahora la y
en la circunferencia:
70
4.3. Aplicaciones de la integral Prácticas de Cálculo
(%i4)
solve([(x-1)^2+y^2=1],[y]);
p p
(%o4) [y = − 2 x − x 2 , y = 2 x − x 2 ]
√
La que nos interesa a nosotros es la de la parte de arriba, o sea; y = 2 x − x 2 . Ahora
está claro que debemos integrar, entre 0 y 1 la parte superior de la circunferencia
menos la parábola:
(%i5)
integrate(sqrt(2*x-x^2)-x^2, x, 0, 1);
3π − 4
(%o5)
12
2 x+3
x e si x < 2
Z3
5 si x = 2
Ejemplo 4.5 Sea la función f (x) = Calcule f (x) dx
√ 2x
0
si x > 2
5 + 3x 2
SOLUCIÓN
Como ya habíamos apuntado en alguna ocasión, lo mejor es tener en cuanta los trozos
por nuestra cuenta:
Z3 Z2 Z3
2x
f (x) dx = x 2 ex+3 dx + √
0 0 2 5 + 3x 2
(%i2)
(%i3)
ratsimp(%);
3 17
18 e5 − 18 e3 − 2 · 17 2 + 2 2
(%o3)
9
NOTA: ¿Y qué ocurre con el punto x = 2 ? Pues ese no influye para nada en la integral.
o
Es conocido que si en una función alteramos su valor en un n finito de puntos (e
o
incluso un n infinito numerable), no se altera el valor de su integral definida.
71
4.3. Aplicaciones de la integral Prácticas de Cálculo
SOLUCIÓN
(%i1)
f(x):=1-log(cos(x));
(%i2)
diff(f(x),x);
sin (x)
(%o2)
cos (x)
(%i3)
trigreduce(%);
(%i4)
integrate(sqrt(1+(tan(x))^2), x, 0, %pi/4);
Si tenemos una función continua f : [a, b] −→ R el volumen que genera cuando gira
360o alrededor del eje horizontal, viene dado por la integral:
Zb
π f (x)2 dx
a
El trabajo con Maxima se reduce a calcular la integral que aparece.
NOTA: Si el giro es alrededor del eje OY y la parte de gráfica que gira está en el primer
cuadrante, el volumen se puede calcular por la fórmula:
Zb
2π x f (x) dx
a
72
4.3. Aplicaciones de la integral Prácticas de Cálculo
El trabajo con Maxima se reduce a calcular la integral que aparece. Pero aquí hay que
hacer un estudio del signo de f , pues aparece un valor absoluto en la integral.
NOTA: Si lo que gira es una región limitada por dos curvas, tanto en el volumen como
en el área, debemos considerar la diferencia de los volúmenes o la suma áreas que
genera cada función.
Ejemplo 4.7 Calcule el área de la superficie y el volumen del toro que genera la
circunferencia (x − 4)2 + y 2 = 1 al girar 360o sobre OX.
SOLUCIÓN
Si nos fijamos, son dos funciones las que giran: la de la parte de arriba y la de abajo:
(%i1)
solve(x^2+(y-4)^2=1,y);
p p
(%o1) [y = 4 − 1 − x 2 , y = 4 + 1 − x 2 ]
73
4.4. Integrales impropias Prácticas de Cálculo
(%i2)
f(x):=sqrt(1-x^2)+4;
p
(%o2) f (x) := 1 − x 2 + 4
(%i3)
g(x):=4-sqrt(1-x^2);
p
(%o3) g (x) := 4 − 1 − x 2
(%i4)
(%o4) 16 π 2
(%i5)
2 (6 π + 50) 2 (6 π − 50)
(%o5) π +
3 3
(%i6)
ratsimp(%);
(%o6) 8 π 2
La integral de Riemann exige, entre otras cosas, que la función sea acotada en su
intervalo de integración, que también debe ser acotado. Hay otras integrales que no
cumplen este requisito: las integrales impropias. Básicamente son de tres tipos:
74
4.4. Integrales impropias Prácticas de Cálculo
a
Ejemplo 4.8 Vamos a estudiar con Maxima las llamadas p-integrales de 2 especie:
Zb Z b−
1 1
dx dx
a+ (x − a)p a (b − x)p
SOLUCIÓN
(%i1)
intanalysis:false;
(%o1) f alse
75
4.4. Integrales impropias Prácticas de Cálculo
(%i2)
integrate(1/(x-a)^p, x, a, b);
(%i3)
integrate(1/(x-a)^p, x, a, b);
(%i4)
integrate(1/(x-a)^p, x, a, b);
Z b−
1
ñ Al mismo resultado llegaríamos con dx
a (b − x)p
Z +∞
1
ñ Veamos ahora las p-integrales infinitas: p
dx con a > 0
a x
(%i7)
assume(a>0);
(%o7) [a > 0]
(%i8)
integrate(1/x^p, x, a, inf);
76
4.4. Integrales impropias Prácticas de Cálculo
(%i9)
integrate(1/x^p, x, a, inf);
(%i10)
integrate(1/x^p, x, a, inf);
Ze
dx
Ejemplo 4.9 Estudie la convergencia de la integral: p
3
y calcule su valor en
1 x log(x)
caso de ser convergente
SOLUCIÓN
Es una integral impropia de segunda especie, con punto impropio en el límite inferior
(%i4)
f(x):=1/(x*(log(x))^(1/3));
1
(%o4) f (x) := 1
x log (x) 3
(%i5)
integrate(f(x), x, 1, %e);
3
(%o5)
2
3
Luego es convergente a
2
Z1
log(x)
Ejemplo 4.10 Estudie la convergencia de la integral: y calcule su valor en
0 1 − x2
caso de ser convergente.
77
4.4. Integrales impropias Prácticas de Cálculo
a
sol Es una integral de 3 especie, pues tiene puntos impropios en 0 y en 1 . Pongámosla
a
como suma de dos de 2 especie:
Z1 Z 1/2 Z1
log(x) log(x) log(x)
= +
0 1 − x2 0 1 − x2 1/2 1 − x2
1
El punto intermedio elegido para separarlas x = 2 podría ser cualquier otro. El
resultado es independiente de ese punto. Ahora calculamos con Maxima ambas
integrales:
(%i1)
f(x):=log(x)/(1-x^2);
log (x)
(%o1) f (x) :=
1 − x2
(%i2)
integrate(f(x), x, 0, 1/2);
Ante este extraño resultado, probemos con la integración numérica. Activamos la casilla
"Integración numérica":
(%i3)
quad_qags(f(x), x, 0, 0.5);
(%i4)
Así que ambas integrales convergen. El valor aproximado de la integral propuesta será:
78
4.5. Ejercicios Prácticas de Cálculo
4.5 Ejercicios
a) y = x 4 + x 3 + 16x − 4 y = x 4 + 6x 2 + 8x − 4.
b) y = sec2 (x) , y = tg 2 (x) , −π /4 ≤ x ≤ π /4 .
Z x 2 +1
3) Calcule la derivada de la función f (x) = √ sen(t) dt.
x
Z (2x−7)2
4) Estudie los extremos relativos de la función f (x) = (t 3 − 2t) dt
0
5) Calcule:
2
a) área limitada por y = xe−x , el eje OX, la ordenada en el punto x = 0 y la
ordenada en el máximo.
b) Calcule de forma exacta y aproximada el área y el perímetro de la región limitada
por las dos parábolas: y = x 2 + x + 1 ; y = −2x 2 − 2x + 1
c) área de la figura limitada por la curva y = x 3 − x 2 y el eje OX.
d) área comprendida entre la curva y = tg(x) , el eje OX y la recta x = π /3 .
e) área del recinto limitado por las rectas x = 0 , x = 1 , y = 0 y la gráfica de la
1
función f : R → R definida por f (x) =
(1 + x 2 )2
f) las dos áreas en los que la función f (x) = |x| − x sen(x)ex divide a la bola
unidad x 2 + y 2 = 1 .
79
4.5. Ejercicios Prácticas de Cálculo
10) Calcule:
1
a) La integral de f (x) = con x ∈ [1, +∞] .
x2
b) El volumen y la superficie lateral del sólido obtenido al girar la gráfica de la
anterior función respecto del eje OX.
1
c) Idem a los dos anteriores con g(x) = con x ∈ [1, +∞] .
x
2 + x2
11) Calcule el área encerrada por la gráfica de f (x) := y su asíntota
1 + 4x 2
horizontal.
14) Considere las funciones f (x) = x2 + sen x y g(x) = 3x 1/4 . Compruebe que
g(10) − f (10) > 0 y g(13) − f (13) < 0 y utilizarlo para calcular (de modo aproximado
con find_root) el corte de las gráficas de f y g situado en el intervalo [10,13]. Calcule el
volumen de revolución obtenido al girar al rededor del eje OX la región limitada por las
gráficas de f y g .
15) Analice la convergencia de las siguientes integrales impropias. Calcule sus valores
aproximados en caso de convergencia.
Z1 Z1 π
dx dx x dx
Z
2
a) 1 b) 1 c)
0 (x + x 2 ) 2 0 (x − x 2 ) 2 0 1 − x3
Z1 Z1 Z1
ln x ln x x
d) √ dx e) dx f) 1 dx
0 x 0 1 − x2 0 (1 − x 3 ) 2
√
1 + x2 x
16) Calcule lim Z x lim Z x πt
x→∞ x→+∞ 1
arctg (t 2 ) dt tg dt
0 1 t 2t + 1
80
Práctica 5
5.1 Sucesiones
o
Una sucesión es un conjunto ordenado de infinitos números reales. A cada n natural n
se le asocia un único número real an , que será una expresión dependiente de n. O sea
que podemos considerar que es una aplicación de N en R .
ñ Una sucesión se suele representar como { an }.
ñ Maxima calcula límites de sucesiones de igual forma que si fueran funciones. Hay
que considerar que siempre la variable n → ∞.
ñ Para sucesiones podemos aplicar, si fuera necesario, el Teorema de Stolz:
an
Teorema 5.1 (Stolz) Supongamos un límite del tipo lim en que { bn } es
n→∞ bn
monótona divergente. Entonces:
an+1 − an a
lim = λ =⇒ lim n = λ
n→∞ bn+1 − bn n→∞ b
n
81
5.1. Sucesiones Prácticas de Cálculo
SOLUCIÓN
Apartado a)
(%i1)
(%i2)
b(n):=n^2;
(%o2) b (n) := n2
(%i4)
limit(a(n)/b(n),n,inf);
Pn
a 2
k=1 sin k k
(%o4) lim
n→∞ n2
Directamente no sale. Vamos a aplicar el criterio de Stolz:
(%i5)
(a(n+1)-a(n))/(b(n+1)-b(n));
P P
n+1 a 2 − n sin a k2
k=1 sin k k k=1 k
(%o5) 2
(n + 1) − n 2
(%i6)
sumcontract(intosum(num(%o5)));
a
2
(%o6) (n + 1) sin
n+1
82
5.1. Sucesiones Prácticas de Cálculo
(%i7)
%/(b(n+1)-b(n));
a
(n + 1)2 sin n+1
(%o7)
(n + 1)2 − n2
(%i8)
limit(%,n,inf);
a
(%o8)
2
Apartado b)
(%i1)
limit((cos(2/n)+sin(2/n))^n, n, inf);
(%o1) e2
Apartado c)
(%i1)
n*(%e^(1/n)-%e^sin(1/n))/(1-n*sin(1/n));
1 1
n e n − esin( n )
(%o1)
1 − sin n1 n
(%i2)
limit(%, n, inf);
(%o2) 1
Apartado d)
(%i1)
(%i2)
83
5.1. Sucesiones Prácticas de Cálculo
b(n):=log(n);
(%i3)
a(n+1)-a(n);
n+
X1 n
π X π
(%o3) sin − sin
k=1
k k=1
k
(%i4)
sumcontract(intosum(%));
π
(%o4) sin
n+1
(%i5)
(%o4)/(b(n+1)-b(n));
π
sin n
(%o5)
log (n + 1) − log (n)
(%i6)
limit(%, n, inf);
(%o6) π
Son sucesiones en que cada término está definido en función de términos anteriores.
Necesitamos conocer explícitamente alguno de los primeros términos. Por ejemplo:
an + an+1
a1 = 2 ; a2 = 3 ; an+2 =
2
Cada término, es la media aritmética de los dos anteriores. Para obtener xn de forma
explícita tenemos los comandos:
84
5.2. Series Prácticas de Cálculo
an + an+1
a1 = 2 ; a2 = 3 ; an+2 = y calcule el octavo término, así como su límite.
2
SOLUCIÓN
(%i1)
load(solve_rec);
(%i2)
solve_rec(x[n+2]=(x[n]+x[n+1])/2,x[n],x[1]=1,x[2]=2);
22−n (−1)n 5
(%o2) xn = +
3 3
(%i3)
%,n=8;
107
(%o3) x8 =
64
(%i4)
limit(x[n], n, inf);
5
(%o4)
3
5.2 Series
Una serie no es más que una sucesión { sn } que se forma a partir de otra sucesión
{ an } de la forma siguiente:
s1 = a1 ; s2 = a1 + a2 , s3 = a1 + a2 + a3 ; · · · , sn = a1 + a2 + a3 + · · · an
∞
P
Al límite lim sn lo representamos por an . Si tal límite es un valor finito, diremos
n→∞ n=1
que la serie converge. En caso contrario, la serie diverge.
∞
P ∞
P
ñ La serie an se dice que es absolutamente convergente cuando |an | converge.
n=1 n=1
La convergencia absoluta implica la convergencia normal.
ñ Una condición necesaria, pero no suficiente, para que una serie converja es que
lim an = 0
n→∞
85
5.2. Series Prácticas de Cálculo
Son tests para saber si una serie converge absolutamente o no. Pero no nos dan el valor
de la suma. Los más usuales son:
∞
P
ñ Criterio de comparación: Si tenemos dos series, de términos positivos an y
n=1
∞ a
y calculamos el límite lim n = λ resulta:
P
bn
n=1 n→∞ b
n
∞ ∞ ∞
1 1 (2n − 1)2n
ncos n −2
P P P
d) e) f)
n=1 n=2 (ln n)n n=1 (n + 1)
2n
86
5.2. Series Prácticas de Cálculo
SOLUCIÓN
(%i1)
a(n):=(n+1)/((n+2)*n!);
n+1
(%o1) a (n) :=
(n + 2) n!
(%i2)
factorial_expand:true;
(%o2) tr ue
(%i3)
a(n+1)/a(n);
(n + 2)2
(%o3)
(n + 1)2 (n + 3)
(%i4)
limit(%, n, inf);
(%o4) 0
∞
P 1
b) Comparamos por cociente con la p-serie: (que diverge, al ser p=1):
n=1 n
(%i1)
sin(1/n)/(1/n);
1
(%o1) sin n
n
(%i2)
limit(%, n, inf);
(%o2) 1
∞
P 1
c) Comparamos por cociente con la p-serie: (que diverge, al ser p=1):
n=1 n
(%i1)
87
5.2. Series Prácticas de Cálculo
sin(1/sqrt(n)*log(n))/(1/n);
log (n)
(%o1) n sin √
n
(%i2)
limit(%, n, inf);
(%o2) ∞
(%i1)
-log(n^(cos(1/n)-2))/log(n);
1
(%o1) 2 − cos
n
(%i2)
limit(%, n, inf);
(%o2) 1
∞
P 1
Nos sale el caso dudoso. Entonces vamos a comparar por cociente con
n=1 n
(%i1)
(n^(cos(1/n)-2))/(1/n);
1
(%o1) ncos( n )−1
(%i2)
limit(%, n, inf);
(%o2) 1
(%i1)
1/(log(n))^n;
1
(%o1)
log (n)n
88
5.2. Series Prácticas de Cálculo
(%i2)
limit(%^(1/n), n, inf);
(%o2) 0
(%i1)
((2*n-1)^(2*n))/((n+1)^(2*n));
(2 n − 1)2 n
(%o1)
(n + 1)2 n
(%i2)
limit((%)^(1/n), n, inf);
(%o2) 4
∞
λn con λ ∈ R ;
P
ñ Series geométricas: |λ| < 1
n=0
∞
P (n) λn con λ ∈ R ;
P
ñ Series aritmético-geométricas: |λ| < 1 siendo P (n)
n=0
un polinomio.
∞
P 1
ñ p-series: del tipo np con p ∈ N ; p > 1
n=1
ñ Series telescópicas: dedicamos más adelante una subsección para las mismas.
89
5.2. Series Prácticas de Cálculo
Podemos acceder a los comandos sum y nusum desde el menú de wxmaxima, yendo a
Análisis–>Calcular suma
90
5.2. Series Prácticas de Cálculo
∞
P n2 − n + 2
a)
n=0 n!
∞
P n2
b)
n=0 3n
∞
P 5
c) 4
n=1 n
∞
P (−1)n+1
d)
n=1 n
SOLUCIÓN
(%i1)
load(simplify_sum);
(%i2)
(%i3)
simplify_sum(%);
(%o3) 3 e
(%i4)
(%i5)
simplify_sum(%);
3
(%o5)
2
91
5.2. Series Prácticas de Cálculo
(%i6)
π4
(%o6)
18
(%i7)
(%i8)
simplify_sum(%);
ñ Son series sumables que Maxima no consigue sumar directamente. Son del tipo
∞
P
(bn+m − bn ). En general, las descomponemos en diferencia de dos series finitas
n=1
k+m
P k
P
bn − bn y luego aplicamos los comandos:
n=1+m n=1
ñ Con lo anterior, lo que hacemos es conseguir la suma parcial k-ésima. Por último
hallamos el límite para k → ∞
∞
1 1
√
P
Ejercicio 5.5 Calcule −√
n=1 n+3 n
92
5.2. Series Prácticas de Cálculo
SOLUCIÓN
ñ Con lo anterior, lo que hacemos es conseguir la suma parcial k-ésima. Por último
hallamos el límite para k → ∞
(%i1)
k
X 1 1
(%o1) √ −√
n=1
n+3 n
Lo ponemos así:
(%i2)
(%i3)
sumcontract(intosum(%));
1 1 1 1 1
(%o3) √ +√ +√ − √ − √ −1
k+3 k+2 k+1 3 2
(%i4)
limit(%, k, inf);
√ √ √
2+1 3+ 2
(%o4) − √ √
2 3
∞ ∞
(−1)n an o bien (−1)n+1 an donde cada an > 0. Para ver si
P P
Son series del tipo
n=1 n=1
convergen absolutamente, podemos aplicar cualquiera de los criterios vistos. Pero para
la convergencia ordinaria (a veces convergen pero no absolutamente), tenemos el
Teorema de Leibniz:
∞ √
P n n
Ejercicio 5.6 Estudie la convergencia y convergencia absoluta de (−1)
n=1 n + 100
93
5.2. Series Prácticas de Cálculo
SOLUCIÓN
∞ √
P n
Para la convergencia absoluta, habrá que estudiar la serie . Si la
n=1 n + 100
∞
P 1 1
comparamos por cociente con la serie √ (que diverge pues p = 2 < 1 ) obtenemos:
n=1 n
(%i1)
(sqrt(n)/(n+100))/(1/sqrt(n));
n
(%o1)
n + 100
(%i2)
limit(%, n, inf);
(%o2) 1
(%i1)
sqrt(n)/(n+100);
√
n
(%o1)
n + 100
(%i2)
limit(%, n, inf);
(%o2) 0
(%i1)
sqrt(x)/(x+100);
√
x
(%o1)
x + 100
(%i2)
diff(%,x);
√
1 x
(%o2) √ −
2 x (x + 100) (x + 100)2
(%i3)
ratsimp(%);
94
5.3. Series de potencias Prácticas de Cálculo
x − 100
(%o3) −√
x (2 x 2 + 400 x + 20000)
Vemos que si x > 100 la derivada es negativa y será monótona decreciente. Luego
también lo será con variable natural para n > 100 y la serie alternada será convergente
por el T. de Leibniz.
a0 + a1 (x − a) + a2 (x − a)2 + · · · + an (x − a)n + · · ·
donde an ∈ R ; a ∈ R
ñ Como vemos, sus términos son funciones del tipo potencial de la variable x y
∞
an (x − a)n . Habitualmente, se toma
P
podemos expresarlas con un sumatorio:
n=0
a = 0.
ñ La convergencia de una serie de potencias, dependerá del punto x que tomemos,
cobrando gran importancia el llamado radio de convergencia de la serie, r , pudiendo
demostrase que la serie:
95
5.4. Desarrollo de una función en series de potencias. Series de Taylor Prácticas de Cálculo
1 a
Se puede calcular mediante r = o también r = lim n
q
n n→∞ a
lim |an | n+1
n→∞
∞
X f n) (a)
T (f , a, x) = (x − a)n =
n=0
n !
f 00 (a) f n) (a)
= f (a) + f 0 (a)(x − a) + (x − a)2 + · · · + (x − a)n + · · ·
2! n!
ñ No siempre se cumple f (x) = T (f , a, x) , pero en caso de sea así, sólo podrá serlo
en el intervalo de convergencia I de la serie, suponiendo que éste esté incluido en ID.
Entonces se dice que f es desarrollable en serie de potencias en I . Se puede
demostrar, además, que no existe otra serie de potencias, distinta a la de Taylor, que
sea igual a f en I.
Con Maxima, podemos obtener la serie de Taylor de una función, aunque el radio de
convergencia tendremos que calcularlo aparte. Para ello, tenemos los comandos:
96
5.4. Desarrollo de una función en series de potencias. Series de Taylor Prácticas de Cálculo
Ejercicio 5.7 Hallar el radio de convergencia de las series que tienen de coeficientes el
siguiente término general:
!
n2 − n + 3 n3 + 1 1
a) an = n b) an = ln c) an =
3 + 2−n + n − 1 n3 + 2n2 − 3 2n −n
n! 1
d) an = n e) an =
n ln(n)2
SOLUCIÓN
Apartado a)
(%i2)
a(n):=(n^2-n+3)/(3^(n)+2^(-n)+n-1);
n2 − n + 3
(%o2) a (n) :=
3n + 2−n + n − 1
(%i3)
a(n)/a(n+1);
n2 − n + 3 3n+1 + 2−n−1 + n
(%o3)
1
(n + 1)2 − n + 2 3n + 2n + n − 1
(%i4)
ratsimp(%);
6 n2 − 6 n + 18 2n 3n + 2 n3 − 2 n2 + 6 n 2n + n2 − n + 3
(%o4)
(2 n2 + 2 n + 6) 2n 3n + (2 n3 + 4 n − 6) 2n + 2 n2 + 2 n + 6
(%i5)
limit(%, n, inf);
97
5.4. Desarrollo de una función en series de potencias. Series de Taylor Prácticas de Cálculo
(%o5) 3
Apartado b)
(%i1)
a(n):=log((n^3+1)/(n^3+2*n^2-3));
!
n3 + 1
(%o1) a (n) := log
n3 + 2 n2 − 3
(%i2)
a(n)/a(n+1);
n3 +1
log n3 +2 n2 −3
(%o2)
(n+1)3 +1
log (n+1)3 +2 (n+1)2 −3
(%i3)
limit(%, n, inf);
(%o3) 1
Apartado c)
(%i1)
a(n):=1/(2^n-n);
1
(%o1) a (n) :=
2n − n
(%i2)
a(n)/a(n+1);
2n+1 − n − 1
(%o2)
2n − n
(%i3)
limit(%, n, inf);
(%o3) 2
Apartado d)
(%i1)
a(n):=n!/n^n;
98
5.4. Desarrollo de una función en series de potencias. Series de Taylor Prácticas de Cálculo
n!
(%o1) a (n) :=
nn
(%i2)
a(n)/a(n+1);
(n + 1)n+1 n!
(%o2)
nn (n + 1)!
(%i3)
limit(%, n, inf);
(%o3) e
Apartado e)
(%i1)
a(n):=1/(log(n))^2;
1
(%o1) a (n) :=
log (n)2
(%i2)
a(n)/a(n+1);
log (n + 1)2
(%o2)
log (n)2
(%i3)
limit(%, n, inf);
(%o3) 1
log(1 − x) 2x − 5
d) , a = 0, e) f(x)= sen2 (x), a = 0, f) f (x) = , a = 0,
1−x x2 − 5x + 6
SOLUCIÓN
Apartado a)
(%i1)
niceindicespref:[n];
99
5.4. Desarrollo de una función en series de potencias. Series de Taylor Prácticas de Cálculo
(%o1) [n]
(%i2)
powerseries(cos(x^2),x,0);
∞
X (−1)i1 x 4 i1
(%o2)
i1=0
(2 i1)!
(%i3)
niceindices(%);
∞
X (−1)n x 4 n
(%o3)
n=0
(2 n)!
Apartado b)
(%i1)
niceindicespref:[n];
(%o1) [n]
(%i2)
powerseries(log(5+x^2),x,0);
∞
X 5−i1−1 (−1)i1 x 2 i1+2
(%o2) 2
i1=0
2 i1 + 2
(%i3)
niceindices(%);
∞
X 5−n−1 (−1)n x 2 n+2
(%o3) 2
n=0
2n + 2
(%i4)
ratsimp(%);
∞
X (−1)n x 2 n+2
(%o4) 2
n=0
(10 n + 10) 5n
Apartado c)
(%i1)
niceindicespref:[n];
(%o1) [n]
100
5.4. Desarrollo de una función en series de potencias. Series de Taylor Prácticas de Cálculo
(%i2)
powerseries(log(5+x^2),x,1);
∞ √ −i1−1 √ −i1−1
X 5i − 1 (x − 1)i1+1 − 5i − 1 (x − 1)i1+1
(%o2) − −
i1=0
i1 + 1 i1 + 1
(%i3)
niceindices(%);
∞ √ −n−1 √ −n−1
X 5i − 1 (x − 1)n+1
− 5i − 1 (x − 1)n+1
(%o3) − − Nos da un
n=0
n+1 n+1
desarrollo con números imaginarios complicado de interpretar. Vamos a sustituirlo por
los 8 primeros términos del polinomio de Taylor:
(%i5)
taylor(log(5+x^2),x,1,8);
(%i1)
niceindicespref:[n,m,k];
(%o1) [n, m, k]
(%i2)
powerseries((log(1-x))/(1-x),x,0);
∞ ∞
X X x i1
(%o2) − x i1
i1=0 i1=1
i1
(%i3)
niceindices(%);
∞ ∞
X X xn
(%o3) − xn Nos da el producto de dos series de potencias. Vamos a
n=0 n=1
n
emplear el producto de Cauchy para anidar los sumatorios:
(%i4)
sumexpand: true;
(%o4) tr ue
101
5.4. Desarrollo de una función en series de potencias. Series de Taylor Prácticas de Cálculo
(%i5)
cauchysum: true;
(%o5) tr ue
(%i6)
s:%o2;
∞ ∞
X X x i1
(%o6) − x i1
i1=0 i1=1
i1
(%i7)
’’s;
∞ iX
2−1
X x i2
(%o7) −
i2=1 i3=0
i2 − i3
(%i8)
niceindices(%);
∞ m−
X1
X 1
(%o8) − xm
m=1 n=0
m−n
Apartado e)
(%i1)
niceindicespref:[n];
(%o1) [n]
(%i2)
powerseries((sin(x))^2,x,0);
P∞ (−1)i1 22 i1 x 2 i1
i1=0 (2 i1)! −1
(%o2) −
2
(%i3)
niceindices(%);
(−1)n 22 n x 2 n
!
P∞
n=0 −1
(2 n)!
(%o3) −
2
Apartado f)
102
5.4. Desarrollo de una función en series de potencias. Series de Taylor Prácticas de Cálculo
(%i1)
niceindicespref:[n];
(%o1) [n]
(%i2)
powerseries((2*x-5)/(x^2-5*x+6),x,0);
∞
X
(%o2) −3−i1−1 − 2−i1−1 x i1
i1=0
(%i3)
niceindices(%);
∞
X
−3−n−1 − 2−n−1 x n
(%o3)
n=0
103
5.5. Ejercicios Prácticas de Cálculo
5.5 Ejercicios
p
1) Defina una sucesión recurrente tal como se indica: s[1] : 1 ; s[n] := 1 + s[n − 1]
1 3 2n+1 + 3n+1
a) lim (3 + 6 + · · · + 3n) Sol: b) lim ) Sol: 3
n→∞ n 2 2 n→∞ 2n + 3n
√ √ √ 1 p 1
c) lim n+1− n n+1 Sol: d) lim n2 + n − n Sol :
n→∞ 2 n→∞ 2
√ √ √
n+a− n+b b−a 2+n−1 √
e) lim √ √ Sol : f) lim √ Sol: 2
n→∞ n+c− n+d d−c n→∞ n
1
3) Con el paquete load(solve_rec) resuelva la ecuación: x1 = 1 ; xn+1 = 1 +
xn
¿sería capaz de hallar su límite? Sug.: una vez resuelta, halle el límite de los
términos pares y luego , el de los impares ¿qué número aparece como límite?
bn
4) Para cada n > 1 , se define bn = 3 bn−1 − 2 ; b1 = 5. . Calcule: lim
n→∞ 3n
∞ ∞
2 n
2n senn x √ senn x
P P
y ?
n=1 n=1 3
104
5.5. Ejercicios Prácticas de Cálculo
p (x) = x 3 − 8x 2 + 5x + 3
105
106
Práctica 6
(%i4)
f(x,y,z):=cos(x*y)+%e^x*z;
(%o4) f x, y, z := cos x y + ex z
(%i5)
f(x,y):=[x*y,x^2+y^2,sin(x*y)];
(%o5) f x, y := [x y, x 2 + y 2 , sin x y ]
(%i6)
f(2,3);
107
6.1. Funciones de varias variable Prácticas de Cálculo
(%i8)
f(x,y)[2];
(%o8) y 2 + x2
Al igual que para una variable, tenemos dos opciones: polt3d, accesible desde el menú
Gráficos–>Gráficos 3Do la carga del paquete draw y usar el comando draw3d. Para el
plot3d, tenemos los comandos:
108
6.1. Funciones de varias variable Prácticas de Cálculo
ñ Otra opción es [grid, 12, 80], que controla el mallado de la gráfica. Para
enterarse de más opciones, consulte la ayuda del maxima.
Ejemplo 6.1
(%i1)
f(x,y):=y*(x^2-y^2)/(x^2+y^2);
y x2 − y 2
(%o1) f x, y :=
x2 + y 2
(%i2)
wxplot3d(f(x,y),[x,-1,1],[y,-1,1]);
(%t2)
(%o2)
ñ surface_hide
ñ contour
Entre las opciones tenemos, entre otras muchas: ñ contour_levels
ñ color
ñ line_width ñ user_preamble
109
6.1. Funciones de varias variable Prácticas de Cálculo
• both: se dibujan dos conjuntos de líneas de nivel: sobre la superficie y las que
se proyectan sobre el plano xy.
• map: las líneas de nivel se proyectan sobre el plano xy y el punto de vista del
observador se coloca perpendicularmente a él.
ñ user_preamble Aquí el valor más interesante es "set size ratio 1" para que las
unidades iguales en cada eje.
ñ En cuanto a color y line_width ya sabemos su significado, pues es el mismo que
para 2d.
•
explicit(función,variable1,minval1,maxval1,variable2,minval2,maxval2)
• parametric_surface
(xfun,yfun,zfun,par1,par1min,par1max,par2,par2min,par2max) para
superficies en paramétricas.
Ejemplo 6.2
(%i1)
f(x,y):=1-(x^2+y^2);
(%o1) f x, y := 1 − x 2 + y 2
110
6.2. Límites y continuidad Prácticas de Cálculo
(%i2)
load(draw);
(%i3)
wxdraw3d(enhanced3d=false,
color=blue,
contour=base,
contour_levels=10,
user_preamble="set size ratio 1",
explicit(f(x,y),x,-10,10,y,-10,10));
(%to3)
(%o3) [gr3d explicit ]
6.2.1 Límites
ñ Para el caso de límites, nos limitaremos a funciones reales de dos variables. Puesto
que las funciones elementales son continuas en sus dominios, en general para hallar un
límite sustituimos las variables por los valores a los que tiende. El problema está
cuando nos encontremos un caso de indeterminación tipo 00 .
111
6.3. Derivadas parciales Prácticas de Cálculo
6.2.2 Continuidad
Como ya dijimos las funciones elementales, que son las que mayormente manejaremos,
son continuas en sus dominios. Sólo en casos de funciones definidas a trozos
tendremos que comprobar si lim f (x) = f (a) donde x, a ∈ Rn y es a un punto de la
x→a
frontera de los dominios de dos trozos diferentes. Para calcular el límite, posiblemente
tengamos que usar las técnicas descritas anteriormente.
112
6.3. Derivadas parciales Prácticas de Cálculo
∂f (x, y, z)
− 3 z2 cos (x z) :
Para calcular siendo f (x, y, z) = x cos x y z
∂x 2 ∂y∂z2
(%i1)
f(x,y,z):=x*cos(x*y*z)-3*z^2*cos(x*z);
(%i3)
diff(f(x,y,z),x,2,y,1,z,2);
12 x y cos x y z
113
6.3. Derivadas parciales Prácticas de Cálculo
SOLUCIÓN
(%i1)
f(x,y):=sin(x^2+y^2)/(x^2+y^2);
sin x 2 + y 2
(%o1) f x, y :=
x2 + y 2
(%i2)
wxdraw3d(surface_hide=true,contour=both,explicit(f(x,y),x,-1,1,y,-1,1));
(%2)
(%o2) [gr3d explicit ]
(%i3)
f(x,m*x);
sin m2 x 2 + x 2
(%o3)
m2 x 2 + x 2
(%i4)
limit(f(x,m*x),x,0);
(%o4) 1
114
6.3. Derivadas parciales Prácticas de Cálculo
(%i5)
abs(f(r*cos(t),r*sin(t))-1);
sin r 2 sin (t)2 + r 2 cos (t)2
(%o6) 2 2 − 1
r 2 sin (t) + r 2 cos (t)
(%i7)
z:trigsimp(%o80);
sin r 2 − r 2
(%o7)
r2
(%i8)
limit(z,r,0);
(%o8) 0
Derivadas parciales:
(%i9)
(f(h,0)-1)/h;
sin(h2 )
h2 −1
(%o9)
h
(%i10)
(f(0,k)-1)/k;
sin(k2 )
k2 −1
(%o10)
k
(%i11)
limit((f(h,0)-1)/h,h,0);
(%o11) 0
(%i12)
limit((f(0,k)-1)/k,k,0);
(%o12) 0
115
6.3. Derivadas parciales Prácticas de Cálculo
SOLUCIÓN
(%i1)
f(x,m*x);
m2 x 3
(%o1)
m4 x 4 + x2
(%i2)
limit(f(x,m*x),x,0);
(%o2) 0
(%i3)
f(r*cos(t),r*sin(t));
(%i4)
limit(f(r*cos(t),r*sin(t)),r,0);
(%o45) 0
(%i46)
f(y^2,y);
1
(%o4)
2
(%i5)
limit(f(y^2,y),y,0);
1
(%o5)
2
Derivadas parciales:
(%i6)
(f(h,0)-0)/h;
(%o6) 0
116
6.4. Derivadas direccionales Prácticas de Cálculo
(%i7)
(f(0,k)-0)/k;
(%o7) 0
(%i8)
limit((f(h,0)-0)/h,h,0);
(%o8) 0
(%i9)
limit((f(0,k)-0)/k,k,0);
(%o9) 0
No es continua, pues los limites radiales y/o direccionales apuntan al candidato 0 pero
el límite según la trayectoria particular nos dió 1/2. Sin embargo sí tiene derivadas
parciales, y valen 0.
f (a + h u) − f (a)
Du f (a) = lim
h→0 h
SOLUCIÓN
(%i1)
f(x,y):=%e^(sin(x*y))-2*x^2;
(%o1) f x, y := esin(x y ) − 2 x 2
(%i2)
a:[-2,1];
(%o2) [−2, 1]
117
6.5. El vector gradiente Prácticas de Cálculo
(%i3)
u:[2,3]/modulo([2,3]);
2 3
(%o3) [√ ,√ ]
13 13
(%i4)
(f((a+h*u)[1],(a+h*u)[2])-f(a[1],a[2]))/h;
2h
√ 3h
√
2
sin −2 +1 2h 1
e 13 13 −2 √
13
−2 − esin(2)
+8
(%o4)
h
(%i5)
(f((a+h*u)[1],(a+h*u)[2])-f(a[1],a[2]))/h;
2h
√ 3h
√
2
sin −2 +1 2h 1
e 13 13 −2 √
13
−2 − esin(2)
+8
(%o5)
h
(%i6)
(tlimit(%,h,0));
√ √
4 13 cos (2) − 16 13 esin(2)
(%o6) −
13 esin(2)
x2 + x y z
Ejercicio 6.4 Halle el vector gradiente de la función f (x, y, z) = p en el
1 + z2 y 4
punto (−2, 1, 3)
SOLUCIÓN
(%i1)
f(x,y,z):=(x^2+x*y*z)/sqrt(1+z^2*y^4);
x2 + x y z
(%o1) f x, y, z := p
1 + z2 y 4
118
6.6. Funciones diferenciables Prácticas de Cálculo
(%i2)
grad(f(x,y,z));
2 y 3 z2 (x y z+x 2 ) y 4 z (x y z+x 2 )
(%o2) √y z+2x
4 2
√ xz
− 3
√ xy
− 3
y z +1 y 4 z 2 +1 y 4 z2 +1
(y 4 z2 +1) 2 (y 4 z2 +1) 2
(%i3)
%,x=-2,y=1,z=3;
− √110 36 √6 6 √2
(%o3) 3 − 10 3 − 10
10 2 10 2
(%i4)
ratsimp(%);
√
(%o4) − √110 − 6 2510 − 5 √710
f (a + h) − f (a) − L(h)
lim =0 (6.1)
h→0 khk
ñ Para que f sea diferenciable en a , la única aplicación lineal L que puede cumplir
(6.1) es:
∂f (a) ∂f (a) ∂f (a)
L(h) = h1 + h2 + · · · + hn = ∇f (a) · h
∂x1 ∂x2 ∂xn
Siendo h = (h1 , h2 , · · · , hn ).
119
6.6. Funciones diferenciables Prácticas de Cálculo
SOLUCIÓN
(%i1)
f(x,y):=%e^x*(x*y^3+3*y);
(%o1) f x, y := ex x y 3 + 3 y
(%i2)
grad(f(x,y));
ex x y 3 + 3 y + ex y 3 ex 3 x y 2 + 3
(%o2)
(%i3)
%,x=0,y=-2;
(%o3) −14 3
(%i4)
define(df(h,k),%.[h,k]);
(%o4) df (h, k) := 3 k − 14 h
Du f (a)) = ∇f (a) · u
SOLUCIÓN
(%i1)
f(x,y):=’%e^(sin(x*y))-2*x^2;
(%o1) f x, y := 0 e ( ) − 2 x 2
sin x y
120
6.7. Plano tangente Prácticas de Cálculo
(%i2)
grad(f(x,y));
y esin(x y ) cos x y − 4 x x esin(x y ) cos x y
(%o2)
(%i3)
%,x=-2,y=1;
cos(2) 2 cos(2)
(%o3) e sin (2 ) + 8 − e sin (2 )
(%i4)
u:[2,3]/modulo([2,3]);
2 3
(%o4) [√ ,√ ]
13 13
(%i5)
Df:%o3.%;
cos(2)
2 esin(2)
+8 6 cos (2)
(%o5) √ −√
13 13 esin(2)
(%i6)
radcan(%);
√ √
4 13 cos (2) − 16 13 esin(2)
(%o6) −
13 esin(2)
∇F (a) · (x − a, y − b, z − c) = 0
121
6.7. Plano tangente Prácticas de Cálculo
SOLUCIÓN
(%i1)
f(x,y):=1-(x^2+y^2);
(%o1) f x, y := 1 − x 2 + y 2
(%i2)
grad(f(x,y));
(%o2) −2 x −2 y
(%i3)
%,x=1,y=1;
(%o3) −2 −2
(%i4)
define(T(x,y),f(1,1)+%o3.[x-1,y-1]);
(%o4) T x, y := −2 y − 1 − 2 (x − 1) − 1
(%i5)
load(draw);
(%o5) d :
/ARCHIV 1/MAXIMA 1.1/shar e/maxima/5.21.1/shar e/dr aw/dr aw.lisp
(%i6)
wxdraw3d(
color=red,
grid = true,
surface_hide= true,
rot_vertical=40,
explicit(f(x,y),x,-2,2,y,-2,2),
color=green,
surface_hide= true,
explicit(T(x,y),x,-0,2,y,0,2),
user_preamble="set size ratio 0.7"
);
122
6.8. Funciones vectoriales Prácticas de Cálculo
(%t6)
(%o6) [gr3d explicit, explicit ]
123
6.8. Funciones vectoriales Prácticas de Cálculo
SOLUCIÓN
(%i1)
f(x,y):=[x*cos(y)/(5+y^2),2*%e^(x+y),x^2*y/(3+x^2*y^2)];
x2 y
x cos y
x+y
(%o1) f x, y := [ , 2 e , ]
5 + y2 3 + x2 y 2
Derivadas parciales:
(%i2)
diff(f(x,y),x);
2 x3 y 3
cos y 2xy
(%o2) [ 2 , 2 ey+x , 2 2 − 2 ]
y +5 x y +3 x2 y 2 + 3
(%i3)
diff(f(x,y),y);
x2 2 x4 y 2
x sin y 2 x y cos y y+x
(%o3) [− − 2 , 2 e , − 2 ]
y2 + 5 x2 y 2 + 3
y2 + 5 x2 y 2 + 3
Derivadas parciales el punto dado:
(%i4)
%o2,x=-1,y=5;
cos (5) 15
(%o4) [ , 2 e4 , − ]
30 392
(%i5)
%o3,x=-1,y=5;
(%i6)
jacobian(f(x,y),[x,y]);
(%i7)
%,x=-1,y=5;
124
6.8. Funciones vectoriales Prácticas de Cálculo
cos(5) sin(5)
+ cos90(5)
30 30
(%o7) 2 e4 2 e4
15 11
− 392 − 392
(%i8)
define(Df(h,k),%.matrix([h],[k]));
sin(5) cos(5) cos(5) h
+ k +
30 90 30
(%o8) Df (h, k) := 2 e 4 k + 2 e4 h
k 15 h
− 11392 − 392
Derivada direccional:
(%i9)
u:[-2,3]/modulo([-2,3]);
2 3
(%o9) [− √ ,√ ]
13 13
(%i10)
%o7.transpose(%);
sin(5) cos(5)
3 30 + 90 cos√(5)
√ −
13 15 13
(%o10) 2 e4
√
13
3
− 392 √13
(%i11)
ratsimp(%);
3 √13 sin √
(5)− 13 cos(5)
390
2 e4
(%o11)
√
13
3√
− 392 13
125
6.9. Ejercicios Prácticas de Cálculo
6.9 Ejercicios
1 o ) Sea la función:
(x 2 + y 2 ) senp 1
si (x, y) 6= (0, 0)
f (x, y) = x2 + y 2
si (x, y) = (0, 0)
0
a) Probar que existe Du f (0, 0) para cualquier vector unitario u y hallar el valor de
esa derivada direccional.
b) Estudiar la continuidad y diferenciabilidad de f en (0, 0).
c) Hallar la derivada en el punto (1, −2) en la dirección del vector (2, 3).
126
6.9. Ejercicios Prácticas de Cálculo
x 2 −y 2
x−y 2 2 x 2 +y 2
f1 (x, y) = e (x − 2y ) ; f2 (x, y) = xy e
∂f ∂f
a) Hallar, en caso de que existan, las derivadas (1, −2) y (1, −2).
∂x ∂y
b) Estudiar la diferenciabilidad de f en (1, −2).
c) Calcular la derivada direccional de f en el punto (1, −2) , según la dirección y
sentido del vector ( 35 , 54 ).
9 o ) Hallar los planos tangentes a las superficies siguientes, en los puntos indicados:
127
128
Práctica 7
SOLUCIÓN
(%i1)
f(x,y):=[x^4,x*y^3];
(%o1) f x, y := [x 4 , x y 3 ]
(%i2)
g(x,y,z):=[x/y,x*y*z^2];
x
(%o2) g x, y, z := [ , x y z2 ]
y (%i3)
129
7.1. La regla de la cadena Prácticas de Cálculo
jacobian(f(x,y),[x,y]);
!
4 x3 0
(%o3)
y3 3 x y2
(%i4)
jacobian(g(x,y,z),[x,y,z]);
1
− yx2
!
y 0
(%o4)
y z2 x z2 2xy z
(%i5)
g(1,-2,2);
1
(%o5) [− , −8]
2
(%i6)
%o4,x=1,y=-2,z=2;
− 21 − 14
!
0
(%o6)
−8 4 −8
(%i7)
%o3,x=-1/2,y=-8;
− 12
!
0
(%o7)
−512 −96
(%i8)
%o7.%o6;
1 1
!
4 0 8
(%o8)
1024 −256 768
La diferencial de f ◦ g será:
(%i9)
define(dh(h,k,p),%.matrix([h],[k],[p]));
k
+ h4
!
(%o9) dh h, k, p := 8
768 p − 256 k + 1024 h
Y la derivada direccional:
130
7.1. La regla de la cadena Prácticas de Cálculo
(%i10)
u:[1,3,1]/modulo([1,3,1]);
1 3 1
(%o10) [√ ,√ ,√ ]
11 11 11
(%i11)
Dh:%o8.transpose(%);
√5
8 11
(%o11)
1024
√
11
¿Cómo se hace esto con Maxima?: simplemente definiendo las expresiones de las
variables.
131
7.2. Extremos relativos Prácticas de Cálculo
SOLUCIÓN
(%i1)
x:sin(u+v);
(%o1) sin (v + u)
(%i2)
y:u^2+3*v;
(%o2) 3 v + u2
(%i3)
z:-u^2*v;
(%o3) − u2 v
(%i4)
f:x*y+z^2+u-v^2;
3 v + u2 sin (v + u) + u4 v 2 − v 2 + u
(%o4)
(%i5)
diff(f,u);
(%i6)
diff(f,v);
132
7.2. Extremos relativos Prácticas de Cálculo
sistema:
∂f ∂f ∂f
=0 = 0··· =0 (7.1)
∂x1 ∂x2 ∂xn
ñ Si a es un punto crítico, para clasificarlo, cobra gran importancia la matriz Hessiana
en a :
133
7.2. Extremos relativos Prácticas de Cálculo
SOLUCIÓN
(%i1)
f(x,y):=3*x-x^3-3*x*y^2;
(%o1) f x, y := 3 x − x 3 + (−3) x y 2
(%i2)
algsys([diff(f(x,y),x),diff(f(x,y),y)],[x,y]);
(%i3)
hessiano(f(x,y));
!
−6 x −6 y
(%o3)
−6 y −6 x
Punto (-1,0):
(%i7)
%o3,x=-1,y=0;
!
6 0
(%o7)
0 6
(%i5)
determinant(%);
(%o5) 36
134
7.2. Extremos relativos Prácticas de Cálculo
|A| > 0 y a11 > 0 hay un mínimo relativo. Vamos con el punto (1,0):
(%i8)
%o3,x=1,y=0;
!
−6 0
(%o8)
0 −6
(%i9)
determinant(%);
(%o9) 36
Al ser |A| > 0 y a11 < 0 hay un máximo relativo. Vamos con el punto (0,-1):
(%i10)
%o3,x=0,y=-1;
!
0 6
(%o10)
6 0
(%i11)
determinant(%);
(%o11) − 36
(%i12)
%o3,x=0,y=1;
!
0 −6
(%o12)
−6 0
(%i13)
determinant(%);
(%o13) − 36
(%i22)
135
7.2. Extremos relativos Prácticas de Cálculo
wxdraw3d(
color=green,
grid = true,
surface_hide= true,
rot_vertical=60,
explicit(f(x,y),x,-1,1,y,-1,1),
user_preamble="set size ratio 1"
);
(%t22)
(%o22) [gr3d explicit ]
2 −y 2
Ejercicio 7.4 Halle y clasifique los extremos de f (x, y) = x y e−x
SOLUCIÓN
(%i1)
f(x,y):=x*y*%e^(-x^2-y^2);
2 2
(%o1) f x, y := x y e−x −y
(%i2)
algsys([diff(f(x,y),x),diff(f(x,y),y)],[x,y]);
1 1 1 1 1
(%o2) [[x = 0, y = 0], [x = − √ , y = − √ ], [x = √ , y = − √ ], [x = − √ , y =
2 2 2 2 2
136
7.2. Extremos relativos Prácticas de Cálculo
1 1 1
√ ], [x = √ , y = √ ]]
2 2 2
(%i22)
wxdraw3d(
color=green,
grid = true,
surface_hide= true,
rot_vertical=75,
rot_horizontal=20,
explicit(f(x,y),x,-3,3,y,-3,3),
user_preamble="set size ratio 1"
);
(%t22)
(%o22) [gr3d explicit ]
(%i4)
hessiano(f(x,y));
(%o4)
2 2 2 2 2
−x 2 2 2 2 2 2
−x 2
!
4 x 3 y e−y −x − 6 x y e−y −x 4 x 2 y 2 e−y − 2 y 2 e−y −x − 2 x 2 e−y −x + e−y
2 2 −y 2 −x 2 2 2 2 2 2 2 2 2 2 2
4x y e − 2 y 2 e−y −x − 2 x 2 e−y −x + e−y −x 4 x y 3 e−y −x − 6 x y e−y −x
(%i5)
%,[x=-1/sqrt(2),y=-1/sqrt(2)];
137
7.2. Extremos relativos Prácticas de Cálculo
− e2
!
0
(%o5) 2
0 −e
(%i6)
determinant(%);
4
(%o6)
e2
En −√12 , −√12
hay un máximo relativo
(%i8)
%o4,[x=1/sqrt(2),y=-1/sqrt(2)];
2
!
e 0
(%o8) 2
0 e
(%i9)
determinant(%);
4
(%o9)
e2
√1 , −√12
En 2
hay un mínimo relativo
(%i10)
%o4,[x=-1/sqrt(2),y=1/sqrt(2)];
2
!
e 0
(%o10) 2
0 e
(%i11)
determinant(%);
4
(%o11)
e2
En −√12 , √1
2
hay un mínimo relativo
(%i12)
%o4,[x=1/sqrt(2),y=1/sqrt(2)];
− e2
!
0
(%o12)
0 − e2
(%i13)
determinant(%);
138
7.3. Extremos condicionados por igualdades Prácticas de Cálculo
4
(%o13)
e2
En √1 , √1
hay un máximo relativo
2 2
(%i14)
%o4,[x=0,y=0];
!
0 1
(%o14)
1 0
(%i15)
determinant(%);
(%o15) −1
Entonces pueden aparecer extremos relativos que no tienen nada que ver con los que
había si x se moviera libremente en ID . Se dice que son extremos condicionados por
las restricciones 7.2.
ñ Para calcular los puntos críticos, deberemos construir la función de Lagrange:
ñ Los puntos críticos son los a = (a1 , a2 , · · · , an ) solución del sistema anterior. Los
λ1 , λ2 , · · · , λm , que son variables auxiliares, no se consideran. Deberá cumplirse,
además que ∇g1 (a), ∇g2 (a), · · · , ∇gm (a) son linealmente independientes. ñ Ahora
consideramos la forma cuadrática:
h1
h2
Q(h) = (h1 h2 , · · · , hn ) HF (a)
..
(7.3)
.
hn
139
7.3. Extremos condicionados por igualdades Prácticas de Cálculo
x2
Ejercicio 7.5 Halle los extremos relativos de la función 2 x 2 + y 2 + − x + 2y − z
2
con la restricción 4 x2 + 2 y2 + z2 =4
SOLUCIÓN
(%i1)
f(x,y,z):=2*x^2+y^2+z^2/2-x+2*y-z;
z2
(%o1) f x, y, z := 2 x 2 + y 2 +
− x + 2y − z
2
(%i2)
g(x,y,z):=4*x^2+2*y^2+z^2-4;
(%o2) g x, y, z := 4 x 2 + 2 y 2 + z2 − 4
Función de Lagrange:
(%i3)
define(F(x,y,z,a),f(x,y,z)+a*g(x,y,z));
z2
(%o3) F x, y, z, a := a z2 + 2 y 2 + 4 x 2 − 4 + − z + y 2 + 2 y + 2 x2 − x
2
(%i4)
algsys([diff(F(x,y,z,a),x),diff(F(x,y,z,a),y),diff(F(x,y,z,a),z),g(x,y,z)],[x,y,z,a]);
√
1 4 4 13 + 4 1 4
(%o4) [[x = − √ , y = √ , z = − √ , a = − ], [x = √ , y = − √ , z =
√ 13 13 13 8 13 13
4 13 − 4
√ ,a = ]]
13 8
1 4 4
Veamos para el punto x = − √ , y = √ , z = − √ . En F sustituimos
√ 13 13 13
13 + 4
a=−
8
(%i5)
define(H(x,y,z),F(x,y,z,-(sqrt(13)+4)/8));
√
− 13 − 4 z2 + 2 y 2 + 4 x 2 − 4 z2
− z + y 2 + 2 y + 2 x2 − x
(%o5) H x, y, z := +
8 2
140
7.3. Extremos condicionados por igualdades Prácticas de Cálculo
(%i6)
hessiano(H(x,y,z));
√
− 13 √
0 0
− 13−4
(%o6) 0
2 +2 √
0
− 13−4
0 0 4 +1
Nos sale independiente de las variables. Así que no hay que sustituir los valores de
éstas. La forma cuadrática que se obtiene con esa matriz es:
(%i7)
[h,k,p].%o6.transpose([h,k,p]);
√ ! √ !
− 13 − 4 2 − 13 − 4 √
(%o7) +1 p + + 2 k2 − 13 h2
4 2
(%i8)
ratsimp(%);
√ √ √
13 p 2 + 2 13 k2 + 4 13 h2
(%o8) −
4
Ahora hallamos la diferencial de g en ese punto:
(%i9)
grad(g(x,y,z));
(%o9) 8x 4y 2z
(%i10)
%,x=-1/sqrt(13),y=4/sqrt(13),z=-4/sqrt(13);
(%o10) − √813 √16
13
− √8
13
(%i11)
define(dg(h,k,p),%.transpose([h,k,p]));
8p 16 k 8h
(%o11) dg h, k, p := − √ + √ − √
13 13 13
Resolvemos dg(h, k, p) = 0 :
(%i12)
141
7.3. Extremos condicionados por igualdades Prácticas de Cálculo
linsolve([dg(h,k,p)],[h,k,p]);
(%o12) [h = 2 k − p]
(%i13)
%o8,h=2*k-p;
√ √ 2 √
13 p 2 + 4 13 2 k − p + 2 13 k2
(%o13) −
4
(%i14)
ratsimp(%);
√ √ √
5 13 p 2 − 16 13 k p + 18 13 k2
(%o14) −
4
Podemos ponerlo como una forma cuadrática de matriz:
(%i15)
A:matrix_fc(%);
√ √
5 13
− 2 √13
(%o15) √4
2 13 − 9 213
(%i16)
determinant(%);
169
(%o16)
8
La sucesión de Sylvester queda +,-,+. Así que hay un máximo en
√ ese punto. Repitamos el
1 4 4 13 − 4
proceso con el otro punto x = √ , y = − √ , z = √ , a =
13 13 13 8
(%i5)
define(H(x,y,z),F(x,y,z,(sqrt(13)-4)/8));
√
z2 + 2 y 2 + 4 x 2 − 4 z2
13 − 4
− z + y 2 + 2 y + 2 x2 − x
(%o5) H x, y, z := +
8 2
(%i6)
hessiano(H(x,y,z));
√
13 √
0 0
13−4
(%o6) 0
2 +2 √
0
13−4
0 0 4 +1
142
7.3. Extremos condicionados por igualdades Prácticas de Cálculo
(%i7)
[h,k,p].%.transpose([h,k,p]);
√ ! √ !
13 − 4 2 13 − 4 √
(%o7) +1 p + + 2 k2 + 13 h2
4 2
(%i8)
ratsimp(%);
√ √ √
13 p 2 + 2 13 k2 + 4 13 h2
(%o8)
4
(%i9)
grad(g(x,y,z));
(%o9) 8x 4y 2z
(%i10)
%,x=1/sqrt(13),y=-4/sqrt(13),z=4/sqrt(13);
(%o10) √8 − √16 √8
13 13 13
(%i11)
define(dg(h,k,p),%.transpose([h,k,p]));
8p 16 k 8h
(%o11) dg h, k, p := √ − √ + √
13 13 13
(%i12)
linsolve([dg(h,k,p)],[h,k,p]);
(%o12) [h = 2 k − p]
(%i13)
%o8,h=2*k-p;
√ √ 2 √
13 p 2 + 4 13 2 k − p + 2 13 k2
(%o13)
4
(%i14)
ratsimp(%);
√ √ √
5 13 p 2 − 16 13 k p + 18 13 k2
(%o14)
4
143
7.4. Extremos absolutos en conjuntos compactos Prácticas de Cálculo
(%i15)
A:matrix_fc(%);
√ √
5 13
4 −2√ 13
(%o15) √ 9 13
−2 13 2
(%i16)
determinant(%);
169
(%o16)
8
La sucesión de Sylvester queda +,+,+. Así que hay un mínimo relativo en ese punto.
1 4 4
ñ En resumen, hay un máximo relativo en x = − √ , y = √ , z = −√ y un
13 13 13
1 4 4
mínimo relativo en x = √ , y = −√ , z = √
13 13 13
ñ Con esto, sólo hace falta calcular los puntos críticos que están en M y
comprobar en cuáles alcanza f el mínimo y máximo valor, valorando la función en
cada punto crítico.
SOLUCIÓN
(%i1)
f(x,y,z):=x+y+z;
(%o1) f x, y, z := x + y + z
144
7.4. Extremos absolutos en conjuntos compactos Prácticas de Cálculo
(%i2)
g(x,y,z):=x^2+y^2-2;
(%o2) g x, y, z := x 2 + y 2 − 2
(%i3)
h(x,y,z):=x+z-1;
(%o3) h x, y, z := x + z − 1
Función de Lagrange:
(%i4)
define(F(x,y,z,a,b),f(x,y,z)+a*g(x,y,z)+b*h(x,y,z));
(%o4)
F x, y, z, a, b := b (z + x − 1) + z + a y 2 + x 2 − 2 + y + x
(%i5)
[diff(F(x,y,z,a,b),x),diff(F(x,y,z,a,b),y),diff(F(x,y,z,a,b),z),g(x,y,z),h(x,y,z)];
(%o5) [2 a x + b + 1, 2 a y + 1, b + 1, y 2 + x 2 − 2, z + x − 1]
(%i6)
algsys(%,[x,y,z,a,b]);
√ 1 √ 1
(%o6) [[x = 0, y = − 2, z = 1, a = 3 , b = −1], [x = 0, y = 2, z = 1, a = − 3 , b =
22 22
−1]]
(%i7)
f(0,-sqrt(2),1);
√
(%o7) 1 − 2
(%i8)
f(0,sqrt(2),1);
√
(%o8) 2+1
√
Luego√ el máximo absoluto se encuentra en (0, 2, 1) y el mínimo absoluto en
(0, − 2, 1)
145
7.5. Ejercicios Prácticas de Cálculo
7.5 Ejercicios
∂2f ∂2f
(x, y) + (x, y) = 0.
∂x 2 ∂y 2
x = eu−v
y = euv
Explique la nueva función que obtenemos y calcule sus derivadas respecto de las
∂f ∂f
variables u y v . Son habituales las expresiones y para referirse a esas
∂u ∂v
derivadas ¿es estrictamente correcta esa notación?
146
7.5. Ejercicios Prácticas de Cálculo
Sugerencia:
(%i2)
F(x,y):=’integrate(log(1+t^2),t,f(x,y),g(x,y));
Z g(x,y )
log 1 + t 2 dt
(%o2) F x, y :=
f (x,y )
(%i3)
diff(F(x,y),x);
d d
2 2
(%o3) g x, y log g x, y + 1 − f x, y log f x, y + 1
dx dx
(%i4)
diff(F(x,y),y);
! !
d 2 d 2
(%o4) g x, y log g x, y + 1 − f x, y log f x, y + 1
dy dy
Con estos datos, sustituya (x, y) = (0, 0) (a mano) y compruebe que es un punto crítico
(%i5)
diff(F(x,y),x,2);
d 2
2 g x, y dx g x, y
!
d2 2
(%o5) g x, y log g x, y + 1 + 2 −
d x2 g x, y + 1
d 2
2 f x, y f x, y
!
d 2
dx
2
f x, y log f x, y + 1 − 2
d x2 f x, y + 1
(%i6)
diff(F(x,y),y,2);
d 2
2 g x, y dy g x, y
!
d2 2
(%o6) g x, y log g x, y + 1 + 2 −
d y2 g x, y + 1
d 2
2 f x, y f x, y
!
d2
dy
2
f x, y log f x, y + 1 − 2
d y2 f x, y + 1
(%i7)
diff(F(x,y),x,1,y,1);
d d
2 g x, y g x, y g x, y
!
d2 2 dx dy
(%o7) g x, y log g x, y +1 + 2 −
dxdy g x, y +1
147
7.5. Ejercicios Prácticas de Cálculo
d d
2 f x, y f x, y f x, y
!
d2 2 dx dy
f x, y log f x, y +1 − 2
dxdy f x, y +1
Con estos datos, sustituya (x, y) = (0, 0) (a mano) y calcule el hessiano de F (x, y) en
ese punto.
f (x, y, z) = 2x − y + 3z · e−( x +y +z )
2 2 2
10 o ) Diseñar una lata cilíndrica (con tapa y todo) para contener V litros de líquido,
usando la mínima cantidad posible de material.
x2 y2
2
+ 2 =1
a b
que pasan por el punto (1, 1). Calcular la elipse de la familia que encierra un área
mínima.
148
7.5. Ejercicios Prácticas de Cálculo
1
f (x, y, z) = x 2 + z2 + (x + z − 8)2 + (y + 1)2
2
Halle los puntos extremos absolutos de f , cuando restringimos el dominio al conjunto:
( )
3 2 y2 2
A = (x, y, z) ∈ R / x + +z ≤9
4
149