Está en la página 1de 53

Prcticas con Mathematica

Fundamentos Matemticos de la Ingenieria I.


P. Vindel
Departament de Matemtiques.
ESTCE. Campus de Riu Sec.
2005-2006
1
ndice
1 Introduccin a Mathematica 4
1.1 Convenios sobre notacin . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.1 Funciones incorporadas. . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.2 Funciones no incorporadas . . . . . . . . . . . . . . . . . . . . . . 6
1.1.3 Sumatorios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Aproximaciones numricas . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Posibilidades simblicas y algebraicas . . . . . . . . . . . . . . . . . . . 8
1.3.1 Problemas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Asignaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.1 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 Iteradores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6 Grcos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2 lgebra lineal 13
2.1 Resolviendo problemas con el Mathematica . . . . . . . . . . . . . . . 13
2.1.1 Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.2 Sistemas de ecuaciones lineales . . . . . . . . . . . . . . . . . . . 15
2.1.3 Valores y vectores propios . . . . . . . . . . . . . . . . . . . . . . 16
2.2 Problemas de lgebra Lineal . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3 Introduccin a los Mtodos Numricos. Mtodos del lgebra Lineal . . 19
2.3.1 Eliminacin Gaussiana y sustitucin hacia atrs . . . . . . . . . 20
2.3.2 Descomposicin QR y descomposicin de Shur . . . . . . . . . . 23
3 Resolucin numrica de ecuaciones no lineales 24
3.1 Mtodo de la biseccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Mtodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.1 Anlisis del error . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3 Resolucin de ecuaciones no lineales con Mathematica . . . . . . . . . . 28
3.3.1 Mtodo de la biseccin . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.2 Mtodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.3 Mtodos Numricos de Mathematica . . . . . . . . . . . . . . . . 30
2
4 Interpolacin y aproximacin de funciones 32
4.1 Interpolacin polinmica de Newton . . . . . . . . . . . . . . . . . . . . 32
4.1.1 El efecto Runge . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.1.2 Polinomio interpolador de Newton . . . . . . . . . . . . . . . . . 33
4.1.3 Interpolacin a trozos . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2 Interpolacin con un splin cbico . . . . . . . . . . . . . . . . . . . . . . 36
4.3 Ajuste de datos por mnimos cuadrados . . . . . . . . . . . . . . . . . . 38
5 Estudio de funciones reales 42
5.1 Grcas en Dos y Tres Dimensiones . . . . . . . . . . . . . . . . . . . . 42
5.1.1 Grcas en el plano. . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.1.2 Grcas Tridimensionales . . . . . . . . . . . . . . . . . . . . . . 44
5.2 Curvas en el plano y en el espacio . . . . . . . . . . . . . . . . . . . . . . 45
5.2.1 Curvas en el plano, ecuaciones paramtricas . . . . . . . . . . . . 45
5.2.2 Curvas en el espacio, ecuaciones paramtricas. . . . . . . . . . . 46
5.3 Dibujo de supercies, parametrizacin de supercies . . . . . . . . . . . 48
5.4 Clculo Diferencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.4.1 Derivacin explcita e implcita . . . . . . . . . . . . . . . . . . . 49
5.4.2 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.4.3 Mximos y mnimos de funciones . . . . . . . . . . . . . . . . . . 51
3
Captulo 1
Introduccin a Mathematica
Los ingenieros realizan una gran cantidad de clculos y manipulaciones matemticas
a mano. La mayora de estos clculos es posible realizarlos mediante un programa
de ordenador como Mathematica. Mathematica, por tanto, trabaja sobre problemas
que no es prctico realizar a mano. Mathematica es una herramienta til para hacer
manipulaciones simblicas y numricas, as como para trabajar con grcos.
Mathematica es un lenguaje interpretado, es decir, lee expresiones, evala el resul-
tado y luego lo muestra en pantalla. Al ser interactivo, es ms fcil de usar que los
lenguajes compilados como C o FORTRAN.
Mathematica dispone de una gran cantidad de funciones ya denidas (funciones
incorporadas) con las que se pueden cubrir los aspectos ms generales de las ingenieras.
Adems, Mathematica es programable; cualquier funcin no disponible la puede escribir
uno mismo.
1.1 Convenios sobre notacin
Para introducirnos en el lenguaje de Mathematica, en cada prctica veremos algunos
ejemplos que muestran las posibilidades de este programa.
Cada ejemplo consiste en un input del usuario encabezado con In[n] , n-simo in-
put, y una respuesta de Mathematica encabezada con Out[n] , n-simo output, cuando
proceda. Para comenzar con Mathematica es conveniente probar con los ejemplos prop-
uestos.
Las expresiones escritas en letra mecanografiada corresponden al input y al output.
Las correspondientes al input se deben escribir tal y como aparecen en los ejemplos;
las correspondientes al output no se tienen que escribir: las escribe Mathematica. Las
palabras y smbolos escritos en tipo mquina se deben reemplazar por expresiones
introducidas por el usuario.
En el siguiente ejemplo la expresin 2 + 2 corresponde al input, y por tanto se debe
escribir tal y como aparece, mientras que la expresin 4 corresponde al output, y no se
debe escribir en pantalla.
2 + 2
Out[] = 4
4
Hay que poner atencin en la diferencia entre maysculas y minsculas, el tipo de
parntesis o llaves, la cantidad de espacios y la puntuacin (comas, puntos y comas).
Mathematica diferencia entre maysculas y minsculas, y por tanto Sin[x] es dis-
tinto de sin[x]. Los nombres de todas las funciones incorporadas empiezan con mays-
cula.
Cada tipo de parntesis tiene su propio signicado.
No se deben poner espacios en los nombres de las funciones y s entre dos variables
que deben ser multiplicadas. En los dems casos, los espacios no se tienen en cuenta.
Al igual que con los tipos de parntesis, cada signo de puntuacin tiene tambin su
propio signicado.
Mathematica es un programa interactivo. Basta introducir una expresin, como
por ejemplo una operacin matemtica, para que nos devuelva el resultado. Cuando
Mathematica espera la introduccin de una expresin, aparece un indicador de la forma
In[n]:= . Al introducir la expresin, Mathematica la procesa, y, si corresponde, mues-
tra el resultado.
Mathematica proporciona varios mecanismos para obtener ayuda e informacin so-
bre las ms de 800 funciones incorporadas, as como de las introducidas por el usuario.
Esto da informacin acerca de la funcin incorporada Sin.
?Sin
Out [] = Sin[z] gives the sine of z.
As, podemos calcular el seno de /4
Sin[Pi/4]
Mediante ?? obtenemos informacin adicional.
Mathematica tiene incorporados la mayora de los smbolos matemticos con los
que se trabaja habitualmente. Entre ellos estn las operaciones bsicas: suma (+),
diferencia (-), producto (*), divisin (/) y potencia (^).
El texto entre (* y *) no se evala. Estos parntesis se utilizan para hacer comen-
tarios.
v = {7, 3, -1} (* Aqu v es un vector *)
1.1.1 Funciones incorporadas.
El Kernel de Mathematica reconoce ms de 1100 funciones. Estas funciones se llaman
funciones incorporadas. Los nombres de las funciones incorporadas consisten en pal-
abras inglesas completas o abreviaciones matemticas estndar, de forma que la primera
letra de cada palabra se escribe con mayscula. Por ejemplo, una de las funciones que
aparecen cuando pedimos a Mathematica los nombres de las funciones que empiezan
por Si es SingularValues.
Las funciones propiamente dichas son el equivalente a las funciones que empleamos
en matemticas, en el sentido de que no tienen por qu tomar siempre un valor con-
stante. La funcin trigonomtrica sin(x) es una funcin no constante; la letra x dec-
imos que es su variable. En la notacin de Mathematica la funcin seno hemos visto
5
que se representa por Sin, de forma que cuando queremos calcular sin(/2) escribimos
Sin[Pi/2]. El concepto anlogo al concepto matemtico de variable en la terminologa
de Mathematica es el trmino argumento.
Evidentemente, no todas las funciones requieren un nico argumento. Cuando una
funcin requiere ms de un argumento, estos van separados por comas. Aqu calculamos
la derivada de x
2
:
D[x^2,x]
Si una funcin es invocada con ms, o menos, argumentos de los requeridos Math-
ematica devuelve un mensaje de error y como output la expresin sin evaluar.
Sin[2, 3]
1.1.2 Funciones no incorporadas
Como se ha indicado en la introduccin, Mathematica es programable y, por tanto,
podemos aadir funciones a Mathematica. Un ejemplo muy sencillo es denir una
funcin que eleve al cuadrado su argumento.
f[x_]=x^2
f[2]
Out [] =4
El carcter _ (referido como blanco) en la parte de la izquierda es muy importante.
No hay que poner un blanco en la parte de la derecha de la denicin.
Una funcin puede tener ms de un argumento. Aqu denimos la funcin g(x, y) =
xy:
g[x_,y_]= x y;
g[2, 3]
Out [] =6
En algunas ocasiones necesitamos una denicin aplazada. Por ejemplo, cuando
denimos la funcin factorial
factorial[0] = 1;
factorial[x_ ]:= x factorial[x - 1]
factorial[4]
Out [] =24
En este caso el signo igual (=) debe ir precedido por dos puntos (:).
6
1.1.3 Sumatorios
El sumatorio
m
P
i=n
f(i) en Mathematica se expresa como
Sum[f[i], {i, n, m}]
En su forma ms general la funcin Sum tiene la siguiente sintaxis:
Sum[expr, {i, min, max, paso}]
La funcin Sum tiene dos argumentos: la expresin sobre la que se efecta la suma
y un iterador. Un iterador es una lista como mnimo de un elemento y como mximo
cuatro. En nuestro caso utilizaremos tres o cuatro elementos para un iterador. Los
iteradores de la forma var, vmin, vmax ejecutan una funcin para var = vmin hasta
var = vmax , incrementando var en 1 en cada iteracin. Por ejemplo, para hacer la
suma de los diez primeros nmeros naturales, hacemos
Sum[i, {i, 1, 10}]
Out [] =55
En cambio, para hacer la suma de los 10 primeros nmeros naturales impares,
hacemos
Sum[i, {i, 1, 10, 2}]
Out [] =25
1.2 Aproximaciones numricas
Mathematica trabaja con aritmtica exacta pero, a menudo, esta situacin no es posible
o, al menos, no es operativa. Como veremos ms adelante muchos problemas se han
de resolver de forma aproximda. Mathematica utiliza el comando N para dar una
aproximacin de un resultado numrico con la precisin deseada. Por ejemplo, para
calcular la raz cuadrada de 2 introducimos
Sqrt[2]
Out [] =

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

