Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Mathematica Comandos Basicos
Mathematica Comandos Basicos
2
En esta situacin, para obtener una aproximacin utilizaremos el comando N.
N[Sqrt[2]]
Out [] =1.41421
Por defecto Mathematica trabaja con nmeros de seis cifras. Podemos cambiar el
nmero de dgitos con los que Mathematica nos presenta la aproximacin:
N[Sqrt[2],20]
Out [] =1.4142135623730950488
Problema 1 Como ejemplo, utilizar el comando anterior para calcular
2, e, y con
varias precisiones.
7
1.3 Posibilidades simblicas y algebraicas
Adems de trabajar con expresiones numricas, Mathematica puede manipular expre-
siones algebraicas. Antes de ver algunos ejemplos comentaremos la sintaxis de los
comandos que permiten esta manipulacin.
La primera letra siempre se escribe en mayscula.
Los argumentos van siempre entre corchetes [ ].
Si el comando admite ms de un argumento, stos van separados por comas.
Estas reglas tambin las siguen las funciones y constantes predenidas en Mathe-
matica como por ejemplo
Sin[x] Tan[0] Log[2] Sqrt[8] . . .
E Pi I . . .
Veremos algunos comandos que sirven para operar con expresiones algebraicas:
Expand[(a+b)^2]
Out [] =a
2
+ b
2
+ 2ab
Factor[x^2-y^2]
Out [] =(x y) (x +y)
Cuando escribamos el producto de dos variables x e y se ha dejar un espacio en
blanco entre las dos o poner un . Esto no es necesario cuando escribimos el producto
de un nmero por una variable.
La funcin Apart transforma un resultado en fracciones simples:
x/((x+2)(x-2))
Apart[%]
Out [] =
1
2 (x 2)
+
1
2 (x + 2)
La funcin Together combina dos o ms fracciones con comn denominador y sim-
plica los factores comunes:
Together[%]
Out [] =
x
(x 2) (x + 2)
El comando D calcula la derivada de una funcin respecto de una variable:
Cos[E^x];
D[%]
Out [] =e
x
sine
x
8
Hay que prestar atencin al escribir esta funcin porque tanto el coseno como el
nmero e son funciones predenidas en Mathematica y han de seguir las reglas de
sintaxis descritas anteriormente.
Este comando admite argumentos opcionales que nos permiten calcular derivadas
segundas, terceras, :
D[x^2 E^x,{x,2}]
Out [] =2e
x
+ 4xe
x
+ x
2
e
x
Para calcular lmites tenemos el comando Limit. Por ejemplo,
Limit[1/x, x > 0]
Out [] =
Para resolver ecuaciones Mathematica tiene el comando Solve:
Solve[x2 1 == 0, x]
Out [] ={x 1}{x 1}
Un sistema de ecuaciones se expresa mediante una lista de ecuaciones y una lista
de variables:
Solve[{x2 + y == 0, x y2 == 0}, {x, y}]
El comando Solve no puede resolver de forma exacta ecuaciones polinmicas de
grado igual o mayor que cinco. Para este tipo de ecuaciones utilizaremos el comando
NSolve para obtener una aproximacin de las soluciones:
NSolve[x5 x2 + 1 == 0, x]
1.3.1 Problemas.
Problema 2 Calcular y simplicar
a
a b
b
a + b
Problema 3 Factorizar los polinomios
x
2
4x 5
x
3
+ x
2
+ x + 1
3x
2
6x + 1
Problema 4 Descomponer en fracciones simples
1
n(n + 1)
n
2
+ 1
n
4
+ n
2
+ 1
Problema 5 Calcular las derivadas primera y segunda de la funcin x
x
.
9
Problema 6 Calcular la derivada primera de
xy
2
x
3
x
2
+y
2
respecto de x y de y.
Problema 7 Calcular el lmite de la sucesin
1 +
1
n
n
Problema 8 Resolver el sistema lineal
_
_
_
x + 2y 3z = 1
3x y + 2z = 7
5x + 3y 4z = 2
1.4 Asignaciones
Supongamos que queremos evaluar la expresin
exp= (a ba^b)/(ab 1)
en a = 3, b = 2. Para ello no necesitamos denirla como una funcin, simplemente
aplicaremos una regla o lista de reglas, con el comando /. (sin espacios entre / y .):
exp /.{a->3,b->-2}
Evaluarla en a = 1, b = 1. Qu ha ocurrido?
Como hemos visto en los ejemplos anteriores, las constantes, las funciones y los
comandos que Mathematica lleva incorporados tienen su primera letra en mayscula. El
usuario puede denir sus propias funciones, pero para evitar problemas es recomendable
abstenerse de usar letras maysculas en el nombre. La forma de denirlas consiste en
utilizar lo que se denomina una assignacin, cuya sintaxis es de la forma:
nombre-funcin[variable1_, variable2_ , ... , variablen_]:=
definicin
donde nombre-funcin es el nombre que asignamos a esa funcin. Puede constar de
una sola letra o de diversas letras. Entre corchetes y separadas por comas escribiremos
la variable o variables de las que depender nuestra funcin. En la denicin de la
funcin se ha de escribir obligatoriamente detrs de cada variable el subrayado para
indicarle al Kernel que efectivamente es una variable. No obstante, al evaluar la funcin
substituyendo las variables por los valores deseados ya no debemos escribir el subrayado.
Por ejemplo, al denir la sucesin
a[n_]:=
(1) n
n + 1
hay que tener en cuenta que el subrayado indica que n es la variable. A continuacin
podemos escribir el tipo de variable, restringiendo si es conveniente su dominio; por
ejemplo,
a[n Integer] o a[n Real]
10
Para evaluar la funcin en n = 5 escribiremos
In[] :=a[5]
Calcular a
10
y a
100
con 4 cifras decimales.
Recordemos que si queremos que el resultado aparezca en forma decimal hemos de
usar el comando N.
Si ahora queremos cancelar una asignacin, utilizaremos el comando Clear.
1.4.1 Problemas
Problema 9 Denir raiz[n, x] :=
n
x, n N.
Utilizando la ayuda de Mathematica y el comando N calcular con varias precisiones
el valor de
3
2 i
5
.
1.5 Iteradores
Los iteradores son comandos que nos permiten realizar de forma sencilla procesos que
se repiten un nmero determinado de veces. Uno de los ms habituales es el comando
Do. Como ejemplo vamos a ejecutar
Do[Print[Prime[n]], {n, 1, 10}]
Out [] =
2
3
5
7
11
13
17
19
23
29
Como puede apreciarse, Mathematica imprime en la pantalla (Print) los 10 primeros
nmeros primos (Prime). La lista {n, 1, 10} expresa que la variable n toma los valores
del 1 al 10 incrementndose en cada paso una unidad. Se puede aadir otro argumento
si queremos cambiar el incremento.
Otro iterador muy usado es For; veamos un ejemplo
For[i=1,i5,i=i+2,Print[i]]
1
3
5
For[inicio, test, incremento, argumento] ejecuta el argumento desde inicio hasta que
falla el test, con el incremento que se pida; i++ equivale a incrementar el paso en uno.
El iterador Table es muy usado para construir tablas
11
Table[expr, {i, min, max, paso}]
Otros iteradores, While, la sintaxis y el funcionamiento de los cuales los podemos
encontrar con los comandos de ayuda de Mathematica.
Problema 10 Denir b
n
:=
1
n
2
, n = 1, 2, . . . y calcular
1. b
n
desde n = 10 hasta n = 20 :
2. b
n
desde n = 10 hasta n = 100 pero con n mltiplo de 10 :
3. b
10
, b
100
, b
1000
, b
10000
:
Problema 11 Muestra el valor de
2 con una precisin desde 1 hasta 10 cifras deci-
males.
1.6 Grcos
Las posibilidades grcas de Mathematica han sido una de las causas de su xito. Por
medio de Mathematica podemos dibujar funciones y datos en dos o tres dimensiones;
producir grcos de nivel y de densidad, adems de dibujar objetos y guras arbi-
trarias. Dedicaremos una prctica a explorar algunas de las posibilidades que Math-
ematica ofrece a la hora de hacer grcas. Estaremos interesados sobre todo en la
ayuda que puede prestar la interpretacin grca en el clculo de los puntos extremos
de funciones, en particular de funciones de dos variables. Trabajaremos sobre todo con
la representacin paramtrica de curvas y superfcies.
12
Captulo2
lgebra lineal
2.1 Resolviendo problemas con el Mathematica
En esta seccin repasaremos algunas de las posibilidades que ofrece Mathematica para
resolver problemas de lgebra lineal. La idea ser ofrecer una lista de los comandos
necesarios y mostrar ejemplos que ilustren su utilizacin. Con lo que aqu se exponga,
se estar en condiciones de resolver la mayora de los problemas elementales que se
pueden plantear en un primer curso de lgebra lineal: dependencia e independencia
lineal, cambios de base en espacios vectoriales, estudio de aplicaciones lineales con
determinacin de los subespacios ncleo e imagen, resolucin de sistemas de ecuaciones
lineales, diagonalizacin, etc.
2.1.1 Matrices
En Mathematica los vectores se representan mediante listas, y las matrices, como listas
de listas. Por ejemplo, la lista de listas {{a,b}, {c,d}} representa la matriz 2 2
cuyas las corresponden a cada una de las las de la matriz: (a, b) y (c, d).
Algunas de las funciones incorporadas que Mathematica utiliza para construir ma-
trices son las siguientes:
DiagonalMatrix[lista]
genera una matriz diagonal con los elementos de lista en la diagonal;
IdentityMatrix[n]
genera la matriz identidad n n. As, por ejemplo,
Table[0, {m}, {n}]
genera una matriz cero,
El comando
MatrixForm[matriz]
13
imprime la matriz en forma de tablero bidimensional, haciendo as ms clara su estruc-
tura. Por otra parte, Mathematica dispone de algunas rdenes para hacer referencia a
los elementos de la matriz:
m[[i, j]] proporciona el elemento i, j de la matriz m;
m[[i]] o Part[m, i] da la la i-sima de m,
Como ya se ha dicho, una matriz es una lista de vectores, representando cada una
de sus las. Para que se tenga una matriz vlida, todas las las han de tener la misma
longitud, de manera que los elementos de la matriz formen efectivamente un tablero
rectangular.
Operaciones con matrices y vectores.
La mayora de las funciones matemticas en Mathematica se pueden aplicar por sepa-
rado a cada elemento de una lista. Esto ocurre, en particular, para todas las funciones
que tienen el atributo Listable, de manera que dichas funciones se pueden aplicar
sobre cada elemento de una matriz o un vector:
La suma de dos vectores se lleva a cabo elemento a elemento, siempre que ambos
tengan la misma longitud. De hecho, Mathematica admite las operaciones del lgebra
matricial (suma, producto, producto por escalar) siempre que las dimensiones sean las
correctas. As, si m1 y m2 son dos matrices dadas y c es un escalar, tiene sentido escribir
m1+m2, c m1, m1.m2
De igual modo, si v denota un cierto vector, tienen sentido las operaciones
v.v,v.m1,m1.v
debiendo tener cuidado con estas dos ltimas operaciones, pues aunque se representan
de igual forma, proporcionan resultados muy diferentes.
El comando Inverse[m] calcula la inversa de la matriz cuadrada m. Obsrvese que
Mathematica supone implcitamente que el determinante es no nulo. Al multiplicar la
inversa por la matriz original debera dar la matriz identidad. Cuando se le da una
matriz cuyos elementos son nmeros exactos o smbolos, el programa proporciona la
inversa exacta. Ahora bien, si en la matriz de entrada algunos elementos son nmeros
reales aproximados, Mathematica obtiene un resultado numrico aproximado; en ese
caso, como en cualquier otro clculo numrico, se puede controlar el nmero de cifras
signicativas a manejar.
Otros comandos que se utilizan habitualmente al trabajar con matrices son:
Transpose[m]
para calcular la traspuesta de la matriz m,
MatrixPower[m, k]
para calcular la potencia k-sima de m.
Clculo del determinante de una matriz cuadrada ,
Det[m].
14
2.1.2 Sistemas de ecuaciones lineales
Para resolver un sistema de ecuaciones lineales dado, varias son las alternativas que
Mathematica ofrece. En primer lugar, puede ser conveniente escribir todas y cada
una de las ecuaciones explcitamente, y despus resolverlas usando el comando Solve.
En muchos casos, sin embargo, puede resultar ms adecuado convertir el sistema en
una ecuacin matricial, y aplicar despus operaciones matriciales para resolverlo, tal
como se hace normalmente en Matemticas, sobre todo si el nmero de ecuaciones y
de incgnitas es elevado. Este esquema tambin es til a la hora de disear algoritmos,
cuando no se sabe con antelacin cuntas variables hay en el problema.
Un sistema de ecuaciones lineales se puede escribir en forma matricial como
m x = b,
donde x es el vector de variables, m es la matriz de coecientes y b es la matriz de los
trminos independientes. Como el estudiante ya est familiarizado con la teora general
de los sistemas de ecuaciones lineales, procederemos directamente con los comandos
involucrados y analizaremos en detalle algunos ejemplos.
Las funciones incorporadas que Mathematica ofrece para resolver este tipo de sis-
temas de ecuaciones son los siguientes:
LinearSolve[m,b]
da un vector x que resuelve la ecuacin matricial m x = b;
NullSpace[m]
da un conjunto de vectores cuyas combinaciones lineales satisfacen la ecuacin matricial
m x = 0, esto es, proporciona una base del subespacio ncleo de la matriz m;
RowReduce[m]
transforma la matriz m en otra de las reducidas, mediante combinaciones lineales de
las las, coincidiendo, por tanto, el rango de la matriz con el nmero de las no nulas
de esta matriz.
Se puede obtener tambin el nmero de ecuaciones redundantes correspondientes a
una matriz particular calculando
Length[NullSpace[m]]
Con los comandos anteriores y el teorema de Rouch-Frobenius, estamos en disposi-
cin de analizar (y resolver en su caso) cualquier sistema de ecuaciones lineales.
Ejercicio 1 Discutir y resolver en su caso los siguientes sistemas:
1.
2x + 3y z = 0
4x + 6y z = 0
8x + 12y 3z = 0
_
_
_
15
2.
y z 2t = 1
x z t = 2
x + y 3t = 1
_
_
_
3.
x + 4y + z = b
3x y + 2z = 1
2x 5y + az = 2
_
_
_
4.
_
_
_
4x + 2y + z = ax
2x + 4y + 2z = ay
2x + 4y + 8z = az
5.
_
_
_
ax 2y + z = 1
x +ay +z = a
x + z = 1
6.
_
_
_
x
1
+ 3x
2
+ x
3
x
4
= 6
2x
1
+ 7x
2
+ 3x
3
4x
4
= 15
x
1
+ x
2
+ 2x
3
+ x
4
= 1
2.1.3 Valores y vectores propios
Como es bien sabido, los valores propios de una matriz m son los nmeros
i
para los
cuales existen vectores x
i
no nulos, llamados vectores propios, tales que m x
i
=
i
x
i
.
El clculo de los valores propios de una matriz nn supone, en principio, resolver una
ecuacin polinomial de grado n. Si n 5 no es posible obtener, en general, soluciones
algebraicas explcitas de una tal ecuacin, de manera que es imposible dar resultados
algebraicos explcitos para los valores y vectores propios de una matriz genrica.
Mathematica dispone de los siguientes comandos para abordar este problema:
Eigenvalues[m]
proporciona una lista de los valores propios de la matriz m;
Eigenvectors[m]
da una lista de los vectores propios de m (una base de cada subespacio propio);
Eigensystems[m]
calcula al mismo tiempo los valores y los vectores propios y proporciona una lista de
valores propios y de vectores propios asociados. Por otra parte,
Eigenvalues[N[m]]
16
proporciona una aproximacin numrica a los valores propios, etc. Por tanto, cuando se
da una matriz cuyos elementos son nmeros reales aproximados, Mathematica encuentra
valores numricos aproximados para valores y vectores propios.
La funcin Eigenvalues da siempre una lista de n valores propios para una matriz
nn, pudiendo estar alguno de ellos repetidos, mientras que Eigenvectors da una lista
de vectores propios linealmente independientes; si el nmero de tales vectores propios es
menor que n, entonces Eigenvectors aade vectores nulos a la lista hasta completarla
con n vectores. Como es bien sabido, los valores y vectores propios de una matriz
juegan un papel muy importante a la hora de analizar la diagonalizabilidad de dicha
matriz. En el caso general, dada una matriz m, siempre ser posible encontrar una
matriz c tal que c
1
mc = j, donde j es la llamada forma cannica de Jordan (que en el
caso de ser m diagonalizable no es ms que una matriz diagonal tal que los elementos
de su diagonal principal son los valores propios de m). La funcin que lleva a cabo
esta descomposicin es JordanDecomposition, la cual proporciona una lista con las
matrices c y j.
2.2 Problemas de lgebra Lineal
Problema 12 Dadas las matrices
A =
_
_
3 4 5
8 0 3
5 2 1
_
_
, B =
_
_
10 6 9
6 5 7
10 9 12
_
_
calcula A+B, B 4A, (AB)
1
, ((AB)B)
T
, A
2
, det(B
3
) y las races del polinomio
caracterstico de A.
Problema 13 Resolver el sistema
x + 5y = a
2x + y = b
dependiente de dos parmetros. El mtodo ms eciente es usar LinearSolve.
Problema 14 Consideramos ahora el sistema
x + 2y = a
x + 2y = b
que es incompatible, Mathematica lo indica.
Ejercicio 2 Estudia y resuelve el sistema
_
_
x + 2y + 3z = 6
x + 3y + 8z = 19
2x + 3y + z = 1
5x + 6y + 4z = 5
17
Ejercicio 3 Estudia y resuelve, segn los valores de a, el sistema formado por las
ecuaciones
_
_
_
ax + y + z = 1
x + ay + z = a
x + y + az = a
2
Ejercicio 4 Forma una matriz cuyas las sean los vectores
(1, 1, 2, 0, 1), (2, 2, 0, 0, 2), (2, 1, 1, 0, 1),
(1, 1, 1, 2, 2), (1, 2, 2, 2, 0)
otra con
(2, 3, 1, 3, 0), (1, 2, 1, 2, 1), (2, 1, 7, 17, 4)
hallando los rangos de esas dos matrices y una base de su ncleo.
Ejercicio 5 Evaluar el determinante de: A =
_
_
t 2 4 3
1 t + 1 2
0 0 t 4
_
_
, B =
_
_
_
_
2 0 0 5
1 1 0 0
2 1 3 4
6 5 2 1
_
_
_
_
Ejercicio 6 Hallar la inversa de: C =
_
_
1 2 3
2 1 0
4 2 5
_
_
, D =
_
_
2 1 1
0 2 1
5 2 3
_
_
Ejercicio 7 Sea la matriz A =
_
_
2 2 6
0 a 4 a
0 a a
_
_
, a 0
1. Estudia su diagonalizacin en funcin de los valores de a.
2. Diagonalizar A (si es posible) cuando a = 4, hallando explcitamente la matriz de
paso.
Ejercicio 8 Dada la matriz
A =
_
_
1 a 1
1 1 a
1 0 a + 1
_
_
1. Calcular el polinomio caracterstico de A, as como sus valores propios.
2. Para qu valores de a la matriz es diagonalizable?
18
3. Para dichos valores, calcular la matriz de paso y la matriz diagonal.
Ejercicio 9 Estudiar para qu valores de los parmetros reales a y b las matrices sigu-
ientes son diagonalizables:
A =
_
_
5 0 0
0 1 b
3 0 a
_
_
, B =
_
_
a b 0
0 1 2
0 0 2
_
_
Ejercicio 10 Calcular los valores y vectores propios del endomorsmo f : R
3
R
3
denido por
f(x, y, z) = (x + y +z, 3x + y z, 2x + 2y + 3z)
Ejercicio 11 Diagonaliza ortogonalmente las matrices
_
_
3 2 2
2 2 0
2 0 4
_
_
_
_
1 2 2
2 1 2
2 2 1
_
_
,
_
_
3 1 0
1 3 0
0 0 2
_
_
,
_
_
3 2 0
2 3 0
0 0 5
_
_
,
Ejercicio 12 Dada la matriz A =
3 2
1 2
b
1
b
2
...
b
n
_
_
_
_
y realizar operaciones elementales sobre las las para conseguir ceros por debajo de la
diagonal.
_
_
_
_
a
11
a
12
... a
1n
a
0
22
... a
0
2n
... ... ... ...
... a
0
nn
b
1
b
0
2
...
b
0
n
_
_
_
_
que equivale al siguiente sistema
E
1
: a
11
x
1
+ a
12
x
2
+ ... + a
1n
x
n
= b
1,
E
2
: a
0
22
x
2
+ ... + a
0
2n
x
n
= b
0
2,
...
E
n
: a
0
nn
x
n
= b
0
n,
Despejando x
n
en la ltima ecuacin y sustituyendola en la ecuacin E
n1
se obtiene
x
n1
. Despejando en la ecuacin anterior se obtiene x
n2
, y as, sucesivamente, se van
obteniendo el resto de las incgnitas.
Al hacer este tipo de eliminacin muchas veces se necesita cambiar el orden de las
las para conseguir los ceros. Esto tambin es necesario porque cuando los clculos se
realizan usando aritmtica de dgitos nitos pueden aparecer muchos errores debido al
redondeo de las cifras. Por lo cual se han de tener en cuenta cuales son los elementos
ms adecuados para conseguir los ceros, es decir, los pivotes. La estrategia ms simple
consiste en seleccionar el elemento en la misma columna que est abajo de la diagonal
y que tiene el mayor valor absoluto. Esta tcnica se conoce como pivoteo mximo
de columna o pivoteo parcial.
El Mathematica ofrece paquetes que permiten realizar de forma numrica muchos
clculos algebricos. Nosotros utilizaremos el paquete de eliminacin gaussiana, que se
carga mediante
20
<<LinearAlgebraGaussianElimination
Como hemos visto, la funcin LinearSolve permite calcular la solucin de un sistema
de ecuaciones lineales.
Existen casos en que se quieren resolver varios sistemas de ecuaciones lineales donde
coincide la parte de la izquierda del sistema, pero no as la de la derecha, es decir, la
matriz de los coecientes es la misma pero cambian los trminos independientes. En
este caso tambin se puede usar LinearSolve pero mucho del trabajo es repetitivo.
Por eso, como el primer paso se puede ver de forma abstracta como la factorizacin
de la matriz de los coecientes en el producto de una matriz triangular inferior, L, por
una matriz triangular superior, U (factorizacin LU) se puede recurrir a
LUFactor
que produce esta factorizacin y da la informacin sobre que las han de cambiarse
para que se mantenga la estabilidad numrica en la computacin.
El segundo paso de volver hacia atrs sustituyendo se puede hacer mediante
LUSolve.
Estas dos ordenes estn el el paquete
<<LinearAlgebraGaussianElimination.
Veamoslo mediante un ejemplo:
Ejemplo 1 Resolver el sistema de ecuaciones:
E
1
: 5x
1
+ 3x
2
= 6
E
2
: 7x
1
+ 9x
2
+ 2x
3
= 3
E
3
: 2x
1
8x
2
x
3
= 7
utilizando la descomposicin LU de la matriz de los coecientes y la orden LUSolve
In[1]:= <<LinearAlgebraGaussianElimination
In[2]:= MatrixForm[a = {{5, 3, 0}, {7, 9, 2},{-2, -8, -1}}].
Out[2]:=
_
_
5 3 0
7 9 2
2 8 1
_
_
In[3]:= lu = LUFactor[a]
Out[3]:= LU[{{
5
7
,
12
19
,
22
19
},{7,9,2},{
2
7
,
38
7
,
3
7
}},{2,3,1}]
In[4]:= b={6,-3,7};
In[5]:= c=LUSolve[lu, b]
Out[5]:= {
75
44
,
37
44
,
81
22
}
In[6]:= a .c - b
Out[6]:= {0,0,0}
21
Obsrvese que el resultado de Out[3] da la factorizacin LU de la matriz a y nos
dice tambien como se han colocado las las de dicha matriz para hacer la reduccin
gaussiana. En trminos matriciales, se leera:
_
_
1 0 0
2
7
1 0
5
7
12
19
1
_
_
_
_
7 9 2
0
38
7
3
7
0 0
22
19
_
_
=
_
_
7 9 2
2 8 1
5 3 0
_
_
La ventaja de utilizar la reduccin LU es que se puede utilizar el mismo sistema
de ecuaciones cambiando los trminos independientes cambiando solamente el vector
b.
Veamoslo
Ejemplo 2 Resolver el sistema de ecuaciones:
E
1
: 5x
1
+ 3x
2
= 2
E
2
: 7x
1
+ 9x
2
+ 2x
3
= 1
E
3
: 2x
1
8x
2
x
3
= 2
utilizando los resultados del problema anterior.
In[1]:= b1={6,-3,7};
In[2]:= c=LUSolve[lu, b1]
In[3]:= a .c - b1
Ejercicio 13 Resolver el sistema de ecuaciones:
x + 4y + z = 0
3x y + 2z = 1
2x 5y + az = 2
utilizando la descomposicin LU de la matriz de los coecientes y la orden LUSolve.
Estudiar para que valores del parmetro a tiene solucin nica.
El Mathematica permite construir matrices utilizando la funcin
Do[p[i,j],{i,1,m},{j,1,n}]
Veamoslo en un ejemplo
Ejemplo 3 Construir una matriz (8 8) mediante Do.
m=8; n=8;
Do[p[i,j]=0,{i,1,m},{j,1,n}];
Do[p[i,i]=7,{i,1,m}];
Do[p[i,i+1]=2,{i,1,m-1}];
Do[p[i,i-1]=-4,{i,2,m}];
MatrixForm[a=Array[p, {m,n}]]
22
Ejercicio 14 Resuelve el sistema representado en la matriz anterior utilizando como
matrices de los trminos independientes los vectores
1
f
0
(x
1
)
f (x
1
) que, en principio, se encuentra
ms cerca de x
0
buscado. A continuacin se traza la recta tangente a la curva en el
punto (x
2
, f (x
2
)) a partir del cual se localiza el punto x
3
= x
2
1
f
0
(x
2
)
f (x
2
) y as
sucesivamente. En general, obtenemos la frmula x
n+1
= x
n
1
f
0
(x
n
)
f (x
n
), que nos
permite construir la sucesin {x
n
}
nN
recursivamente, la cual converge a la raz x
0
.
1. Se parte de un valor x
0
, llamado pivote.
2. Se calcula x
k
= g (x
k1
) = x
k1
1
f
0
(x
k1
)
f (x
k1
) .
si |g (x
k
)| <
1
x
k
, se para el proceso.
si |g (x
k
)| >
1
k = k + 1.
3. El clculo se para cuando |x
k
x
k1
| <
2
o cuando k > k
max
, donde nos asegu-
ramos que x
k
.
26
Cuando lim
k
x
k
= , diremos que la sucesin converge a la solucin del problema
ya que es un punto jo de g (x) .
Para saber las condiciones bajo las cuales son convergentes las iteraciones de punto
jo se utiliza el teorema:
Teorema 2 Dada una funcin g C
1
([a, b]) tal que |g
0
(x)| < 1 para todo x (a, b) ,
existe (a, b) para el cual g () = , dado x
0
(a, b) y la sucesin {x
k
}
kN
tal que
x
k
= g (x
k1
) , k N, se verica g (x
k
) (a, b) para todo k > 0, entonces la sucesin
{x
k
}
kN
converge a .
El hecho de utilizar la funcin g dada est motivado por la idea de aproximar
funciones por sus rectas tangentes, es decir, aproximar el comportamiento de la funcin
y = f (x) por un comportamiento lineal y, sobre este ltimo ir localizando las races,
las cuales se supone que se irn acercando a la raz de la funcin dada.
0.5 1 1.5 2 2.5 3
2
4
6
8
Esta idea es muy til a la hora de reemplazar problemas no lineales por problemas
lineales y se ha mostrado como una idea muy fructfera en Matemticas. Es fcil
comprobar que si en la iteracin k 1 construimos la recta tangenta a f (x) en el punto
x
k1
se obtiene
y = f (x
k1
) + f
0
(x
k1
) (x x
k1
)
Por tanto, el valor x
k
se encuentra en la interseccin de esta recta con el eje x.
El algoritmo de Newton se emplea ampliamente porque, al menos en las proximi-
dades de una raz, converge ms rpidamente que el de la biseccin, de la secante, etc.
No obstante, debemos resaltar que la aplicacin del mtodo de Newton no siempre es
posible, ya que puede ocurrir que x
k1
no pertenezca al dominio de la funcin f o que
f no sea derivable en x
k1
. Las iteraciones del mtodo de Newton convergen bajo las
condiciones que se especican en el siguiente teorema:
Teorema 3 Dada f C
1
([a, b]) tal que existe (a, b) para el cual f () = y
f
0
() 6= 0 y dada {x
k
}
kN
tal que si x
0
( , + ) se verica que la sucesin
{x
k
}
kN
converge a .
3.2.1 Anlisis del error
Para analizar la bondad relativa de los mtodos es necesario conocer la mejora que se
introduce en la solucin de la ecuacin, o bien, la rapidez con que se aproxima a la
27
solucin verdadera. Para poder comparar diferentes mtodos introducimos la siguiente
denicin.
Denicin 1 Sea {x
k
}
kN
una sucesin que converge a una solucin de la ecuacin
f (x) = 0 y sea
k
el error absoluto cometido al considerar como solucin
k
= x
k
.
Si existen p N y c R diferentes de cero, tales que
lim
k
|
k+1
|
|
k
|
p
= c, (3.2)
diremos que p es el orden de convergencia mientras que c es la constante del error
asinttico.
Si p = 1 diremos que la convergencia es lineal, si p = 2 se dice que es cuadrtica,
etc.
El lmite anterior signica que la sucesin {x
k
}
kN
converge a la solucin aprox-
imadamente igual de rpido que la funcin
1
x
p
tiende a cero cuando x . La con-
vergencia es ms rpida a medida que p aumenta, por lo que un mtodo de orden ms
alto es mejor que uno de orden ms bajo, siempre que no aumente de forma desmedida
el nmero de operaciones a realizar. Puede comprobarse que el mtodo de la biseccin
es de orden 1 mientras que el de Newton es de orden 2.
3.3 Resolucin de ecuaciones no lineales con Mathematica
3.3.1 Mtodo de la biseccin
Podemos escribir este algoritmo como:
a0=a; b0=b
For[k=1,knmax,k++,
m=(a+b)/2;
If[Abs[f[m]]<pre,
sale=precisin;Break[]];
If[Sign[f[a]]6=Sign[f[m]], b=m; a=a];
If[Sign[f[b]]6=Sign[f[m]], b=b; a=m];
If[b-a<tol, sale=tolerancia;Break[]]]
La impresin de los resultados podemos realizarla con las siguientes instrucciones:
apm=SetPrecision[m,cifras];
If[sale==precisin,
Print[posible solucin exacta:,apm],
If[knmax,Print[solucin pedida:,apm],
28
Print[Se ha llegado al nmero mximo de iteraciones]]]
Print[Nmero de iteraciones: ,k];
Print[Error mximo cometido: ,tol];
Obsrvese que apmt da la solucin aproximada obtenida por Mathematica usando
su propia aproximacin.
Ejercicio 17 Utilizar el algoritmo del mtodo de la biseccin para resolver la ecuacin
1
x
2 log x = 0.5
para diferentes valores de a, b, tol, nmax y cifras.
Dibujar la funcin f (x) =
1
x
2 log x0.5 y comprobar como de cerca se ha quedado
la aproximacin obtenida.
3.3.2 Mtodo de Newton
El algoritmo para el mtodo de Newton se puede escribir como:
x=x0;
For[k=1, knmax, k++,
x=x-(f[x]/f1[x]);
y=f[x]+f1[x]x;
If[Abs[y]<pre, sale=precisin ; Break[]];
If[Abs[f[x]]<tol, sale=tolerancia; Break[]]]
apm=SetPrecision[x,cifras];
If[sale==precisin,
Print[posible solucin exacta: , apm],
If[knmax, Print[solucin pedida: , apm],
Print[Se ha llegado al nmero mximo de iteraciones]]]
Print[Nmero de iteraciones: ,k];
Print[Error mximo cometido: ,tol];
donde f1[x]=D[f[x],x], y se han de introducir los valores para x0, pre, cifras
y tol.
Ejercicio 18 Utilizar los mtodos de la biseccin y de Newton para encontrar las races
positivas en los intervalos correspondientes de las funciones siguientes con un error
menor que 0.02. Dibujar primero las funciones para decidir el intervalo adecuado.
1. f (x) = xcos x log x.
29
2. f (x) = 2x e
x
.
3. f (x) = e
2x
1 + x.
Ejercicio 19 Utilizar el mtodo de Newton para encontrar, con cinco decimales exac-
tos, la raz de la ecuacin sinx =
x
2
2
.
Ejercicio 20 Dada la funcin f (x) =
1
2
x + e
x
.
Encuentra de forma aproximada el valor de su raz con un error menor que 0.01.
3.3.3 Mtodos Numricos de Mathematica
Mathematica tiene paquetes numricos que utilizan estos mtodos de clculo de races
de una ecuacin no lineal. Para encontrar las races de funciones polinmicas de forma
numrica, se utiliza:
NSolve[ecuacin==0,x]
Si la funcin no es polinmica se ha de recurrir a:
FindRoot[ecuacin==0, {x, x0}]
busca una solucin numrica de la ecuacin empezando en x = x0. Se puede usar
tambin
FindRoot[ecuacin==0, {x, x0,x1}]
usa x0 y x1 como los dos primeros valores de x.
FindRoot[ecuacin==0, {x, x0,xmin,xmax}]
busca la solucin y se para si x est fuera del intervalo (xmin, xmax)
FindRoot[{ec1,ec2,...}, {x, x0},{y,y0},...]
encuentra las races de las ecuaciones ec1, ec2,... simultaneamente.
No obstante, si no se conoce con exactitud el punto inicial puede resultar muy
costosa de utilizar. El paquete
<<NumericaMathInterpolateRoot
trabaja de forma ms especca, suponiendo que la funcin tiene un buen compor-
tamiento, lo que permite encontrar las races de una funcin o una ecuacin cerca de
los puntos a,b de forma mucho ms precisa.
InterpolateRoot[funcin,{x,a,b}]
InterpolateRoot[ecuacin,{x,a,b}]
30
Mathematica tambin usa los mtodos numricos explicados anteriormente, car-
gando el paquete
<<NumericalMathIntervalRoots
obtiene intervalos donde pueden estar las races de una funcin mediante los mtodos
anteriores:
IntervalBisection[funcin,x,Interval[{a,b}],tolerancia]
IntervalNewton[funcin,x,Interval[{a,b}],tolerancia]
Ejercicio 21 Resuelve los problemas anteriores usando los mtodos propios de Math-
ematica. Utiliza los resultados para comparar como son de buenos los algoritmos intro-
ducidos.
31
Captulo4
Interpolacin y aproximacin de
funciones
La interpolacin, que es el clculo de valores para una funcin tabulada en puntos que
no aparecen en la tabla, es historicamente una tarea fundamental. Los nombres de
muchos matemticos famosos estn asociados con mtodos de interpolacin: Newton,
Gauss, Bessel, Stirling,...
Aunque hoy en da, los estudiantes rara vez tiene que interpolar para valores de
senos, logaritmos y dems funciones no algebraicas a partir de tablas, sus calculadoras
y computadoras usan estas tcnicas para calcular estos valores y creemos que es impor-
tante que los estudiantes entiendan como funcionan las calculadoras. Adems, estos
mtodos resultan interesantes ya que constituyen la base para muchos procedimientos
que estudiarn, como los de derivacin e integracin numrica, resolucin de ecuaciones
diferenciales, etc. Por otro lado, la interpolacin con polinomios sirve como una exce-
lente introduccin para ciertas tcnicas de aproximacin de curvas suaves, tcnicas que
resultan muy tiles a los alumnos de ingenieria.
4.1 Interpolacin polinmica de Newton
Dado un conjunto de puntos (x
i
, f (x
i
)) se intentar encontrar un polinomio tal que la
funcin y el polinomio se comporten casi igual en el intervalo en consideracin. Por
tanto, los valores del polinomio deben ser estimaciones razonables de los valores de la
funcin desconocida. Cuando el polinomio es de primer grado se obtiene la conocida
interpolacin lineal. Estamos interesados en polinomios de grado mayor.
En general, dado un entero positivo n, los n+1 puntos x
0
, x
1
, ..., x
n
(llamados nodos)
distintos dos a dos en la recta real y los valores correspondientes f(x
0
), f(x
1
), ..., f(x
n
)
de una funcin el problema de interpolacin polinomial consiste en encontrar un poli-
nomio de grado n, tal que
p
n
(x
i
) = f (x
i
) , i = 0, 1, ..., n
Este problema tiene solucin nica, el polinomio que satisface estos requisitos se conoce
como polinomio interpolador o interpolante de la funcin f en los puntos x
0
, x
1
, ..., x
n
.
32
Hay dos procedimientos bsicos para calcularlo: el de Newton y el Lagrange.
Un aspecto importante a considerar es la calidad de nuestra interpolacin, es decir
el error que se comete cuando se aproxima un punto distinto de los nodos.
Teorema 4 Si f C
n+1
(a, b) y x
i
(a, b) para i = 0, 1, ..., n. Entonces, x (a, b)
se verica
f (x) p
n
(x) =
f
n+1
(
x
)
(n + 1)!
(x x
0
) (x x
1
) ... (x x
n
) ,
x
(a, b)
De la frmula anterior no se puede deducir que los polinomios de mayor grado cor-
respondan a una interpolacin mejor. De hecho, esta interpolacin es peor al aumentar
el grado debido al cracter oscilatorio de los polinomios de grado alto. El error tiene
una dependencia directa de la derivada de orden n+1 y de la proximidad de los puntos
a los nodos.
4.1.1 El efecto Runge
Si se considera la sucesin {p
n
(x)} de polinomios de interpolacin obtenida aumentando
indenidamente la cantidad de nodos de interpolacin, se observa que al crecer n,
adems de aumentar el grado del polinomio y el nmero de operaciones que se han de
realizar se acentua la prdida de la precisin en los extremos del intervalo donde se
interpola. Este fenmeno se conoce como el efecto Runge, por lo que es preferible dividir
el intervalo donde se va a efectuar la interpolacin en diversos trozos con polinomios
de grado pequeo.
4.1.2 Polinomio interpolador de Newton
La ventaja del polinomio interpolador de Newton es la sencillez de su formulacin.
Aunque utiliza las llamadas diferencias divididas, nosotros, por sencillez, veremos
como calcular el polinomio mediante la resolucin de un sistema de ecuaciones lineales.
Veamoslo en el siguiente ejemplo,
Ejemplo 5 Calcular el polinomio de interpolacin que pasa por (1, 1),(2, 0),(4, 0),(5, 1),(6, 1.5) .
Solucin: Un polinomio que pasa por cinco puntos debe ser de grado cuatro, luego
se han de encontrar los valores de a
i
en el polinomio:
y = a
0
+ a
1
x + a
2
x
2
+ a
3
x
3
+ a
4
x
4
para que pase por los puntos exigidos. Esto es equivalente a resolver un sistema de
ecuaciones lineales, donde a
i
son las incognitas.
In[] := datos={{1, 1},{2, 0},{4, 0},{5, 1},{6, 1.5}};
x={1,2,4,5,6};
y={1,0,0,1,1.5};
sol = Solve[Table[y[[i]] == a0 + a1*x[[i]] + a2*(x[[i]])^2 +
a3*(x[[i]])^3+a4*(x[[i]])^4, {i, 1, 5}], {a0,a1,a2,a3,a4}];
El polinomio de Newton ser:
33
newton[t_] = Sum[sol[[1]][[i]][[2]]*t^(i - 1), {i, 1, 5}]
Se pueden dibujar los puntos y el polinomio interpolador:
dib1 = ListPlot[datos1, PlotStyle -> {RGBColor[1, 0, 0], PointSize[0.01
dib2 = Plot[newton[t], {t, 0, 6}];
Show[dib1, dib2];
1 2 3 4 5 6
0.5
1
1.5
observando que el polinomio pasa por todos los puntos.
Por otra parte, el comando
InterpolatingPolynomial
permite obtener el polinomio de interpolacin que pasa por los puntos dados.
In[] :pol= Expand[InterpolatingPolynomial[datos,x]]
Plot[pol,{x,1,6}];
2 3 4 5 6
0.5
1
1.5
Ejercicio 22 Dada la tabla siguiente para la funcin f (x) = e
x
x 0.0 0.2 0.4 0.6
f (x) 1.0000 1.2214 1.4918 1.8221
1. Encontrar los valores aproximados de
3
2t
y = 5
2t 5t
2
45
Este conjunto de ecuaciones permite determinar en que punto est el objeto en
cada instante. El dibujo de la trayectoria se puede obtener, adems de utilizar la
orden Plot, mediante
ParametricPlot[{5 Sqrt[2] t ,5 Sqrt[2] t-5 t^2},{t,0, Sqrt[2]}]
El utilizar las ecuaciones paramtricas permite, adems, conocer el sentido de
recorrido de la trayectoria.
Coordenadas polares
Para construir un sistema de coordenadas polares en el plano, se ja un punto O llamado
origen (o polo) y desde O se considera un rayo inicial llamado eje polar. A cada punto
P del plano se le asignan las coordenadas polares (r, t)
1
de la siguiente forma:
r : distancia dirigida de O a P.
t : ngulo orientado en sentido antihorario desde el eje polar hasta el segmento OP.
En general se suele elegir el origen de las coordenadas cartesianas como origen de
las polares y el eje x como eje polar.
Las coordenadas cartesianas estan relacionadas con las polares mediante las frmu-
las
x = r cos t
y = r sint
x
2
+ y
2
= r
2
tant =
y
x
Ejercicio 33 Dibujar las siguientes curvas utillizando coordenadas paramtricas y carte-
sianas:
x
2
+ y
2
= 9
x
2
+ y
2
2x = 0
x
2
+ y
2
4y = 0
y
2
= 2x
x
2
+ y
2
2
9
x
2
y
2
= 0
y = x
Ejercicio 34 Dibujar las siguientes grcas polares
r = 2 cos 3t (rosa de tres ptalos) Cmo dibujaras una rosa de cuatro ptalos?Yde
25?
r
2
= 4 sin2t (lemniscata).
r = 2 3 sint (caracoles).
Ejercicio 35 Escribir las ecuaciones polares de las cnicas y dibujalas.
5.2.2 Curvas en el espacio, ecuaciones paramtricas.
En el espacio, una curva se representa como la interseccin de dos supercies, por lo
que es ms interesante la utilizacin de coordenadas paramtricas, ya que la curva se
obtiene al variar un nico parmetro,
1
En general, las coordenadas polares se conocen por (r, ). Utilizamos t como ngulo por comodidad
de escritura.
46
ParametricPlot3D[{t,t^2,2t}, {t,-1,1}]
Estudiaremos dos nuevos sistemas de coordenadas espaciales: el sistema de coorde-
nadas cilndricas y el sistema de coordenadas esfricas.
Coordenadas cilndricas
En un sistema de coordenadas cilndricas un punto P del espacio se representa por un
trio ordenado (r, t, z), donde
(r, t) es una representacin polar de la proyeccin del punto P en el plano xy, y
z es la distancia orientada de (r, t) a P.
Las coordenadas cartesianas estan relacionadas con las cilndricas mediante las
frmulas
x = r cos t
y = r sint
z = z
x
2
+ y
2
= r
2
tant =
y
x
z = z
Este tipo de coordenadas est especialmente indicado cuando hay trayectorias que
tienen al eje z como eje de simetra.
Ejercicio 36 Dibujar la curva dada por
x = 2 cos t
y = 2 sint
z = t
, 0 t 2
Ejercicio 37 Dibujar la curva interseccin del cilindro x
2
+ y
2
= 9 y el plano x = z.
Ejercicio 38 Dibujar la curva interseccin del paraboloide x
2
= z y el plano x = y.
Coordenadas esfricas
En un sistema de coordenadas esfricas un punto P del espacio se representa por un
trio ordenado (R, t, u)
2
, donde
R es la distancia de P hasta el origen, R 0
t es el mismo ngulo que se usa en coordenadas cilndricas, 0 t 2, y
u es el ngulo entre el eje z positivo y el segmento OP, 0 u .
Las coordenadas cartesianas estan relacionadas con las cilndricas mediante las
frmulas
x = Rsinucos t
y = Rsinusint
z = Rcos u
x
2
+ y
2
+z
2
= R
2
tant =
y
x
u = arccos
z
R
Este tipo de coordenadas es especialmente til para dibujos con un centro de
simetra.
2
En general, las coordenadas esfricas se conocen por (, , ). Utilizamos la otra notacin por
comodidad de escritura.
47
5.3 Dibujo de supercies, parametrizacin de supercies
Una supercie necesita dos parmetros para poder dibujarla, el Mathematica dibuja de
forma inmediata supercies que son funciones de dos variables, z = f(x, y)
Plot3D[x+y, {x,-1,1},{y,-1,1}];
Pero si las supercies no son planos, su dibujo es mejor si se utilizan las coordenadas
adecuadas.
Ejercicio 39 Dibujar las siguientes supercies:
x = y (plano)
x
2
+ y
2
= 9 (cilindro de radio 3).
x
2
+ y
2
= 4z (paraboloide).
x
2
+ y
2
= z
2
(cono).
x
2
+ y
2
z
2
= 1 (hiperboloide)
x
2
+ y
2
+z
2
= 1 (esfera)
Ejercicio 40 Dibujar las siguientes supercies dadas en coordenadas paramtricas e
identicalas:
r = 3
r = 2
z
r = z
r
2
= z
2
+ 1
R = 1
t =
4
u =
4
x = (2 + cos u) cos v, y = (2 + cos u) sinv, z = sinu, 0 u 2, 0 v 2
(toro).
Ejercicio 41 Encontrar, en su caso, las ecuaciones de las supercies anteriores en
coordenadas cartesianas.
5.4 Clculo Diferencial
Vamos a introducir ahora algunos comandos de los que dispone Mathematica para
abordar, y en muchos casos resolver con xito, gran variedad de problemas que surgen
en el Clculo Diferencial en una y en varias variables. Desde luego, no se trata aqu de
estudiar a fondo esta disciplina matemtica, sino ms bien de ilustrar las tcnicas que
el programa pone a disposicin del usuario para reducir considerablemente los clculos
y, lo que es ms importante, para entender qu es lo que se est haciendo
48
5.4.1 Derivacin explcita e implcita
El programa ofrece varios comandos para el clculo de derivadas tanto de funciones de
una variable como de varias variables. En este apartado los repasaremos brevemente y
veremos cmo se pueden aplicar a gran nmero de problemas que aparecen en Clculo.
El comando
D[f, x ]
calcula la derivada parcial
x
f;
D[f, x , y, ...]
calcula la derivada mltiple
x
y
. . . f;
D[f, {x , n}]
proporciona la derivada n-sima
n
x
n
f, mientras que
D[f, x , NonConstants {u, v, ...}]
calcula la derivada parcial de f respecto a x considerando u, v, . . . tambin como
funciones de x. Obviamente, estos comandos tambin sirven si la funcin f depende
slo de x:
Si y depende de x, se puede usar la forma funcional explcita y[x] para efectuar la
derivacin:
As es posible, por ejemplo, derivar implcitamente. Los siguientes comandos pro-
porcionan otras formas de calcular derivadas: f[x] obtiene la derivada primera de
una funcin de una variable; f[x] da la derivada segunda de una funcin de una
variable, y as sucesivamente. El objeto f en Mathematica es el resultado de aplicar
el funcional de diferenciacin a la funcin f. La forma completa de f es, de hecho,
Derivative[1][f]
de manera que Derivative[1] puede ser considerado como el operador de diferen-
ciacin, esto es, como el operador que al actuar sobre una funcin f proporciona su
funcin derivada. El comando para obtener la diferencial total de una funcin f es
Dt[f]
mientras que
Dt[f, x ]
da la derivada total
df
dx
;
49
Dt[f, x , y, ...]
da la derivada total mltiple
d
dx
d
dy
f, y
Dt[f, x , Constants {c, d,...}]
proporciona la derivada total con c, d, constantes. Podemos hacer una denicin
explcita para
dy
dx
con el comando
Dt[y, x ] = algo
pudiendo anular la denicin para la derivada con Clear[y].
A veces ocurre que una funcin y(x) viene dada implcitamente por una cierta
ecuacin e interesa calcular su derivada. Los comandos anteriores resuelven este prob-
lema. As,
Dt[ecuaci on, x ]
efecta la derivada de la ecuacin con respecto a x, obtenindose una expresin de
donde se podr despejar la derivada.
Dada una aplicacin f : R
n
R
m
, a veces interesar calcular su matriz jaco-
biana y su determinante jacobiano. La funcin que Mathematica incorpora para esta
eventualidad es Outer.
Para concluir este apartado diremos que el paquete
CalculusVectorAnalysis.m
dispone de funciones especcas para el clculo del gradiente, la divergencia, el rota-
cional y el laplaciano de un campo vectorial f. Los comandos respectivos son: Grad[f],
Div[f], Curl[f] y Laplacian[f].
5.4.2 Problemas
Vamos ahora a resolver algunos problemas tpicos:
Ejercicio 42 Calcular y
0
(x) sabiendo que cos(x + siny) = siny.
Ejercicio 43 La trayectoria de un mvil en dos dimensiones viene descrita por las
ecuaciones
x(t) = t cos t
y (t) = t sint
1. Dibujar la trayectoria desde t = 0 hasta t = 2 y la recta tangente en los puntos
t = 1.7 y t = .
50
2. Determinar los puntos de corte de estas rectas tangente y los ejes coordenados.
Ejercicio 44 Una fuente de alimentacin suministra un voltaje peridico en el tiempo
de modo que en [, ] vale V (t) = e
t
2
. Aproximar esta funcin en torno a los
puntos 0 y
2
mediante un polinomio de Taylor de grado cuatro. Dibujar la funcin y
el polinomio en dicho intervalo.
Ejercicio 45 Calcular las derivadas parciales de la funcin
f(x, y) =
x
3
y xy
3
x
2
+ y
2
f(x, y) =
_
_
_
xy
2
x
2
+ y
4
si (x, y) 6= (0, 0)
0 si (x, y) = (0, 0)
Ejercicio 46 Dada la funcin
f (x, y) =
_
_
_
xy
x
2
y
2
x
2
+ y
2
, (x, y) 6= (0, 0)
0, (x, y) = (0, 0)
1. Estudia su continuidad en todo su dominio.
2. Calcula sus derivadas parciales en todo el dominio.
3. Es diferenciable? Se cumple el teorema de Young?
4. Estudiar la continuidad de las derivadas parciales calculadas en el problema an-
terior. Dibuja las grcas de las funciones dadas.
Ejercicio 47 Aplicar el teorema de los incrementos nitos para ver cuales de las fun-
ciones anteriores del problema 45 son diferenciables en el punto (0, 0) .
Ejercicio 48 Calcular la derivada direccional de la funcin
f(x, y, z) =
1
p
x
2
+ y
2
+ z
2
en el punto (2, 1, 1) segn el vector (1, 1, 0).
5.4.3 Mximos y mnimos de funciones
Vamos ahora a resolver algunos problemas tpicos de clculo de mximos y mnimos de
funciones de una y dos variables, as como su interpretacin geomtrica:
Ejercicio 49 Dibujar la curva 2x
2
2xy +y
2
+x+2y +1 = 0. Calcula la ecuacin de
sus tangentes en los puntos de abcisa x = 1/2. Dibujar la curva y las dos tangentes.
51
Ejercicio 50 Dibujar las curvas siguientes y estudia en que puntos la funcin no tiene
derivada. Demustralo.
r = 2 cos 3t (rosa de tres ptalos)
r
2
= 4 sin2t (lemniscata).
r = 2 3 sint (caracoles).
Ejercicio 51 Dibujar las curvas siguientes:
Curva interseccin del cilindro x
2
+y
2
= 9 y el plano x = z.
Curva interseccin del paraboloide x
2
= z y el plano x = y.
Suponiendo que estas curvas son las seguidas por un mvil, cal es la velocidad de
dicho mvil en cada uno de los puntos?. Y su aceleracin?
Ejercicio 52 Dibujar la funcin f(x, y) = x
2
+ y
2
, calcula y clasica sus puntos ex-
tremos.
Ejercicio 53 Hallar los puntos extremos de las funciones siguientes y determinar
cuales son mximos, mnimos y puntos silla locales.
f (x, y) = x
2
y
2
xy ,
f (x, y) = x
2
+ y
2
xy,
f (x, y) = e
1+x
2
y
2
,
f (x, y) =
x
2
+ 3y
2
e
1x
2
y
2
.
Dibujar las grcas correspondientes.
Ejercicio 54 Usar el mtodo de los multiplicadores de Lagrange para hallar los valores
mximo y mnimo absoluto de f (x, y) = x
2
+ y
2
x y + 1 en el disco unidad. Haz
una representacin grca.
Ejercicio 55 Hallar y clasica los puntos extremos no degenerados de la funcin
f(x, y) = 120x
3
30x
4
+ 18x
5
+ 5x
6
+ 30xy
2
Dibujarla.
Ejercicio 56 Hallar y clasicar los puntos extremos de la funcin f(x, y, z) = x
2
+
xy + y
2
+ z
2
.
Ejercicio 57 La energia interna de un cierto sistema viene dada en funcin de la
presin x y el volumen y por
U (x, y) = 1 e
(x1)
2
(y2)
2
1. Dibujar la grca de la funcin U y los conjuntos de nivel para presin y volumen
entre 0 y 3.
2. Obtener los mximos y mnimos de U.
3. Calcular el polinomio de Taylor de grado 2 de U en uno de los mnimos obtenidos.
Calcular el error cometido al aproximar la funcin por este polinomio de Taylor.
52
Ejercicio 58 Dada la funcin f (x, y) = y sin(x).
1. Dibujarla.
2. Determinar sus puntos crticos.
3. Calcular las aproximaciones de Taylor de primer y segundo grado en el punto
(0, 0) .
4. Determinar sus puntos crticos restringidos al plano z = 1.
Ejercicio 59 Dada la ecuacin z
4
+x
2
z
3
+ y
2
+ xy = 2.
1. Demostrar que dene a z como una funcin de x e y en un entorno del punto
(1, 1, 1) .
2. Calcular el plano tangente a esta supercie en un entorno del punto (1, 1, 1) .
3. Calcular la aproximacin de segundo grado en dicho punto.
53