1. Obtener p (A) donde p (x) = 3 + 2x 5x


2
.
2. Obtener su inversa utilizando el teorema de Cayley-Hamilton.
2.3 Introduccin a los Mtodos Numricos. Mtodos del
lgebra Lineal
En esta seccin repasaremos algunas de las posibilidades que ofrece Mathematica para
resolver problemas numricos de lgebra Lineal, en particular veremos la resolucin
numrica de sistemas de ecuaciones lineales. Los mtodos iterativos para el clculo de
valores y vectores propios son usados por Mathematica en los comandos Eigenvalues[N[m]],
como ya hemos comentado.
Para resolver el sistema de ecuaciones lineales:
E
1
: a
11
x
1
+a
12
x
2
+ ... + a
1n
x
n
= b
1,
E
2
: a
21
x
1
+a
22
x
2
+ ... + a
2n
x
n
= b
2,
...
E
n
: a
n1
x
1
+a
n2
x
2
+ ... + a
nn
x
n
= b
n,
1. La ecuacin E
i
puede multiplicarse por una constante no nula y se puede usar
la ecuacin resultante en vez de E
i
. Esta operacin se denota por (E
i
) E
i
.
2. La ecuacin E
j
puede multiplicarse por una constante no nula , sumarla a la
ecuacin E
i
y usar la ecuacin resultante en vez de E
i
. Esta operacin se denota
por (E
i
+ E
j
) E
i
.
19
3. La ecuaciones E
j
y E
i
pueden intercambiarse. Esta operacin se denota por E
i

E
j
.
Por medio de estas operaciones se puede transformar un sistema lineal en otro ms
sencillo de resolver con el mismo conjunto de soluciones.
Al realizar las operaciones anteriores las variables no cambian, slo sus coecientes.
Por esto un sistema lineal se reemplaza frecuentemente por una matriz, que contiene
toda la informacin del sistema.
2.3.1 Eliminacin Gaussiana y sustitucin hacia atrs
El sistema anterior lo podemos representar como una matriz, conocida como matriz
ampliada,
_
_
_
_
a
11
a
12
... a
1n
a
21
a
22
... a
2n
... ... ... ...
a
n1
a
n2
... a
nn

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

b = (9, 5, 5, 5, ....., 5, 3).

b = (2, 3, 3, ..., 3, 5).


Utilizando Do para construir estos vectores.
Ejercicio 15 Resolver un sistema lineal de 20 ecuaciones y 20 incognitas, utilizando
como matriz de coecientes una matriz que sigua la recurencia de la matriz del ejemplo
anterior y como vector de trminos independientes el vector

b = (9, 5, 5, 5, ....., 5, 3).
Ejercicio 16 Repetirlo para un sistema de 100 ecuaciones y 100 incgnitas.
2.3.2 Descomposicin QR y descomposicin de Shur
La descomposicin QR de una matriz A consiste en encontrar dos matrices Q y R,
ortonormal la primera y triangular la segunda, de forma que A = Q
T
R. Mathematica
la calcula usando
QRDecomposition[matriz]
La descomposicin de Schur de una matriz A consiste en encontrar dos matrices
S y T, ortogonal la primera y triangular superior la segunda, tal que A = STS
T
.
Mathematica la calcula usando
SchurDecomposition[matriz]
Problema 15 Dada la matriz
_
_
1 3 1
0 1 1
1 0 1
_
_
Encontrar su descomposicin QR y de Schur.
23
Captulo3
Resolucin numrica de
ecuaciones no lineales
El objetivo de esta prctica es aprender a utilizar los comandos de Mathematica que
permiten abordar el estudio de ecuaciones y sistemas no lineales, es decir, nos pro-
ponemos resolver ecuaciones de la forma
f (x) = 0 (3.1)
donde f es una funcin real de variable real. Este tipo de ecuaciones reciben el nombre
de ecuaciones no lineales y el valor que satisface la igualdad f () = 0 se conoce como
solucin, cero o raz de la ecuacin.
Las ecuaciones no lineales son ms habituales de lo que pueda pensarse, por ejemplo,
al describir el movimiento de los planetas alrededor del sol o de los satlites alrededor
de los planetas se obtienen rbitas elpticas; para determinar entonces en que punto
de la elipse se encuentra un mvil en un tiempo dado hay que resolver la ecuacin de
Kepler:
x e sinx = z
donde e es la excentricidad de la elipse y z es un nmero conocido que se calcula a
partir del tiempo t. Es decir, se han de encontrar los ceros de la funcin:
f (x) = x e sinx z.
El caso ms sencillo de ecuaciones no lineales es cuando la funcin f es una funcin
polinmica P (x) . Si P (x) = ax+b, la solucin de (3.1) slo requiere el clculo de una
divisin. Si P (x) = ax
2
+bx+c, la solucin de (3.1) necesita extraer races cuadradas.
El mtodo de resolucin de un polinomio cbico se debe a Tartaglia (1499-1557) y a
del Ferro (1465-1526) y el de una ecuacin polinmica de cuarto grado a Ferrari (1522-
1565). Durante siglos se busc la frmula para resolver polinomios de quinto grado hasta
que Abel demostr que no tenan solucin. La imposibilidad de encontrar una frmula
que resolviera una ecuacin polinmica de grado mayor o igual que cinco mediante
combinaciones de operaciones elementales fue demostrada por Galois. Estos resultados
indican que, desde muy pronto, se vi la necesidad de utilizar tcnicas numricas para
resolver las ecuaciones no lineales.
24
Calcular la raz de una ecuacin con un ordenador utilizando tcnicas numricas
tiene sus limitaciones. A menudo la raz es un nmero real que no tiene una repre-
sentacin exacta en el ordenador. En este caso, tendremos que conformarnos con una
aproximacin que verique una condicin impuesta en el algoritmo de la forma
|f (x)| <
donde es una constante positiva prviamente jada que recibe el nombre de tolerancia
del algoritmo y tiene la funcin de actuar como criterio de parada del algoritmo cuando
consideramos que estamos sucientemente cerca del valor exacto de la raz. En los
algoritmos iterativos en los que se genera una sucesin de aproximaciones {x
n
}
nN
que queremos que converja a la solucin, se utiliza como criterio de parada el que dos
iteraciones sucesivas cumplan uno de los dos siguientes criterios:
1. |x
n+1
x
n
| < , criterio de la diferencia absoluta.
2.
|x
n+1
x
n
|
|x
n
|
< , criterio de la diferencia relativa.
En un proceso de clculo de races de una ecuacin no lineal primero hay que
tener un cierto conocimiento de la zona en que se encuentran las races para, despus,
construir de forma iterativa una sucesin de valores que converja a la solucin. En el
caso de tener races muy prximas es conveniente determinar intervalos que contengan
una nica raz.
3.1 Mtodo de la biseccin
El algoritmo de la biseccin es el ms sencillo pero converge lentamente a la solucin,
aunque siempre converge a ella, por lo que suele usarse inicialmente para determinar
los intervalos donde aplicar los mtodos iterativos ms rpidos. Se basa en el teorema
de Bolzano:
Teorema 1 Dada una funcin f (x) continua en un intervalo [a, b] que verica la
condicin f (a) f (b) < 0, existe (a, b) tal que f () = 0.
Para construir el algoritmo de iteraccin se crea una sucesin de intervalos encajados
de la siguiente forma:
1. Se parte del intervalo [a
0
, b
0
] = [a, b] .
2. Se calcula el punto medio del intervalo [a
k
, b
k
] .
m
k
= 0.5 (a
k
+ b
k
)
Si |f (m
k
)| <
1
m
k
, se para el proceso.
Si f (a
k
) f (m
k
) < 0 [a
k+1
, b
k+1
] = [a
k
, m
k
] .
Si f (a
k
) f (m
k
) > 0 [a
k+1
, b
k+1
] = [m
k
, b
k
] .
k = k + 1
25
3. Los clculos se paran cuando |b
k
a
k
| <
2
o cuando k > k
max
. Se obtiene
m
k
=
a
k
+b
k
2
donde
1
y
2
son tolerancias jadas por el algoritmo y que pueden ser iguales
o no, k
max
es el valor de la iteracin mxima que consideremos, para evitar un
proceso excesivamente largo.
Como hemos comentado, este mtodo converje siempre y da cotas superiores e
inferiores para la raz buscada, pero no utiliza propiedades de la funcin que se estudia
y su convergencia es muy lenta.
Ejemplo 4 Consideremos el ejemplo anterior f (x) = x e sinx z, con e = 0.5 y
z = 0.7.
Empezaremos localizando la raz: f (0) = 0.7 < 0, f (2) = 2 0.5 sin2 0.7
= 0. 845 35 > 0, luego empezamos en el intervalo [0, 2] . f (1) = 1 0.5 sin1 0.7
= 0. 120 74 < 0, luego ser el intervalo [1, 2] , f (1.5) = 1.5 0.5 sin1.5 0.7 =
0.301 25 > 0 [1, 1.5] , f (1.25) = 1.25 0.5 sin1.25 0.7 = 7. 550 8 10
2
> 0
[1, 1.25] , f (1.125) = 1.125 0.5 sin1.125 0.7 = 2. 613 4 10
2
< 0 [1.125, 1.25] ,
f (1.1875) = 1.18750.5 sin1.18750.7 = 2. 378 210
2
> 0 [1.125, 1.1875] es decir,
despus de cinco iteracciones sabemos que la raz est en el intervalo [1.125, 1.1875] ,
por lo que si aproximamos la solucin por el punto medio de ste, 1.15625 sabemos que
el error que se comete es menor que 0.0 312 5.
3.2 Mtodo de Newton
El mtodo de Newton, tambin llamado de Newton-Raphson, es un ejemplo de un
mtodo de punto jo. Es decir, se basa en utilizar una ecuacin de la forma g (x) = x
equivalente a f (x) = 0 con f (x) derivable. Para encontrar el punto en el que f (x
0
) = 0
se parte de un valor x
1
, llamado pivote, desde el que se traza la recta tangente a la curva
y = f (x) en el punto (x
1
, f (x
1
)) , de ecuacin y f (x
1
) = f
0
(x
1
) (x x
1
) . Esta recta
corta al eje de las x en un punto x
2
= x
1

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

e por interpolacin lineal y cbica.


2. Encontrar las cotas respectivas de los errores debidos a la interpolacin. Comparar
con el valor exacto, obtenido en la calculadora.
Ejercicio 23 Dados los puntos
x 0.5 0.2 0.7 0.1 0.0
f (x) 1.1518 0.7028 1.4845 0.1494 0.1353
1. Interpolar con un polinomio cbico que pase por los cuatro primeros puntos y
utilizarlo para calcular f (0.2) .
34
2. Hacer una estimacin del error.
Ejercicio 24 La funcin f (x) =
1
1 + x
2
, se conoce como funcin de Runge y fue
la utilizada por Runge para demostrar el efecto que lleva su nombre. Calcular los
polinomios interpoladores de grados 4 y 10, de dicha funcin en el intervalo [5, 5].
4.1.3 Interpolacin a trozos
Una solucin al problema de la oscilacin de los polinomios de grado alto consiste
en subdividir el intervalo en intervalos ms pequeos e interpolar un nmero menor
de nodos con polinomios de grado menor, se suele utilizar la interpolacin mediante
polinomios cbicos.
Para ello recordemos como se dibuja una funcin a trozos utilizando el Mathematica.
In[]:= g[t_]:=Which[t<0,-t^3,0<t<1,t^2,1<t<2,t-1,t>2,1];
In[]:= Plot[g[t],{t,-5,5}];
-4 -2 2 4
0.5
1
1.5
2
2.5
Por tanto, dado un conjunto de nodos, utilizaremos una interpolacin mediante poli-
nomios cbicos cada cuatro nodos. Veremos el ejemplo anterior utilizando polinomios
interpoladores de grado 2.
x={1,2,4,5,6};
y={1,0,0,1,1.5};
sol1 = Solve[Table[y[[i]] == a0 + a1*x[[i]] + a2*(x[[i]])^2 ,
{i, 1, 3}], {a0,a1,a2}];
sol2 = Solve[Table[y[[i]] == a0 + a1*x[[i]] + a2*(x[[i]])^2 ,
{i, 3, 5}], {a0,a1,a2}];
El polinomio de Newton ser:
newton1[t_] = Sum[sol1[[1]][[i]][[2]]*t^(i - 1), {i, 1, 3}]
newton2[t_] = Sum[sol2[[1]][[i]][[2]]*t^(i - 1), {i, 1, 3}]
y utilizar Which para construir el polinomio a trozos:
newtonTotal[t_]=Which[t<x[[3]],newton1[t],x[[3]]<t<x[[5]],newton2[t]]
Se pueden dibujar los puntos y el polinomio interpolador:
dib1 = ListPlot[datos1, PlotStyle -> {RGBColor[1, 0, 0], PointSize[0.01]}];
dib2 = Plot[{newtonTotal[t], {t, 0, 6}];
Show[dib1, dib2];
35
1 2 3 4 5 6
-0.25
0.25
0.5
0.75
1
1.25
1.5
4.2 Interpolacin con un splin cbico
No obstante, cuando los datos no son suaves hay problemas con los polinomios de
interpolacin, lo que signica que hay irregularidades locales. El interpolar con poli-
nomios de orden superior en la mayor parte de los casos conduce a que el polinomio se
aleje de la funcin en otras regiones. Una solucin es ajustar subregiones de los datos
con polinomios diferentes tal y como se ha hecho en el apartado anterior, pero este
mtodo tambin es problemtico porque las uniones de los polinomios no tienen una
pendiente continua. Para impedir este problema son de utilidad los tipos especiales de
polinomios denominados splines.
Por otro lado, el estudio de los splines conduce a algunas otras formas especiales
de polinomios (curvas de Bezier y splines-B) que no se interpolan, es decir, no pasan
exactamente por todos los puntos de la funcin, pero que son de mucha utilidad para
trazar curvas suaves. Aunque los splines pueden ser de cualquier grado, usaremos los
de grado tres por ser los ms conocidos.
El ajuste de una curva mediante splines cbicos exige la creacin de una sucesin
de splines cbicos sobre intervalos sucesivos de los datos con la condicin de que la
pendiente de los polinomios debe coincidir en los nodos en que se unen. As, se escribe
la ecuacin para un polinomio cbico, g
i
(x
i
) , en el isimo intervalo, entre los puntos
(x
i
, y
i
) y (x
i+1
, y
i+1
) y la funcin splin cbico que se desea es de la forma
g (x) = g
i
(x
i
) , x [x
i
, x
i+1
]
y cumple las condiciones:
1. g
i
(x
i
) = y
i
, i = 0, 1, ..., n 1, g
n1
(x
n
) = y
n
;
2. g
i
(x
i+1
) = g
i+1
(x
i+1
) , i = 0, 1, ..., n 2;
3. g
0
i
(x
i+1
) = g
0
i+1
(x
i+1
) , i = 0, 1, ..., n 2;
4. g
00
i
(x
i+1
) = g
00
i+1
(x
i+1
) , i = 0, 1, ..., n 2.
De donde se obtiene
y
i+1
= a
i
(x x
i+1
)
3
+ b
i
(x x
i+1
)
2
+ c
i
(x x
i+1
) + d
i
=
= a
i
h
3
i
+ b
i
h
2
i
+ c
i
h
i
+ d
i
, i = 0, 1, ..., n 1.
36
Si se hace S
i
= g
00
i
(x
i
) y S
n
= g
00
n1
(x
n
) , los valores de los coeciente vienen dados
por
a
i
=
S
i+1
S
i
6h
i
, b
i
=
S
i
2
, c
i
=
y
i+1
y
i
h
i

2h
i
S
i
+ h
i
S
i+1
6
, d
i
= y
i
Como los nodos extremos no tienen ninguna condicin hay distintas aproxima-
ciones, la ms sencilla es la lineal S
0
= S
n
= 0.
El Mathematica tiene esta aproximacin incorporada en el paquete
<<GraphicsSpline
Ejemplo 6 Veamos como utilizar este comando para ajustar la siguiente tabla de datos
1 2 3 4
1 4 3 4
In[]:= <<GraphicsSpline
In[]:=datos={{1,1},{2,4},{3,3},{4,4}};
In[]:=splin=Spline[datos,Cubic]
In[]:=Show[Graphics[{Line[datos],splin},Axes->True];
1.5 2 2.5 3 3.5 4
1.5
2
2.5
3
3.5
4
Ejercicio 25 Los datos de la siguiente tabla provienen de observaciones astronmicas
de un tipo de estrella variable denominada variable cefeida y representan magnitudes
en su variacin aparente con el tiempo:
Tiempo 0.0 0.2 0.3 0.4 0.5 0.6 0.7 0.8 1.0
Magnitud aparente 0.302 0.185 0.106 0.093 0.240 0.579 0.561 0.468 0.302
Dibujar una curva de interpolacin usando
1. un polinomio interpolador de Newton,
2. la interpolacin a trozos,
3. una aproximacin de splines cbicos.
Compara los resultados que se obtienen con las distintas aproximaciones para t=0.25.
37
4.3 Ajuste de datos por mnimos cuadrados
Este ajuste se basa en minimizar la suma de los cuadrados de los errores y sirve para
ajustar una curva a un conjunto de datos aproximados, en general, datos experimen-
tales.
El criterio de mnimos cuadrados, adems de proporcionar un resultado nico para
un conjunto de datos, tambin coincide con el principio de mxima probabilidad de
estadstica. Si los errores de medicin poseen una distribucin normal y si la desviacin
estandar es constante para todos los datos, entonces se puede demostrar que la recta de-
terminada al minimizar la suma de los cuadrados tiene valores de pendiente y ordenada
en el origen con probabilidad mxima de ocurrencia.
Sea Y
i
un valor experimental y sea y
i
un valor de la ecuacin
y
i
= ax
i
+ b
donde x
i
es un valor particular de la variable que se supone libre de error. Se quieren
determinar los mejores valores de a y b para que las y predigan los valores de la funcin
que corresponden a x. El criterio de mnimos cuadrados requiere que la suma de los
errores, e
i
= Y
i
y
i
, sea mnima, es decir, minimza la funcin
S = e
2
1
+ e
2
2
+ ... +e
2
n
=
N
X
i=1
(Y
i
ax
i
b)
2
,
Como el mnimo se alcanza al elegir de forma adecuada a y b, se obtiene:
S
a
= 0 =
N
X
i=1
2 (Y
i
ax
i
b) (x
i
) a
N
X
i=1
x
2
i
+ b
N
X
i=1
x
i
=
n
X
i=1
x
i
Y
i
S
b
= 0 =
N
X
i=1
2 (Y
i
ax
i
b) (1) a
N
X
i=1
x
i
+ bN =
N
X
i=1
Y
i
un sistema de dos ecuaciones cuyas incgnitas son a y b.
Por supuesto, en muchos casos los datos provenientes de pruebas experimentales no
son lineales, por lo que se desea ajustarlos por una funcin que no sea un polinomio
lineal. Las funciones ms usuales son las exponenciales y = ae
bx
y potenciales y = ax
b
.
Se podra hacer un estudio anlogo al anterior para el caso de estas funciones, pero
los resultados seran ms engorrosos y difciles de obtener, por lo que se suelen utilizar
los logaritmos para linealizarlas
log y = log a + bx,
log y = log a + b log x
y se ajusta la nueva variable z = log y como una funcin lineal de x o log x.
Otro ajuste muy usual es el uso de polinomios para ajustar valores cuya grca no
es lineal. Dado que un polinomio de grado n ajusta de forma exacta n + 1 puntos y se
podran utilizar los mtodos expuestos antes utilizaremos polinomios cuyo grado sera
mayor que o igual que el nmero de puntos N.
38
Se supone la relacin
y = a
0
+ a
1
x + ... + a
n
x
n
con errores denidos como
e
i
= Y
i
y
i
= Y
i
a
0
a
1
x
i
... a
n
x
n
i
y se minimiza la suma de cuadrados de estos errores, obtenindose
a
0
N + a
1
N
X
i=1
x
i
+ a
2
N
X
i=1
x
2
i
+ ... + a
n
N
X
i=1
x
n
i
= Y
i
a
0
N
X
i=1
x
i
+ a
1
N
X
i=1
x
2
i
+a
2
N
X
i=1
x
3
i
+ ... +a
n
N
X
i=1
x
n+1
i
=
N
X
i=1
x
i
Y
i
...
a
0
N
X
i=1
x
n
i
+ a
1
N
X
i=1
x
n+1
i
+ a
2
N
X
i=1
x
n+2
i
+... + a
n
N
X
i=1
x
2n
i
=
N
X
i=1
x
n
i
Y
i
un sistema de n+1 ecuaciones lineales con las incgnitas a
0
, a
1
, ..., a
n
. Para su resolucin
se usarn los mtodos algebracos explicados anteriormente.
Mathematica posee una funcin integrada para realizar ajuste de datos por mnimos
cuadrados
Fit[datos, funcin, variable]
La relacin deseada no tiene por que ser lineal y se permite ms de una variable inde-
pendiente. Se trabaja con una lista de puntos y se suministra un patrn para ajustar
la ecuacin. En particular,
Exp[Fit[Log[datos], {1,x}, x]]
ajusta los datos a la funcin e
a+bx
.
Ejemplo 7 Ajustar una recta por mnimos cuadrados a la tabla
20.5 32.7 51.0 73.2 95.7
765 826 873 942 1032
datos={{20.5,765},{32.7,826},{51.,873},{73.3,942},{95.7,1032}};
da1=Fit[datos.{1,x},x];
Out[]= 702.172+ 3.39487 x.
Se puede comprobar gracamente como de bueno es este ajuste.
d1 = ListPlot[datos, PlotStyle -> {RGBColor[1, 0, 0], PointSize[0.02]}];
d2 = Plot[da1, {x, 0, 100}];
Show[d1,d2];
39
20 40 60 80 100
750
800
850
900
950
1000
1050
Tambin se pueden buscar funciones que ajusten datos tridimensionales, en este
caso tendremos superfcies de ajuste.
Ejercicio 26 Encuentrar la recta de mnimos cuadrados que se ajusta a los datos sigu-
ientes, suponiendo que las x estn libres de error.
x 1 2 3 4 5 6
y 5.04 8.12 10.64 13.18 16.20 20.04
Ejercicio 27 Repetir el ejercicio anterior suponindo que los valores libres de error
son las y. Debes obtener una recta de mnimos cuadrados de la forma x = ay + b.
Observa que no es la misma recta que se obtuvo antes.
Ejercicio 28 Ajustarlos suponiendo que es un polinomio de orden dos.
Ejercicio 29 Parece que los datos siguientes se ajustan una ecuacin cbica, pero
determinar el grado ptimo por mnimos cuadrados.
x 0.1 1.1 1.6 2.4 2.5 4.1 5.2 6.1 6.6 7.1 8.2 9.1
y 1.9 7.9 24.9 24.9 34.9 42.7 29.7 49.8 36.1 23.7 13.0 20.5
9.4 11.1
-3.1 -13.0
11.4 12.2 13.2 14.1 15.6 16.1 17.6 17.9 19.1 20.0
-28.7 -39.5 -48.6 -40.2 -51.6 -30.5 -34.6 -16.4 -13.4 -1.1
Ejercicio 30 En un experimento se obtuvieron los siguientes datos
t -1 -0.96 -0.86 -0.79 0.22 0.5 0.930
y -1 -0.151 0.894 0.986 0.895 0.5 -0.306
1. Dibujar los puntos y la curva de interpolacin de forma intuitiva.
2. Calcular y dibuja el polinomio de sexto grado que interpola estos puntos.
3. Dibujar una curva de interpolacin usando splines cbicos.
4. Comparar los resultados.
5. Qu valores obtienes para t = 0.90 con las distintas curvas de interpolacin
obtenidas?
40
Ejercicio 31 Los datos siguientes representan la potencia diaria, en megawatts, gen-
erada por una central elctrica de servicio regional, durante el mes de agosto de 1998,
y la temperatura atmosfrica, en grados Fahrenheit, registrada a las 11 a.m. en una
localidad cercana:
Temperatura 95 96 97 99 94
Potencia 153.4 158.5 159.6 160.0 154.0
.
1. Ajustarlos a una ecuacin exponencial mediante mnimos cuadrados. Calcular
el coeciente de correlacin.
2. Utiliza tres puntos para calcular un polinomio de interpolacin de grado dos.
3. Utiliza los dos resultados anteriores para calcular el valor de y cuando x = 98.
Qu resultado consideras correcto?
Ejercicio 32 Dados los datos siguientes
x 2 3 4 5 6
y 12 24 50 95 190
1. Hallar la curva exponencial mnimo cuadrtica y = ab
x
.
2. Calcula un polinomio interpolador a trozos con polinomios de grado dos
41
Captulo5
Estudio de funciones reales
Como hemos comentado en la introduccin, las posibilidades grcas del Mathematica
han sido una de las causas de su xito. Mediante Mathematica se pueden dibujar
funciones y datos en dos y tres dimensiones; producir grcos de nivel y de densidad,
adems de dibujar objetos y guras arbitrarias. En esta prctica exploraremos algunas
de las posibilidades que Mathematica ofrece a la hora de hacer grcas adems de su
uso en el reconocimiento de los puntos extremos, en particular para funciones de dos
variables.
5.1 Grcas en Dos y Tres Dimensiones
5.1.1 Grcas en el plano.
Para hacer una grca en dos dimensiones de una funcin de una variable se usa la
orden Plot. Esta orden necesita al menos de dos argumentos, una expresin expr, y un
rango. El rango es un triplete: la variable de la expresin, x, un valor mnimo, x
min
, y
un valor mximo, x
max
.
Plot [expr, {x, x
min
,x
max
}]
As la grca de la parbola y = x
2
+ 4 es producida por la siguiente orden:
In[] := Plot [-x^2+4,{x,-3,3}];
Adems de este tipo de funciones Mathematica tambin puede hacer grcas de
funciones que tienden a innito o que tienen singularidades, as por ejemplo podemos
producir la grca de la tangente en valores donde la tangente se hace innito (re-
cuerdese que los argumentos de las funciones trigonomtricas deben estar en radianes,
a menos que se indique otra cosa)
In[] := Plot [Tan[x], {x,-2Pi,2Pi}];
Obsrvese que Mathematica no muestra todo el rango de valores de y, muestra la
regin en que la funcin es interesante. Fuera del rango en que est dibujada la funcin
el comportamiento de la tangente no es especialmente relevante.
42
Opciones
Cuando Mathematica dibuja una grca, debe tomar muchas decisiones. Estas deci-
siones pueden ser modicadas dependiendo de los valores de las opciones. Recuerdese
que mediante ??Plot o la orden Options pueden verse todas las opciones para la fun-
cin Plot junto con sus valores por defecto.
In[] := Options[Plot]
Estas opciones se pueden especicar en cualquier orden despus de los argumentos
requeridos,
Plot [expr, {x, x
min
,x
max
}, opciones]
Las opciones se especican dando el nombre de la opcin junto con el valor; por ejem-
plo, si queremos determinar el rango de los valores de y usariamos la opcin PlotRange.
Finalmente, si no se especica una determinada opcin se usa su valor por defecto
Al usar estas opciones se han de tener en cuenta los objetivos que se persiguen
ya que algunas veces es interesante conocer todos los posibles valores de una funcin;
en cambio otras, el usar todos estos valores da un grco que no ayuda mucho en su
evaluacin.
Modicando el estilo de una grca
Mediante la opcin PlotStyle se puede cambiar el grosor, color y estilo de una curva.
El grosor se cambia utilizando la expresin Thickness, cuyo argumento [a] es la razn
del ancho de lnea al de todo el grco.
Plot[expr, rango, PlotStyle->Thickness[a]]
El valor inicial para la funcin Plot es Thickness[0.004].
La funcin RGBColor permite especicar un color: Dicha funcin tiene tres argu-
mentos: el primero es la cantidad de rojo (Red), el segundo de verde (Green) y el tercero
de azul (Blue). Estos argumentos deben ser nmeros entre 0 y 1, donde 1 indica la
presencia del color y 0 su ausencia. Se puede utilizar tambin GrayLevel si se desea
un sombreado gris; su argumento es un nmero entre 0 y 1.
Plot[expr, rango, PlotStyle->RGBColor[rojo, verde, azul]]
Plot[expr, rango, PlotStyle->GrayLevel[g]].
La funcin Dashing crea una lnea a trazos en la que los sucesivos trazos dibujados
o no dibujados son de longitud d
1
,d
2
,..., los argumentos de la funcin. Las longitudes
d
1
,d
2
,... se especican como fracciones del ancho total del grco.
Plot[expr, rango, PlotStyle->Dashing[{d
1
,d
2
,...}]]
Todas estas opciones pueden usarse simultaneamente con PlotStyle si se especi-
can en una lista de listas. Lo cual adems permite dibujar varias curvas al mismo
tiempo con estilos diferentes.
43
Grcas de varias curvas
Plot permite obtener la grca de varias curvas al mismo tiempo, para ello se han de
escribir las ecuaciones de las distintas curvas en forma de lista en el primer argumento
de Plot
Plot[{ecuacin 1, ecuacin 2, ...}, {x, x
min
,x
max
}].
Como hemos indicado antes cada una de las lneas puede dibujar con un estilo
diferente, lo que permite su mejor visualizacin.
Grcas paramtricas
Este tipo de grcas son muy tiles cuando se quiere dibujar simultneamente los
valores de x e y en funcin de un parmetro. Permite asimismo dibujar grcas en
coordenadas polares.
La funcin ParametricPlot dibuja una curva parametrizada, una funcin donde
los valores de x e y vienen dados en funcin de un parmetro; en general se usa t como
dicho parmetro ya que suele representar el tiempo.
ParametricPlot[{f
x
[t],f
y
[t]},{t,t
min
,t
max
}]
5.1.2 Grcas Tridimensionales
La funcin Plot3D produce una grca trimensional donde se da la coordenada z en
funcin de x e y. Sus argumentos son una expresin y los rangos para las dos variables:
Plot3D[expr, {x,x
min
,x
max
},{y,y
min
,y
max
}, opciones];
Una opcin interesante de Plot3D es que la grca obtenida puede verse desde
distintos puntos de vista mediante ViewPoint. El Front End tiene una opcin en el
men que permite visualizar los distintos enfoques que se le puede dar a la gura, sin
ms que mover el cubo de referencia mediante el ratn.
La opcin Show permite redibujar un grco, combinar varios de ellos o cambiar las
opciones de uno construido antes.
Los grcos tridimensionales estan ya coloreados por defecto.
Grcas paramtricas
La opcin ParametricPlot3D produce grcas tridimensionales donde las coordenadas
x, y, z estn dadas en trminos de dos parmetros
ParametricPlot3D[{f
x
[u,v],f
y
[u,v],f
z
[u,v]}, {u,u
min
,u
max
}, {v,v
min
,v
max
},
opciones], o
ParametricPlot3D[{f
x
[u],f
y
[u],f
z
[u]}, {u,u
min
,u
max
}, opciones],
Al igual que antes, la ventaja de utiliza esta opcin consiste sobre todo en el dibujo
de funciones que son diciles de hacer en coordenadas cartesianas.
44
5.2 Curvas en el plano y en el espacio
5.2.1 Curvas en el plano, ecuaciones paramtricas
En general, las ecuaciones de las curvas en el plano vienen dadas en coordenadas carte-
sianas, x e y. Mathematica sabe representar este tipo de ecuaciones de forma directa
cuando y = f(x) mediante Plot:
Plot [expr, {x, x
min
,x
max
}]
As la grca de la curva y = x
3
+ x es producida por la siguiente orden:
In[] := Plot [x^3+x,{x,-3,3}];
No obstante, a veces es til introducir una tercera variable para representar una
curva en el plano. El inters de introducir esta tercera variable es doble: por un lado
permite dibujar mas fcilmente algunas curvas planas que no se pueden escribir de
forma inmediata como funciones. Por otro lado, en mucho casos este parametro se
puede considerar como el tiempo y permite la descripcin completa de la curva en
trminos de la trayectoria seguida por un mvil. Veamoslo:
Si se quiere dibujar la circunferencia x
2
+y
2
= 1 utilizando Plot, se ha de despejar
la variable y y dibujar las dos curvas correspondientes
In[] := Plot [{Sqrt[1-x^2],-Sqrt[1-x^2]},{x,-1,1}]
Pero esta misma circunferencia se puede dibujar utilizando un parmetro angular
y escribiendo x e y en trminos de dicho parmetro:
x = cos t, y = sint.
La orden que permite dibujarlo es:
ParametricPlot[{Cos[t],Sin[t]},{t,0,2 Pi}]
Para ver la versin temporal del parmetro, consideremos la trayectoria de un
objeto lanzado al aire formando un ngulo de 45
o
con una velocidad inicial de
10m/s. Podeis comprobar que este objeto sigue la trayectoria parablica dada
por
y =
x
2
10
+ x
Pero esta ecuacin no nos dice en que momento el objeto ha estado en cada punto
de la trayectoria. Para determinar sto se introduce una tercera variable, t, a la
que llamamos parmetro. A partir de las leyes de Newton se pueden reescribir x
e y en trminos de dicho parmetro, obtenindose las ecuaciones paramtricas
x = 5

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

También podría gustarte