Documente Academic
Documente Profesional
Documente Cultură
ETODOS NUM
ERICOS
- NOTAS DE CLASE -
por
Rene Escalante
- Enero, 2007 -
2
Contenido
1 Conceptos basicos 1
1.1 Metodos numericos . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Tipos de errores y cotas . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 Errores por redondeo . . . . . . . . . . . . . . . . . . . 5
1.2.2 Errores por cancelacion . . . . . . . . . . . . . . . . . . 7
1.2.3 Cotas para el error relativo . . . . . . . . . . . . . . . . 10
1.3 Convergencia y algoritmos . . . . . . . . . . . . . . . . . . . . 10
1.4 Experimentaci on numerica . . . . . . . . . . . . . . . . . . . . 13
2 Sistemas de Ecuaciones Lineales (SEL) 15
2.1 Resolucion directa de un SEL . . . . . . . . . . . . . . . . . . 15
2.1.1 El algoritmo de eliminacion gaussiana . . . . . . . . . . 15
2.1.2 Calculo de la inversa de una matriz . . . . . . . . . . . 22
2.1.3 Pivoteo . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2 Metodos iterativos . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3 Experimentaci on numerica . . . . . . . . . . . . . . . . . . . . 29
3 Ecuaciones no lineales 35
3.1 El metodo de la biseccion . . . . . . . . . . . . . . . . . . . . 35
3.2 Metodo de regula falsi . . . . . . . . . . . . . . . . . . . . . . 40
3.3 El metodo de Newton . . . . . . . . . . . . . . . . . . . . . . . 41
3.4 El metodo de la secante . . . . . . . . . . . . . . . . . . . . . 47
3.5 Metodos de punto jo . . . . . . . . . . . . . . . . . . . . . . 48
3.6 El algoritmo de Horner . . . . . . . . . . . . . . . . . . . . . . 53
3.7 Experimentaci on numerica . . . . . . . . . . . . . . . . . . . . 56
4 Sistemas de ecuaciones no lineales 59
4.1 El metodo de Newton . . . . . . . . . . . . . . . . . . . . . . . 59
i
ii CONTENIDO
5 Interpolacion Polinomial 65
5.1 Experimentaci on numerica . . . . . . . . . . . . . . . . . . . . 66
Referencias 103
Captulo 1
Conceptos basicos
1.1 Metodos numericos
Debemos primero quizas hablar de dos conceptos fundamentales, como son el
de problema numerico y el de algoritmo. El primero se reere a una clara
y no ambig ua descripcion de la conexion funcional entre un conjunto de datos
de entrada (las variables independientes) y un conjunto de datos de salida
(las variables dependientes). Un algoritmo, para un determinado problema
numerico, es una descripcion completa de operaciones bien denidas, a traves
de las cuales cada conjunto de datos de entrada admisible es transformado en
datos de salida. De manera que, un determinado problema numerico puede
involucrar muchos algoritmos diferentes, cada uno de los cuales puede dar
una respuesta aproximada con una precision diferente.
Un metodo numerico es un procedimiento mediante el cual buscamos
resolver, de manera aproximada, un problema matematico dado a traves de
la consideracion de un problema numerico (por ejemplo, el conocido metodo
de Newton-Raphson es un metodo numerico usado en el calculo aproxi-
mado de un cero de una ecuacion no lineal, ver Captulo 3). Este concepto
incluye el caso en que el problema matematico sea transformado en un pro-
blema mas simple que, posiblemente implique, a posteriori, la formulaci on
de otro problema numerico asociado (por ejemplo, la transformacion de un
problema que involucra una ecuacion diferencial en un sistema de ecuaciones).
1
2 CAP
ITULO 1. CONCEPTOS B
ASICOS
1.2 Tipos de errores y cotas
La capacidad de representaci on del conjunto de los n umeros reales por parte
de una computadora es realmente limitada, ya que tan solo contamos con una
cantidad nita de n umeros para representar a otro conjunto de cardinalidad
innita (no numerable) de elementos. De all que exista la necesidad de
contar con conceptos, medios y estrategias que nos permitan la estimacion
numerica de los errores involucrados. Con esta idea en mente, comenzamos
por introducir la siguiente denicion.
Denicion 1.1 Si x es el valor exacto (en la generalidad de los casos no
conocido) y x es su valor aproximado, denimos el error absoluto por [x x[
y el error relativo por
x x
x
, siempre que x ,= 0.
Para los problemas en los cuales la magnitud del valor verdadero puede ser
muy grande, o muy peque na, el error relativo puede ser mas util que el error
absoluto.
Ejemplo 1:
i) Si x = 0.3000 10
1
y x = 0.3100 10
1
, el error absoluto es 0.1 y el
error relativo es 0.3333 10
1
.
ii) Si x = 0.300010
3
y x = 0.310010
3
, el error absoluto es 0.110
4
y el error relativo es 0.3333 10
1
.
iii) Si x = 0.3000 10
4
y x = 0.3100 10
4
, el error absoluto es 0.1 10
3
y el error relativo es otra vez 0.3333 10
1
.
Observamos que el error relativo en i), ii) y iii) es el mismo cuando los
errores absolutos son diferentes. En este sentido el error relativo es mas
signicativo, pues toma mas en cuenta el tama no de los valores involucrados.
Por ejemplo, si tenemos dos doblones y perdemos uno de ellos, parece que
estamos perdiendo mucho (de hecho, estamos perdiendo el 50% de nuestro
capital), pero si tenemos un millon de doblones y perdemos uno, la perdida
no parece ser muy importante (relativa a la cantidad de doblones inicial). En
este ultimo caso el error relativo es de 10
6
cuando en el primero es de 0.5,
pero en ambos casos el error absoluto es de 1.
Los computadores representan los n umeros reales en una forma deno-
minada de punto otante, que es semejante a la notacion cientca. Por
ejemplo, un n umero N se almacena como N = .d
1
d
2
d
3
. . . d
p
e
, donde es
1.2. TIPOS DE ERRORES Y COTAS 3
la base y las d
i
s son los dgitos. Para un computador, la base es usualmente
2, 8 o 16. Cada dgito es un n umero entero entre 0 y 1. Hay un n umero
jo de dgitos, p, y el exponente entero, e, esta restringido a un rango de
valores (e [e
min
, e
max
]). Si d
1
,= 0, el sistema se denomina sistema en
punto otante normalizado.
En 1985 el Institute for Electrical and Electronic Engineers (IEEE), pu-
blico el informe Binary Floating Point Aritmetic Standar 754-1985, en donde
se establecieron los formatos para las precisiones simples, dobles y extendi-
das. Estos son los estandares utilizados por los fabricantes de PCs para el
hardware de punto otante.
El procesador numerico de las PCs suele utilizar una representaci on de
64 bits (dgitos binarios) para un n umero real. El primer bit representa el
signo, s. Los siguientes 11 bits representan al exponente e y los 52 bits
que siguen es una fraccion en binario, f, llamada mantisa. La base para el
exponente es 2. La precision con la cual los n umeros pueden almacenarse y
los calculos llevarse a cabo, dependen del n umero de dgitos de la mantisa y
del rango del exponente usados para representar un n umero real (la condicion
nita de f es una limitacion sobre la precision y la condicion nita de e es
una limitacion sobre el rango).
Como 52 dgitos binarios corresponden a unos 16 o 17 dgitos decimales,
supondremos que un n umero representado en este sistema tiene al menos 16
cifras decimales de precision. El exponente de 11 dgitos representa un inter-
valo del 0 al 2
11
1 = 2047. A n de que estos n umeros se puedan representar,
se resta 1023 del exponente, de manera que el intervalo del exponente es en
realidad [1023, 1024]. Con el objeto de proporcionar una representaci on
unica de cada n umero en punto otante, supondremos que la representaci on
esta normalizada. El uso de este sistema proporciona un n umero en punto
otante de la forma
(1)
s
2
e1023
(1 + f).
Por ejemplo, consideremos el n umero de maquina
0100000000111011100100010000000000000000000000000000000000000000.
Observemos que el primer bit de la izquierda es 0, lo cual indica que el
n umero es positivo. Los siguientes 11 bits corresponden al exponente, y son
equivalentes al n umero decimal
e = 1.2
10
+ 0.2
9
+ . . . + 0.2
2
+ 1.2
1
+ 1.2
0
= 1027
4 CAP
ITULO 1. CONCEPTOS B
ASICOS
De manera que, la parte exponencial del n umero es 2
10271023
= 2
4
. Tambien,
los ultimos 52 bits muestran que la mantisa es
f = 1.
_
1
2
_
1
+ 1.
_
1
2
_
3
+ 1.
_
1
2
_
4
+ 1.
_
1
2
_
5
+ 1.
_
1
2
_
8
+ 1.
_
1
2
_
12
.
Por lo tanto, este n umero de maquina representa al n umero decimal
(1)
s
2
e1023
(1 +f) = (1)
0
.2
10271023
_
1 +
_
1
2
+
1
8
+
1
16
+
1
32
+
1
256
+
1
4096
__
= 27.56640625.
Es interesante observar que el n umero de maquina menor que le sigue al
anterior es
0100000000111011100100001111111111111111111111111111111111111111,
y el siguiente n umero de maquina mayor es
0100000000111011100100010000000000000000000000000000000000000001.
Esto signica que nuestro n umero de maquina original representa no solo a
27.56640625 sino tambien a la mitad de los n umeros reales que estan entre
el y los dos n umeros de maquina mas proximos.
El menor n umero positivo normalizado que puede representarse tiene
ceros en todas partes excepto en el bit del extremo derecho (que es un 1), y
es igual a
2
1023
.(1 + 2
52
) 10
308
,
y el mayor tiene un cero al principio seguido de unos, y es equivalente a
2
1024
.(1 + 1 2
52
) 10
308
.
Los n umeros que aparecen en los calculos y tienen una magnitud menor que
10
308
producen un underow (por lo que se les asigna un valor de 0). Los
n umeros mayores que 10
308
producen un overow (lo cual interrumpe los
calculos).
Asimismo, el n umero total de valores que se pueden representar con d
1
,= 0
esta dado por
2( 1)(
p1
)(nro. total de exponentes) + 1.
(Por que?)
Ejercicio 1:
1.2. TIPOS DE ERRORES Y COTAS 5
a. Cuantos n umeros podemos representar de manera exacta en un sis-
tema en base 10, con dos dgitos (p = 2) y exponentes 0 o 1? Cuales
son los valores maximo y mnimo que en este sistema podemos represen-
tar? Cuales son los n umeros positivos que pueden representarse con
el exponente 1 y cuales con el exponente 0? Entonces, cuantos valores
existen en el intervalo [0, 0.99] y cuantos en el intervalo [1.0, 1.9]?
b. En un sistema de punto otante binario, los decimales corresponden a
sumas de potencias negativas de 2. Por ejemplo,
0.10
2
= (1)
1
2
+ (0)
1
4
=
1
2
y 0.11
2
= (1)
1
2
+ (1)
1
4
=
3
4
.
Cuales son los n umeros positivos que pueden representarse en un sis-
tema en punto otante normalizado binario con dos dgitos y un ex-
ponente igual a 0? (la normalizacion exige que el primer dgito en
el desarrollo sea 1). Escriba los n umeros positivos con dos dgitos y
exponentes -1 y 1.
Nota: Por razones de claridad en la exposicion, supondremos de ahora en
adelante que los n umeros de maquina se representan en la forma de
punto otante decimal normalizado (i.e., 0.d
1
d
2
. . . d
p
10
n
, 1 d
1
9 y 0 d
i
9, para cada i = 2, 3, . . . , p).
1.2.1 Errores por redondeo
Existen dos formas de expresar un n umero que tenga mas dgitos de los que
pueden representarse por el sistema en punto otante. La mas simple consiste
en truncar el n umero y desechar los dgitos que el sistema no puede manejar.
El segundo metodo es el de redondear el n umero; el resultado depende del
valor del primer dgito de los que van a descartarse. Si el sistema permite
trabajar solo con n dgitos, el redondeo produce el mismo resultado que el
truncamiento si el dgito n + 1 esta entre 0 y 4, ambos inclusive. Si el dgito
n+1 esta entre 5 y 9, el dgito n-esimo se incrementa en 1. Las imprecisiones
que resultan de redondear o de truncar se conocen como errores por re-
dondeo. En general, los errores por redondeo se acumulan menos (durante
los calculos repetidos) que los errore producidos por truncamiento, ya que el
valor verdadero es mayor que el valor redondeado en alrededor de la mitad de
las veces y menor tambien alrededor de la mitad de las veces. Ademas, para
6 CAP
ITULO 1. CONCEPTOS B
ASICOS
la operacion de truncamiento, el mayor error absoluto que pudiera producirse
sera del doble del de redondeo. Por otra parte, el truncamiento no requiere
de decision alguna acerca de cambiar o no el ultimo dgito retenido.
Ejemplo 2:
Consideremos la siguiente suma: 0.99 + 0.0044 + 0.0042. Con aritmetica
exacta, el resultado es 0.9986. Sin embargo, si usamos una aritmetica de
tres dgitos, y las operaciones se realizan siguiendo el orden de izquierda a
derecha, encontramos que (0.99 +0.0044) +0.0042 = 0.994 +0.0042 = 0.998.
Por otra parte, si operamos primero los dos ultimos n umeros, tenemos que:
0.99 +(0.0044 +0.0042) = 0.99 +0.0086 = 0.999, lo cual demuestra el efecto
del error por redondeo en un caso tan simple como este. (Por que sucede
esto?).
Nota: Desde el punto de vista numerico es importante el orden en que sumamos.
Ejercicio 2:
Considere la suma de terminos S = 9.87+0.78+0.05+0.01. Realice la suma
de izquierda a derecha y luego de derecha a izquierda, en una maquina que
tan solo maneja una aritmetica de tres cifras con redondeo. Son iguales los
resultados de realizar estas dos operaciones? Explique.
Ademas de la representaci on imprecisa de los n umeros en la computadora,
la aritmetica involucrada no es exacta. Supongamos que fl(x) y fl(y) son las
representaciones en punto otante de los n umeros reales x y y, y que , ,
y representan las operaciones de suma, resta, multiplicaci on y division en
la maquina, respectivamente. De manera que, la aritmetica con un n umero
nito de cifras estara dada por:
x y = fl(fl(x) + fl(y)), x y = fl(fl(x) fl(y)),
x y = fl(fl(x) fl(y)), x y = fl(fl(x) fl(y))
Lo cual corresponde a realizar la aritmetica exacta con las representaciones
de x y y en punto otante, para despues transformar el resultado a su repre-
sentacion en punto otante con un n umero nito de cifras.
Ejemplo 3:
Supongamos que x =
5
7
y y =
1
3
y que usamos truncamiento de cinco cifras
para los calculos. As, fl(x) = 0.71428 10
0
y fl(y) = 0.33333 10
0
. Al-
gunos resultados numericos son: xy = 0.1047610
1
, xy = 0.3809510
0
,
1.2. TIPOS DE ERRORES Y COTAS 7
x y = 0.23809 10
0
y x y = 0.21428 10
1
.
Ejercicio 3:
a) Calcule los correspondientes errores absolutos y relativos en el Ejem-
plo 3 anterior. Produce la aritmetica seleccionada resultados satisfac-
torios?
b) A los valores del Ejemplo 3 a nadimos los valores u = 0.714251, v =
98765.9 y w = 0.111111 10
4
, de manera que fl(u) = 0.71425 10
0
,
fl(v) = 0.98765 10
5
y fl(w) = 0.11111 10
4
. Calcular x u,
(x u) w, (x u) v y u v, as como sus correspondientes errores
absolutos y relativos. Produce en este caso la aritmetica seleccionada
resultados satisfactorios?
Denicion 1.2 Decimos que el n umero x aproxima a x con t cifras signi-
cativas si t es el mayor entero no negativo para el que
x x
x
< 0.5 10
t
.
Ejemplo 4:
Usando esta denicion, vemos que 0.998 aproxima a la solucion verdadera,
x = 0.9986, con dos dgitos signicativos, pues
0.998 0.9986
0.9986
= 6.0084 10
4
< 0.5 10
2
.
Por otra parte, 0.999 aproxima la solucion verdadera con tres dgitos signi-
cativos, pues
0.999 0.9986
0.9986
= 4.0056 10
4
< 0.5 10
3
.
1.2.2 Errores por cancelacion
Otro ejemplo del efecto de calculos inexactos se produce cuando el calculo im-
plica la substraccion de dos n umeros muy proximos entre s. Con el objeto de
evitar esta dicultad se recomienda buscar una reformulaci on del algoritmo
inicialmente considerado.
Ejemplo 5:
8 CAP
ITULO 1. CONCEPTOS B
ASICOS
Consideremos el problema de usar la formula cuadratica para resolver la
ecuacion de segundo grado
x
2
+ bx + 1 = 0.
El efecto de redondear el discriminante =
b
2
4 se ilustra en este ejem-
plo. Notemos que para b grande (b 4), es bastante proxima a b. La
formula cuadratica da x
1
=
b+
2
y x
2
=
b
2
. Si b es positivo el calculo
de x
1
involucra la diferencia de dos n umeros muy proximos entre s, lo cual
representa una situacion catastroca.
Por ejemplo, consideremos x
2
+ 62.10x + 1 = 0, cuyas races tienen los
valores aproximados
x
1
0.01610723 y x
2
62.08390
En esta ecuacion, b
2
es mucho mayor que 4, de modo que el numerador en
el calculo de x
1
implica la resta de n umeros casi iguales. Ahora bien, si
suponemos una aritmetica de redondeo a cuatro cifras, y como
=
b
2
4 =
3856. 4.000 =
3852. = 62.06,
tenemos que
fl(x
1
) =
62.10 + 62.06
2.000
=
0.04000
2.000
= 0.02000,
la cual es una mala aproximaci on a x
1
= 0.01611, con un error relativo
grande de 2.4 10
1
.
Esta dicultad puede evitarse por racionalizar el numerador en la formula
cuadratica:
x
1
=
(b)
2
( + b)
( + b)
=
(
2
b
2
)
2( + b)
=
4
2( + b)
=
2
( + b)
As, con el objeto de obtener una aproximaci on mas precisa para x
1
, con
un redondeo a cuatro cifras, simplemente racionalizamos, obteniendo en este
caso
fl(x
1
) =
2.000
62.10 + 62.06
=
2.000
124.2
= 0.01610,
con un error relativo de 6.2 10
4
, mucho menor que el anterior.
1.2. TIPOS DE ERRORES Y COTAS 9
Por otro lado, el calculo de x
2
implica la suma de dos n umeros casi iguales
b y
b
2
4ac. Pero esto no representa problema alguno, pues
fl(x
2
) =
62.10 62.06
2.000
=
124.2
2.000
= 62.10
que tiene un error relativo peque no de 3.2 10
4
.
Ejercicio 4:
Repita el ejemplo anterior, pero ahora trabaje con la ecuacion cuadratica
x
2
+ 97x + 1 = 0, usando una aritmetica de redondeo a cuatro cifras. Saque
sus propias conclusiones.
Ejemplo 6:
Como para cualquier x IR, e
x
puede expresarse como la serie convergente
e
x
= 1 + x +
x
2
2!
+
x
3
3!
+ . . .
Supongamos que nuestro sistema numerico en punto otante es tal que = 10
y p = 5, y supongamos ademas que x = 5.5. Si consideramos el desa-
rrollo nito de los primeros 25 terminos, obtenemos el resultado 0.0026363
(terminos adicionales no aportan un mayor cambio a este resultado). Sera
la respuesta satisfactoria? La respuesta precisa es e
5.5
= 0.00408677, por lo
que la respuesta no presenta dgitos signicativos. Que ocurrio? Si escribi-
mos y revisamos los terminos intermedios de la serie nita en esta aritmetica
(hacerlo!), podemos ver que los mismos seran de magnitudes mucho mayores
(aunque de signos alternados) que la respuesta obtenida (i.e., 0.0026363). De
manera que, existiran terminos cuyos errores por redondeo seran tan grandes
como el mismo resultado nal. Aunque sera posible considerar un n umero
mayor de dgitos signicantes a n de evitar este fenomeno de cancelaci on
catastroca, siempre existiran costos adicionales asociados al tiempo de eje-
cucion y al propio almacenamiento. Sin embargo, en este caso, hay un mejor
camino a seguir, cual es el de realizar la suma para x = 5.5, y luego tomar
el recproco de la respuesta:
e
5.5
=
1
e
5.5
=
1
1 + 5.5 + 15.125 + . . .
= 0.0040865,
para nuestra aritmetica de cinco decimales. Con esta estrategia de calculo el
error se reduce a 0.007%. De este ejemplo podemos concluir que un calculo
no tiene por que ser demasiado largo para que se produzcan grandes errores
10 CAP
ITULO 1. CONCEPTOS B
ASICOS
por redondeo.
Ejercicio 5:
Como empeorara el problema anterior (Ejemplo 6) si se requiere calcular
e
100
?
1.2.3 Cotas para el error relativo
Si usamos k cifras decimales y redondeo para la representaci on en la maquina
de x = 0.d
1
d
2
. . . d
k
d
k+1
. . . 10
n
, con d
k+1
5, entonces
x fl(x)
x
0.d
1
d
2
. . . d
k
d
k+1
. . . 10
n
0.d
1
d
2
. . . (d
k
+ 1) 10
n
0.d
1
d
2
. . . 10
n
0.d
k+1
d
k+2
. . . 10
nk
10
nk
0.d
1
d
2
. . . 10
n
1 0.d
k+1
d
k+2
. . .
0.d
1
d
2
. . .
10
k
Como d
1
,= 0, el valor mnimo del denominador es 0.1, y 0.5 es una cota
superior para el numerador (pues d
k+1
5). Por lo tanto,
x fl(x)
x
0.5
0.1
10
k
De donde, el error relativo
1
2
.10
k+1
.
Para el caso en que d
k+1
< 5, los calculos son similares a los arriba realizados.
Ejercicio 6:
Para el caso en que consideremos k cifras decimales y truncamiento para la
representacion en la maquina de x = 0.d
1
d
2
. . . d
k
d
k+1
. . . 10
n
, probar que
el error relativo 10
k+1
.
Para mayores detalles ver [1], [2], [4], [9] y [10].
1.3 Convergencia y algoritmos
El concepto que introducimos a continuacion pertenece, sin duda, a la jerga
habitual de los analistas numericos.
1.3. CONVERGENCIA Y ALGORITMOS 11
Denicion 1.3 Diremos que un software o subprograma es robusto si es
capaz de enfrentarse a una amplia variedad de situaciones numericas distin-
tas sin la intervencion del usuario.
Es un hecho conocido que cuando estudiamos diferentes metodos del calculo
cientco se presenta una interdependencia entre la velocidad y la conabili-
dad (la primera esta directamente relacionada con los costos). As, para al-
gunos problemas que involucran calculo intensivo (como la solucion numerica
de ecuaciones en derivadas parciales), la velocidad es lo mas importante. Sin
embargo, cuando nos referimos a un software de proposito general para ser
utilizado por una amplia gama de usuarios, la conabilidad y la robustez son
las caractersticas que marcan la pauta. Por muchos a nos se han realizado
esfuerzos por generar paquetes numericos de proposito general que reunan
ambas caractercas.
Inestabilidad numerica
El siguiente ejemplo [5, 1.3.3] muestra lo que puede suceder cuando escoge-
mos un algoritmo inadecuado. El error por redondeo puede acabar comple-
tamente con el resultado de un calculo.
Supongamos que queremos estimar para n = 0, 1, . . . , 8, la integral
y
n
=
_
1
0
x
n
x + 5
dx. (1.1)
Observemos que
y
n
+ 5y
n1
=
_
1
0
x
n
+ 5x
n1
x + 5
dx =
_
1
0
x
n1
(x + 5)
x + 5
dx =
1
n
.
Supongamos que en nuestros calculos usamos tan solo tres decimales (de
manera que, y
0
=
_
1
0
dx/(x + 5) = ln(x + 5)[
1
0
0.182), y consideremos el
siguiente algoritmo para estimar y
1
hasta y
8
:
Algoritmo 1.
y
1
= 1 5y
0
= 1 0.910 0.090,
y
2
=
1
2
5y
1
0.050,
y
3
=
1
3
5y
2
0.083, (y
3
> y
2
!),
y
4
=
1
4
5y
3
0.165, (sin sentido!).
Podemos decir que tuvimos que detener nuestro algoritmo. La causa de este
12 CAP
ITULO 1. CONCEPTOS B
ASICOS
resultado esta en que el error por redondeo en y
0
(cuya magnitud es del
orden de 5 10
4
) se multiplica por 5 en el calculo de y
1
, el cual tendra
entonces un error de 5. Ese error produce, a su vez, un error en y
2
de 25,
en y
3
de 125, y en y
4
de 625 (en el que el error sera tan grande como
625 5 10
4
= 0.3125).
Si usaramos una mayor precision, con mas lugares decimales, los resul-
tados sin sentido apareceran en una etapa posterior. Este fenomeno (por
supuesto, indeseable) se conoce como inestabilidad numerica. La inesta-
bilidad numerica puede corregirse si encontramos un algoritmo mas adecuado.
Algoritmo 2.
Probemos ahora usar el esquema
y
n1
=
1
5n
y
n
5
.
En este caso el error estara, en cada paso, dividido por 5 (aunque nece-
sitaremos un valor de entrada).
Observemos directamente de la denicion de y
n
, (1.1), que la misma de-
crece cuando n aumenta. Por lo que podemos asumir que, cuando n es
grande, y
n+1
y
n
. De esta manera, podemos por conveniencia suponer que
y
10
y
9
, de donde sigue que:
y
9
+ 5y
9
1
10
, o bien y
9
1
60
0.017
y
8
=
1
45
y
9
5
0.019,
y
7
=
1
40
y
8
5
0.021,
y
6
0.025, y
5
0.028,
y
4
0.034, y
3
0.043,
y
2
0.058, y
1
0.088,
y
0
0.182, (bueno!).
Ejercicio 7:
Repetir el Algoritmo 2 con y
10
= 0.
Nota: El uso de una formula recursiva hacia atras (i.e., backwards) no
resulta, en general, ser la mejor estrategia.
Ejercicio 8:
1.4. EXPERIMENTACI
ON NUM
ERICA 13
Derivar una formula recursiva para calcular las integrales
y
n
=
_
1
0
x
n
4x + 1
dx.
Escribir un algoritmo que trabaje bien y otro que trabaje mal (o por lo menos
no tan bien!).
1.4 Experimentaci on numerica
Para una introduccion al uso de MATLAB puede consultarse cualquiera de
las obras [7], [8], [11], [13], [12] y [6].
Ejercicio 1
Podemos aplicar algunos esquemas sencillos tipo while-loops para obtener
informacion acerca del sistema en punto otante con que trabaja la maquina
que usamos.
a) Escribir un script que asigne a p el entero positivo mas peque no tal que
1 +1/2
p
= 1.
b) Escribir un script que asigne a q el entero positivo mas peque no tal que
1/2
q
= 0.
c) Escribir un script que asigne a r el entero positivo mas peque no tal que
2
r
= inf (cuando hay overow MATLAB produce el valor especial
inf).
Nota: En MATLAB eps representa el epsilon de la maquina (alrededor de
10
16
en la mayora de las maquinas); es decir, representa la precision
de punto otante de la computadora que se esta usando (es la dis-
tancia de 1.0 al n umero siguiente mas grande en punto otante). Es
util cuando queremos especificar la tolerancia para la convergencia de
procesos iterativos.
Ejercicio 2.
Es un hecho conocido que si tomamos un n umero suficiente de terminos, en-
tonces las sumas parciales
n
k=0
x
k
k!
del desarrollo de Taylor de e
x
convergen.
Escriba un script que explore esto, graficando el error relativo de las sumas
parciales como una funcion de n 50, para distintos valores de x: 10, 5, 1,
14 CAP
ITULO 1. CONCEPTOS B
ASICOS
-1, -5, -10. (Usar el comando semilogy, el cual es util cuando representamos
n umeros cuyo rango vara demasiado, para mas detalles consultar el help de
MATLAB).
Captulo 2
Sistemas de Ecuaciones
Lineales (SEL)
El objetivo de este Captulo es resolver numericamente el sistema de ecua-
ciones lineales (SEL)
Ax = b (2.1)
donde A es la matriz de los coecientes del sistema, b es el lado derecho del
sistema (o termino independiente) y x es el vector de incognitas o de valores
que deseamos hallar. Si A es una matriz de orden mn, entonces podemos
escribir
A =
_
_
_
_
_
a
11
a
12
. . . a
1n
a
21
a
22
. . . a
2n
.
.
.
.
.
.
.
.
.
.
.
.
a
n1
a
n2
. . . a
mn
_
_
_
_
_
, b =
_
_
_
_
_
b
1
b
2
.
.
.
b
m
_
_
_
_
_
y x =
_
_
_
_
_
x
1
x
2
.
.
.
x
n
_
_
_
_
_
2.1 Resolucion directa de un SEL
Los metodos directos nos permiten obtener la solucion numerica (aproximada)
de un sistema lineal en un n umero nito de pasos. Mas adelante estudiaremos
los denominados metodos iterativos.
2.1.1 El algoritmo de eliminacion gaussiana
A n de resolver (4.1) realizaremos las denominadas operaciones elementales
por las.
Estas son, para 1 i, j m, las siguientes:
15
16 CAP
1
2
x
2
+
3
2
x
3
=
3
2
Por ultimo, le aplicamos a este sistema la operacion:
la 3 la 3 +
1
7
la 2
Para obtener el sistema equivalente:
_
_
_
2x
1
+ x
2
3x
3
= 1
7
2
x
2
+
1
2
x
3
=
23
2
11
7
x
3
=
22
7
Que es la forma triangular o reducida del sistema original. Aqu termina la
denominada eliminacion hacia adelante. La sustitucion hacia atras comienza
con la ultima la:
11
7
x
3
=
22
7
. Obteniendo x
3
= 2. Con esta informacion
podemos obtener de la segunda la que x
2
= 3. Por ultimo, de la primera
la encontramos que x
1
= 1.
2.1. RESOLUCI
ON DIRECTA DE UN SEL 17
Si suponemos que nuestro sistema es cuadrado (i.e., m = n), podemos
considerar una matriz aumentada de orden n(n+1) para resolver el sistema
(4.1):
[A : b] =
_
_
_
_
_
_
_
a
11
a
12
. . . a
1n
.
.
. b
1
a
21
a
22
. . . a
2n
.
.
. b
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
n1
a
n2
. . . a
nn
.
.
. b
n
_
_
_
_
_
_
_
.
En nuestro ejemplo la matriz aumentada queda:
_
_
_
_
2 1 3
.
.
. 1
1 3 2
.
.
. 12
3 1 3
.
.
. 0
_
_
_
_
.
Realizando las mismas operaciones elementales
la 2 la 2 +
1
2
la 1
la 3 la 3
3
2
la 1
obtenemos:
_
_
_
_
2 1 3
.
.
. 1
0 7/2 1/2
.
.
. 23/2
0 1/2 3/2
.
.
. 3/2
_
_
_
_
.
Y aplicando la operacion la 3 la 3 +
1
7
la 2:
_
_
_
_
2 1 3
.
.
. 1
0 7/2 1/2
.
.
. 23/2
0 0 11/7
.
.
. 22/7
_
_
_
_
.
El procedimiento aqu involucrado se denomina eliminacion gaussianan con
sustitucion hacia atras.
En general, consideramos la matriz aumentada [A : b] cuando a
11
,= 0, de
donde sigue que podemos efectuar las operaciones:
la j la j
a
j1
a
11
la 1,
18 CAP
: b
] =
_
_
_
_
_
_
_
a
11
a
12
. . . a
1n
.
.
. a
1,n+1
0 a
22
. . . a
2n
.
.
. a
2,n+1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 . . . 0 a
nn
.
.
. a
n,n+1
_
_
_
_
_
_
_
.
A partir de la misma podemos empezar con la sustitucion hacia atras:
x
n
=
a
n,n+1
a
nn
, (2.3)
x
n1
=
(a
n1,n+1
a
n1,n
x
n
)
a
n1,n1
,
y continuando con este proceso obtenemos:
x
i
=
(a
i,n+1
n
j=i+1
a
i,j
x
j
)
a
i,i
, (2.4)
para cada i = n 1, n 2. . . . , 2, 1.
Si denotamos por a
(1)
11
, a
(2)
22
, . . ., a
(n)
nn
los elementos de la diagonal de la
matriz [A
: b
ON DIRECTA DE UN SEL 19
Ejemplo 2:
Consideremos el sistema:
_
_
x
1
x
2
+ 2x
3
x
4
= 8
2x
1
2x
2
+ 3x
3
3x
4
= 20
x
1
+ x
2
+ x
3
= 2
x
1
x
2
+ 4x
3
+ 3x
4
= 4
La matriz aumentada asociada a este sistema es:
[A : b] =
_
_
_
_
_
_
_
1 1 2 1
.
.
. 8
2 2 3 3
.
.
. 20
1 1 1 0
.
.
. 2
1 1 4 3
.
.
. 4
_
_
_
_
_
_
_
.
Las operaciones elementales siguientes
la 2 la 2 + 2 la 1
la 3 la 3 la 1
la 4 la 4 la 1
producen la matriz aumentada
[A
: b
] =
_
_
_
_
_
_
_
1 1 2 1
.
.
. 8
0 0 1 1
.
.
. 4
0 2 1 1
.
.
. 6
0 0 2 4
.
.
. 12
_
_
_
_
_
_
_
.
Aqu a
(2)
22
= 0, por lo que no podemos realizar la operacion (2.2). Pero si
hacemos el intercambio de las: la 2 la 3, para obtener la matriz
[A
: b
] =
_
_
_
_
_
_
_
1 1 2 1
.
.
. 8
0 2 1 1
.
.
. 6
0 0 1 1
.
.
. 4
0 0 2 4
.
.
. 12
_
_
_
_
_
_
_
,
20 CAP
: b
] =
_
_
_
_
_
_
_
1 1 2 1
.
.
. 8
0 2 1 1
.
.
. 6
0 0 1 1
.
.
. 4
0 0 0 2
.
.
. 4
_
_
_
_
_
_
_
.
Por ultimo, aplicamos el procedimiento de sustitucion hacia atras, para en-
contrar la solucion:
x
4
= 2, x
3
=
4 (1)x
4
1
= 2,
x
2
=
6 x
4
(1)x
3
2
= 3, x
1
=
8 (1)x
4
2x
3
(1)x
2
1
= 7.
Si a
(j)
ij
= 0, para i = j, j + 1, . . . , n, el sistema lineal no tendra solucion
unica (Por que?), y el procedimiento se detendra. Por ultimo, si a
(n)
nn
= 0 el
sistema no tendra solucion unica y el procedimiento terminara.
Nota: El efecto del error por redondeo y la cantidad de tiempo requerido
para completar los calculos dependen, entre otras cosas, del n umero de
operaciones aritmeticas necesarias para resolver un problema dado.
En general, el tiempo requerido para realizar una multiplicacion o una di-
vision en una computadora es aproximadamente el mismo, y es nucho mayor
que el requerido para realizar una suma o una resta. As en (2.2) realizamos
n i divisiones. Ademas, al reemplazar la la j por la j -
a
ji
a
ii
la i, reque-
rimos que
a
ji
a
ii
sea multiplicado por cada elemento de la la i, resultando un
total de (n i)(n i +1) multiplicaciones. Mas a un, cada termino de la la
resultante se resta del termino correspondiente en la la j, lo que signican
(n i)(n i + 1) restas adicionales.
De manera que, para cada i = 1, 2, . . . , n 1, las operaciones requeridas
son: (ni)+(ni)(ni+1) = (ni)(ni+2) multiplicaciones/divisiones,
y (n i)(n i + 1) sumas/restas. Ahora bien, para saber el n umero total
2.1. RESOLUCI
ON DIRECTA DE UN SEL 21
de operaciones debemos sumar para i = 1, 2, . . . , n 1. De manera que para
encontrar el n umero de multiplicaciones/divisiones hacemos:
n1
i=1
(n i)(n i + 2) =
2n
3
+ 3n
2
5n
6
,
y para el n umero de sumas/restas tenemos:
n1
i=1
(n i)(n i + 1) =
n
3
n
3
.
Ejercicio 2:
Demostrar los resultados de las sumas anteriores sabiendo que
n
i=1
1 = n,
n
i=1
i =
n(n + 1)
2
y
n
i=1
i
2
=
n(n + 1)(2n + 1)
6
.
En cuanto a la sustitucion hacia atras es facil ver que (2.3) requiere de una
division y (2.4) requiere de (n i) multiplicaciones y (n i 1) sumas
(para cada termino con sumatoria), ademas de una resta y una division.
As, el n umero total de operaciones es de 1 +
n1
i=1
((n i) + 1) =
n
2
+n
2
multiplicaciones/divisiones, y
n1
i=1
((n i 1) + 1) =
n
2
n
2
sumas/restas.
Por lo tanto, el n umero total de operaciones correspondientes a la apli-
cacion del algoritmo de eliminacion gaussiana con sustitucion hacia atras, es
de
2n
3
+ 3n
2
5n
6
+
n
2
+ n
2
=
2n
3
+ 6n
2
2n
6
multiplicaciones/divisiones, y de
n
3
n
3
+
n
2
n
2
=
2n
3
+ 3n
2
5n
6
sumas/restas.
Ejercicio 3: Metodo de Gauss-Jordan.
Si usamos la i-esima la para eliminar x
i
, no solo de las las i+1, i+2, . . . , n,
como hicimos en el metodo de eliminacion gaussiana, sino tambien de las las
22 CAP
: b
] =
_
_
_
_
_
_
_
a
(1)
11
0 . . . 0
.
.
. a
(1)
1,n+1
0 a
(2)
22
.
.
.
0
.
.
. a
(2)
2,n+1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 . . . 0 a
(n)
nn
.
.
. a
(n)
n,n+1
_
_
_
_
_
_
_
.
De donde la solucion se obtiene de x
i
=
a
(i)
i,n+1
a
(i)
ii
, para cada i = 1, 2, . . . , n
(sin necesidad de realizar sustitucion hacia atras). Escriba las expresiones
generales del algoritmo y demuestre que el metodo de Gauss-Jordan requiere
de n
3
/2+n
2
n/2 multiplicaciones/divisiones y de n
3
/2n/2 sumas/restas.
Construya una tabla comparativa de las operaciones requeridas por los meto-
dos de Gauss-Jordan y de eliminacion gaussiana para n = 3, 10, 50, 100.
Cual de los dos metodos requiere de menos calculo?
2.1.2 Calculo de la inversa de una matriz
En general, no es recomendable calcular A
1
para resolver el SEL (2.1)
cuando n = m (es decir, hacer x = A
1
Ax = A
1
b). Esto se debe a que el
n umero de operaciones involucradas para calcular A
1
es, en general, mucho
mayor que si aplicaramos, por ejemplo, el algoritmo de eliminacion gaussiana
para resolver el mismo sistema. Lo cual, por supuesto, conllevara tambien
a un mayor error por redondeo.
(Asignacion: Vericar esto con algunos de los ejemplos previamente conside-
rados en este Captulo, para luego demostrarlo en general.)
Supongamos ahora que A
1
existe y sea
b
.j
=
_
_
_
_
_
b
1j
b
2j
.
.
.
b
nj
_
_
_
_
_
la j-esima columna de una matriz B cuadrada n n. Entonces podemos
2.1. RESOLUCI
ON DIRECTA DE UN SEL 23
calcular el producto matriz-vector siguiente:
Ab
.j
=
_
_
_
_
_
n
k=1
a
1k
b
kj
n
k=1
a
2k
b
kj
.
.
.
n
k=1
a
nk
b
kj
_
_
_
_
_
=
_
_
_
_
_
c
1j
c
2j
.
.
.
c
nj
_
_
_
_
_
= c
.j
,
la cual no es mas que la j-esima columna de la matriz C = AB. Ahora, si
A
1
= B, entonces
Ab
.j
=
_
_
_
_
_
_
_
_
_
_
_
0
.
.
.
0
1
0
.
.
.
0
_
_
_
_
_
_
_
_
_
_
_
j-esima entrada
As que, para encontrar A
1
, debemos simplemente resolver n sistemas
lineales, en los cuales la j-esima columna de la matriz inversa es la solucion
de un sistema lineal, con el termino independiente igual a la j-esima columna
de la matriz identidad I
nn
.
Ejemplo 3:
Sea
A =
_
_
2 1 3
1 3 2
3 1 3
_
_
.
Para calcular la matriz inversa de A, A
1
, debemos resolver tres sistemas
lineales (cuales?), que dan lugar a la matriz aumentada:
_
_
_
_
2 1 3
.
.
. 1 0 0
1 3 2
.
.
. 0 1 0
3 1 3
.
.
. 0 0 1
_
_
_
_
.
Despues de algunas operaciones elementales por las obtenemos (compro-
24 CAP
ON DIRECTA DE UN SEL 25
2.1.3 Pivoteo
Ya vimos que cuando un elemento pivote era cero podamos realizar un in-
tercambio de las. Intercambiabamos la la con el elemento pivote cero por
otra la que estaba por debajo de esta, pero con la entrada correspondiente
(en la misma columna) distinta de cero. En la practica, se recomienda re-
alizar este intercambio de las, aunque los elementos pivotes no sean cero.
De manera que, cuando nos encontramos con un elemento pivote menor (en
tama no) que los elementos por debajo de el (en la misma columna), resulta
deseable llevar a cabo el intercambio de las. Esta estrategia, denominada
pivoteo parcial, es recomendable aplicarla en general, pues si realizaramos
los calculos usando una aritmetica nita, sin efectuar intercambio de las, se
podran producir y acumular durante los calculos errores de redondeo con-
siderables, al punto de que la solucion obtenida pudiera ser muy diferente de
la solucion exacta del problema original.
Ejemplo 4:
Consideremos el SEL:
_
_
_
x
1
+ x
2
+ x
3
= 1
x
1
+ 1.0001x
2
+ 2x
3
= 2
x
1
+ 2x
2
+ 2x
3
= 1
Despues de aplicar eliminacion gaussiana (sin intercambio de las) obten-
emos:
_
_
_
x
1
+ x
2
+ x
3
= 1
0.0001x
2
+ x
3
= 1
9.999x
3
= 10.000
Si ahora hacemos sustitucion hacia atras, usando una aritmetica en punto
otante de tres dgitos, la solucion encontrada sera:
x
1
= x
2
= 0, x
3
= 1.000
Mientras que la solucion verdadera (redondeada a 4 lugares decimales) es:
x
1
= 1.0000, x
2
= x
3
= 1.0001
Ejercicio 4:
Vericar que si en el Ejemplo anterior realizamos la operacion elemental la
2 la 3 (en el segundo paso del proceso de eliminacin gaussiana), con la
26 CAP
= (QA)x
+ b,
o bien, Ax
ETODOS ITERATIVOS 27
donde e
(k)
= x
(k)
x
j=1
a
ij
x
j
= b
i
, 1 i n, (2.7)
si hacemos Q = diag(A) en (2.5), o si directamente de (2.7) resolvemos la i-
esima ecuacion para la i-esima icognita, obtendremos una ecuacion que dene
el metodo de Jacobi:
a
ii
x
(k)
i
=
n
j=1
j=i
(a
ij
)x
(k1)
j
+ b
i
(1 i n),
o bien,
x
(k)
i
=
1
a
ii
_
n
j=1
j=i
(a
ij
)x
(k1)
j
+ b
i
_
(1 i n).
Estamos asumiendo aqu que a
ii
,= 0, i (de lo contrario podemos reordenar
las ecuaciones de manera tal que se cumpla esta condicion).
Si en el metodo de Jacobi realizamos los calculos de manera tal que las
ecuaciones esten ordenadas (desde la primera la hasta la ultima) y comen-
zamos con la primera la, las componentes x
(k1)
j
, con j < i, podran irse
actualizando de tal forma que los nuevos valores x
(k)
j
se usaran inmediata-
mente en lugar de considerar los x
(k1)
j
(como antes), para dar lugar as al
denominado metodo de Gauss-Seidel:
n
j=1
ji
a
ij
x
(k)
j
=
n
j=1
j>i
(a
ij
)x
(k1)
j
+ b
i
(1 i n),
28 CAP
j=1
j<i
a
ij
x
(k)
j
n
j=1
j>i
a
ij
x
(k1)
j
+ b
i
_
(1 i n).
Ejemplo 5:
Consideremos el SEL Ax = b, donde
A =
_
_
2 1 0
1 3 1
0 1 2
_
_
y b =
_
_
1
8
5
_
_
.
Si aplicamos a este sistema el metodo de Jacobi obtenemos:
_
_
x
(k)
1
=
1
2
x
(k1)
2
+
1
2
x
(k)
2
=
1
3
x
(k1)
1
+
1
3
x
(k1)
3
+
8
3
x
(k)
3
=
1
2
x
(k1)
2
5
2
Ahora, sera mas eciente usar el nuevo valor de x
(k)
1
en la segunda ecuacion
(en lugar de x
(k1)
1
). Igualmente, sera mejor usar x
(k)
2
en la tercera ecuacion
(en lugar de x
(k1)
2
). De esta manera obtenemos, para este caso, el metodo
de Gauss-Seidel:
_
_
x
(k)
1
=
1
2
x
(k1)
2
+
1
2
x
(k)
2
=
1
3
x
(k)
1
+
1
3
x
(k1)
3
+
8
3
x
(k)
3
=
1
2
x
(k)
2
5
2
Si tomamos x
(0)
= (0, 0, 0)
t
, encontramos que el metodo de Jacobi produce
los vectores:
x
(1)
= (0.5000, 2.6667, 2.5000)
t
x
(2)
= (1.8333, 2.0000, 1.1667)
t
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
x
(21)
= (2.0000, 3.0000, 1.0000)
t
.
2.3. EXPERIMENTACI
ON NUM
ERICA 29
Si ahora aplicamos el metodo de Gauss-Seidel obtenemos:
x
(1)
= (0.5000, 2.8333, 1.0833)
t
x
(2)
= (1.9167, 2.9444, 1.0278)
t
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
x
(9)
= (2.0000, 3.0000, 1.0000)
t
.
Teorema 2.2 Si la matriz A es estrictamente diagonal dominante (i.e., si
[a
ii
[ >
n
j=1,j=i
[a
ij
[, i = 1, . . . , n), entonces los metodos de Jacobi y
Gauss-Seidel convergen para cualquier x
(0)
inicial.
Ejercicio 6:
Podemos aplicar este resultado al ejemplo anterior?
Ejercicio 7:
Usando una aritmetica de redondeo a cuatro lugares decimales, aplique los
metodos iterativos de Jacobi y Gauss-Seidel al SEL:
_
_
_
_
7 1 1 2
1 8 0 2
1 0 4 1
2 2 1 6
_
_
_
_
_
_
_
_
x
1
x
2
x
3
x
4
_
_
_
_
=
_
_
_
_
3
5
4
3
_
_
_
_
Podemos aplicar el teorema anterior?
2.3 Experimentaci on numerica
Para esta Seccion se puede consultar previamente alguna referencia basica
sobre el uso de MATLAB (como por ejemplo [7]).
Ejercicio 1:
Elija algunos valores de m y n, y genere tres matrices aleatorias de orden
mn, llamadas X, Y y Z. Genere dos escalares aleatorios a y b (por ejemplo,
a = rand(1) y b = 2*rand(1)-1). Verifique las propiedades de espacio
vectorial para el conjunto de las matrices reales m n. (Nota: Tambien
demuestrelo a mano.)
Ejercicio 2:
30 CAP
ON NUM
ERICA 31
de cada mezcla se necesitan para formular la mezcla especial? (Nota:
De Teaching Elementary Linear Algebra with MATLAB to Engineer-
ing Students por Deborah P. Levinson y citado en [?].)
Ejercicio 4: Introduccion eciente de matrices dispersas.
a) Dado un grafo G, definimos la matriz A = (a
ij
) asociada a G, por:
a
ij
= 1, si el nodo i esta conectado con el nodo j, y a
ij
= 0, de otro
modo. En la practica, la matriz asociada consiste de muchos ceros y
pocos unos. Consideremos, por ejemplo, el grafo siguiente:
>> a = zeros(5);
>> a(1,[2 4]) = [1 1];
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
f
f
f
f
f
f
f
f
f
f
f
f
f
Terminar de introducir
la matriz asociada al grafo.
5
1
4
3
2
b) Para un grafo dirigido o digrafo, la matriz de incidencia nodo-arista esta definida por:
c c
c c'
'
E
a8
a7
a5
a4 a1
n1
n2 n3
n4
n5 n6
a6
a3
a2
a
ij
= 1, si la arista j entra al nodo i,
a
ij
= 1, si la arista j sale del nodo i,
a
ij
= 0, de otro modo.
Para el digrafo anterior, establezca la matriz A de incidencia nodo-
arista.
32 CAP
ON NUM
ERICA 33
c) Genere un vector aleatorio u de n 1 y un vector aleatorio v de n 1.
Forme A = u*v, una matriz aleatoria de n n. Encuentre el rango
de A. Repita para otros tres juegos de u y v. Describa el rango de las
matrices formadas de esta manera.
d) Escriba un script cuyas instrucciones determinen el rango de una matriz
y luego calcule la inversa de la misma, o bien muestre un mensaje que
indique que no existe la inversa de la matriz.
(Asignacion: Explore el uso de los comandos null y orth utilizando el co-
mando help.)
Ejercicio 6: Distribucion de calor.
Consideremos una placa rectangular cuyo borde se matiene a cierta tem-
peratura. Estamos interesados en encontrar las temperaturas en los puntos
interiores. Supongamos que la temperatura en un punto interior es el prome-
dio de la temperatura de los cuatro puntos que lo rodean (arriba, abajo, a la
derecha e izquierda).
m m m
m m m
m
m
m
m
m
m
m
m
m
m
m
m
m
m
m
T3
T6
T9
T2
T5
T8
T1
T4
T7
0
100
100
100
50
50
50
50
50
50
ETODO DE LA BISECCI
ON 37
k a
k
b
k
c
k
f(c
k
)
0 1.0 2.0 1.5 2.375
1 1.0 1.5 1.25 -1.79687
2 1.25 1.5 1.375 0.162211
3 1.25 1.375 1.3125 -0.84839
4 1.3125 1.375 1.34375 -0.35098
5 1.34375 1.375 1.359375 -0.09641
6 1.359375 1.375 1.3671875 0.03236
7 1.359375 1.3671875 1.36328125 -0.03215
8 1.36328125 1.3671875 1.365234375 0.000072
9 1.36328125 1.365234375 1.364257813 -0.01605
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
12 1.364990235 1.365234375 1.365112305 -0.00194
13 1.365112305 1.365234375
Tabla 3.1: Tabla para el Ejemplo 1.
despues alejarnos).
Ejemplo 2:
Usemos el metodo de la biseccion para encontrar la raz de la ecuacion
e
x
= senx que se encuentra mas cerca del origen.
Resp.: Si hacemos un esbozo de las gracas de e
x
y senx, resulta evidente
que no existen races positivas de f(x) = e
x
senx y que la primera raz a la
izquierda del cero esta en el intervalo [4, 3]. Cuando se usa este algoritmo
en una computadora hipotetica XYZ obtuvimos la lista de datos de salida
mostrada en la Tabla 2.2.
Ejercicio 1:
Complete la Tabla 2.2 con los correspondientes valores de a
i
y b
i
y los valores
intermedios que faltan.
Analisis de errores:
Con el objeto de analizar el metodo de la biseccion denotemos con [a
0
, b
0
],
[a
1
, b
1
], y as sucesivamente, a los intervalos que surgen en el proceso. Ob-
servemos tambien que a
0
a
1
a
2
. . . b
0
y que b
0
b
1
b
2
. . . a
0
;
38 CAP
ETODO DE LA BISECCI
ON 39
este intervalo. En esta etapa la mejor estimacion para la raz no es ni a
n
ni b
n
,
sino el punto medio del intervalo c
n
= (a
n
+b
n
)/2, ya que [rc
n
[
1
2
[b
n
a
n
[.
De donde se obtiene (3.2). 2
Ejemplo 3:
Supongamos que el metodo de biseccion se inicia con el intervalo [50, 63].
Cuantos pasos son necesarios para calcular una raz con una precision rela-
tiva del orden de 10
12
?
Resp.: El requerimiento sobre la precision relativa signica que
[r c
n
[
[r[
10
12
.
Sabemos que r 50, por lo que basta que se satisfaga la desigualdad
[r c
n
[
50
10
12
.
De manera que, por el Teorema anterior, inferimos que la siguiente condicion
es suciente:
2
(n+1)
13
50
10
12
.
Despejando n concluimos que n 37.
Ejercicio 2:
Aplicar el algoritmo de la biseccion a la ecuacion x
3
7x
2
+ 14x 6 = 0
cuando a
0
= 0 y b
0
= 1. Verique primero que en efecto existe una raz
en el intervalo [0, 1]. Determine tambien la cantidad de iteraciones (pasos)
necesarias para alcanzar una precision del orden de 10
3
Observaciones a ser consideradas en un algoritmo para el metodo
de la biseccion:
El punto medio c lo debemos calcular como c a+(b a)/2, en lugar
de c (a+b)/2. Al hacerlo as seguimos la estrategia general de que, al
efectuar calculos numericos, es mejor calcular una cantidad a nadiendo
un peque no termino de correccion a una aproximaci on previamente
obtenida (ver [10], en donde dan un ejemplo en que el punto medio c,
calculado mediante (a+b)/2 en una computadora con precision limitada
se sale del intervalo [a, b]).
40 CAP
ETODO DE NEWTON 41
puntos iniciales corta el eje x (ver la Figura 2.2). Para tal efecto, es facil ver
que dicha recta es:
l(x) := f(a) +
f(b) f(a)
b a
(x a),
y que el valor de x para el cual l(x) = 0 es:
x =
af(b) bf(a)
f(b) f(a)
.
A continuacion, determinamos el subintervalo, [a, x] o [x, b], que contiene el
cero. Esto lo realizamos de la misma forma que lo hace biseccion, cuando
vericamos el cambio de signo de la funcion (as, si hay un cero en el in-
tervalo [a, x], dejamos a igual y establecemos x = b; si el cero no esta en
[a, x], el cero esta en el intervalo [x, b] y hacemos x = a). Como criterio de
parada se puede considerar el tama no de f(x), la cantidad en que la solucion
aproximada x vario respecto a la iteracion anterior, o un n umero de iterados
lo sucientemente grande (por lo general, se usa una combinacion de estas
tres condiciones).
Ejercicio 1:
Apliquemos el metodo de la cuerda a los Ejemplos 1 y 2 de la Seccion ante-
rior (metodo de biseccion). Cual de los dos metodos parece acercarse a la
solucion exacta en menos iteraciones?
3.3 El metodo de Newton
El Metodo de Newton, tambien llamado el metodo iterativo de Newton-
Raphson, es una de las tecnicas mas conocidas y ecientes para encontrar
las races de f(x) = 0. Sea r un cero de f y sea x una aproximacion a r. Si
existe f
(x) + O(h
2
),
donde h = r x. Si h es peque na (i.e., x r), es razonable ignorar el
termino O(h
2
) y resolver el resto de la ecuacion para h. Por lo que obtenemos
h = f(x)/f
(x) debera
estar a un mas proximo a r.
42 CAP
f(x
n
)
f
(x
n
)
, (n 0). (3.3)
El algoritmo de Newton:
Entrada: x
0
, M, , .
v f(x
0
)
Si [v[ < , parar (Salida: x
0
, v)
Para k = 1, . . . , M hacer
x
1
x
0
v/f
(x
0
)
v f(x
1
)
Si [x
0
x
1
[ < o [v[ < parar (Salida: k, x
1
, v)
x
0
x
1
Fin Salida: k, x
1
, v
Cualquier programa que se base en este algoritmo requerira ademas de sub-
programas o procedimientos para calcular f(x) y f
(x).
Ejemplo 1:
Encontrar la raz mas grande de f(x) = x
6
x 1 = 0 usando el metodo
3.3. EL M
ETODO DE NEWTON 43
n x
n
f(x
n
) r x
n
x
n+1
x
n
0 2.0 61.0 8.653 10
1
1 1.680628273 19.85 5.459 10
1
2.499 10
1
2 1.430738989 6.147 2.960 10
1
1.758 10
1
3 1.254970957 1.652 1.202 10
1
9.343 10
2
4 1.161538433 2.943 10
1
2.681 10
2
2.519 10
2
5 1.136353274 1.683 10
2
1.629 10
3
1.623 10
3
6 1.134730528 6.574 10
5
6.390 10
6
6.390 10
6
7 1.134724139 1.015 10
9
9.870 10
11
9.870 10
11
Tabla 3.3: Tabla para el Ejemplo 1.
Newton.
Resp.: En la Tabla 2.3 se muestra la salida correspondiente. Los calculos
se realizaron con una aritmetica en punto otante de aproximadamente 16
dgitos (los iterados de la tabla fueron redondeados considerando esta pre-
cision). La ultima columna, x
k+1
x
k
, es un estimado de rx
k
. Una vez que
un iterado este mas o menos cerca de la raz, el metodo de Newton converge
muy rapidamente. Lo cual resulta claro al observar en la tabla los iterados
x
4
, x
5
, x
6
y x
7
. Los iterados x
0
, x
1
, x
2
y x
3
muestran una lenta conver-
gencia inicial debido, sin duda, a la pobre escogencia del valor inicial x
0
. Si
hubieramos escogido x
0
= 1 como valor inicial, entonces x
4
debera tener una
precision de siete cifras signicativas y x
5
de catorce.
Ejercicio 1:
Resolver el Ejemplo 1 anterior aplicando el metodo de la biseccion y usando
[1, 2] como intervalo inicial. Compare sus resultados con los del metodo de
Newton de la Tabla 2.3. Cual de los dos metodos es mas rapido?
Ejercicio 2:
Encontrar los ceros de los Ejercicios 1 y 2 de la seccion anterior, pero ahora
usando el metodo de Newton. Cual de los dos metodos parece converger
mas rapido?
Interpretacion graca.
Podemos decir que el metodo de Newton consiste en la linealizacion de la
funcion. Es decir, f se reemplaza por una funcion lineal. La manera usual
de hacerlo es reemplazar f por los dos primeros terminos de su serie de
44 CAP
(c)(x c) +
1
2!
f
(c)(x c)
2
+ . . . ,
entonces, la linealizacion (en c) produce la funcion lineal
l(x) = f(c) + f
(c)(x c).
Observese que l es una buena aproximaci on de f en una vecindad de c; de
hecho, tenemos que l(c) = f(c) y l
(c) = f
(x
n
) = f(x
n
)/(x
n
x
n+1
), de donde x
n+1
= x
n
f(x
n
)/f
(x
n
), n 0.
Hay casos de funciones para los que la iteracion de Newton fracasa, por
ejemplo, si consideramos la Figura 2.4, la forma de la curva es tal que
para ciertos valores iniciales la sucesion x
n
diverge. Lo que signica que
cualquier enunciado formal acerca del metodo de Newton debe contemplar
la suposicion de que x
0
, el valor inicial, este lo sucientemente proximo a un
cero, o que la graca de f tenga una forma especial.
Analisis de errores:
3.3. EL M
ETODO DE NEWTON 45
Figura 3.4: Ejemplo en el que el metodo de Newton no converge.
Sin considerar por ahora los errores de redondeo, seguimos la exposicion de
[3] y denimos los errores e
n
x
n
r. Supongamos que f
es continua y
que r es un cero simple de f (i.e., f(r) = 0, pero f
f(x
n
)
f
(x
n
)
r = e
n
f(x
n
)
f
(x
n
)
=
e
n
f
(x
n
) f(x
n
)
f
(x
n
)
. (3.4)
Ahora, por el teorema de Taylor, sigue que
0 = f(r) = f(x
n
e
n
) = f(x
n
) e
n
f
(x
n
) +
1
2
e
2
n
f
(
n
),
donde
n
esta entre x
n
y r. De esta expresion tenemos que
e
n
f
(x
n
) f(x
n
) =
1
2
f
(
n
)e
2
n
.
Sustituyendo en (3.4), obtenemos
e
n+1
=
1
2
f
(
n
)
f
(x
n
)
e
2
n
1
2
f
(r)
f
(r)
e
2
n
= Ce
2
n
.
Esta ecuacion nos dice que e
n+1
es aproximadamente e
2
n
multiplicado por
una constante. Este importante resultado se conoce como convergencia
cuadratica. La misma explica por que en muchos ejemplos, en donde uti-
lizamos el metodo de Newton, se produce una duplicacion de la precision
respecto a la obtenida en la iteracion inmediatamente anterior.
El siguiente resultado sintetiza lo expuesto mas arriba y establece la con-
vergencia del metodo.
46 CAP
17 e iniciamos con x
0
= 4, las aproxima-
ciones sucesivas son las siguientes (se muestran solo los dgitos signicativos):
x
1
= 4.12
x
2
= 4.123106
x
3
= 4.1231056256177
x
4
= 4.123105625617660549821409856.
El valor correspondiente a x
4
es correcto hasta la vigesimo octava cifra deci-
mal, pudiendose observar la esperada duplicacion de los dgitos signicativos
1
Esta formula es muy antigua y se atribuye a Heron, un ingeniero y arquitecto griego,
quien vivio en el periodo que abarca los a nos 100 a.C. a 100 d.C.
3.4. EL M
ETODO DE LA SECANTE 47
en estos resultados. Este metodo, combinado con una reduccion del dominio,
se utiliza con frecuencia en las subrutinas para calcular races cuadradas.
Ejercicio 3:
Dado un n umero real R > 0, encuentre un metodo eciente para calcular
R
1/4
basandose en el metodo de Newton. Use este procedimiento para esti-
mar un valor de
4
(x
n
) en (3.3) por el cociente incremental
f(x
n
) f(x
n1
)
x
n
x
n1
(obviamente esta seleccion tiene su motivacion en la conocida denicion de
la derivada). De donde obtenemos la expresion:
x
n+1
= x
n
f(x
n
)
x
n
x
n1
f(x
n
) f(x
n1
)
, (n 1), (3.5)
que da lugar al algoritmo denominado metodo de la Secante. Como
podemos observar de (3.5), el calculo de x
k+1
requiere conocer x
k
y x
k1
,
por lo que debemos pasarle al algoritmo dos puntos iniciales. Sin embargo,
cada x
k+1
requiere de tan solo una nueva evaluaci on de f (Por que?).
Ejercicio 1:
Aplique el metodo de la secante a los casos estudiados en los ejercicios de la
Seccion anterior.
Interpretacion graca.
La interpretacion es similar a la del metodo de Newton, pero ahora la recta
tangente a la curva se reemplaza por una recta secante. A partir de la
Figura 2.5 vemos tambien que
f(x
n1
)f(x
n
)
x
n1
x
n
=
f(x
n
)
x
n
x
n+1
, de donde se obtiene
(2.5).
2
A cualquiera de nuestros lectores, que estuviera lo sucientemente motivado por los
MN, tambien se le hubiera podido ocurrir esta idea.
48 CAP
(x)
.
La formula (3.6) puede utilizarse para generar sucesiones que no convergen,
como sucede, por ejemplo, con la sucesion 1, 5, 25, 125, . . . que se obtiene si
x
0
= 1 y F(x) = 5x. Sin embargo, nuestro interes recae sobre los casos para
los cuales existe lim
n
x
n
. Supongamos entonces que lim
n
x
n
= s Cual
sera la relacion entre s y F? Si F es continua, entonces
F(s) = F( lim
n
x
n
) = lim
n
F(x
n
) = lim
n
x
n+1
= s.
3
El metodo de Steenson es una modcacion del metodo de Newton, similar al metodo
de la secante, pero usando otra aproximacion de la derivada. Siendo algo mas especcos,
x
n+1
= x
n
f(x
n
)/D(x
n
), donde D(x
n
) = [f(x
n
+f(x
n
)) f(x
n
)]/f(x
n
), n 0.
3.5. M
n
esta proximo a s y F
(
n
) F
(s). Se esperara una convergencia mas
rapida si F
(s) es peque no.
Extrapolacion de Aitken
De (3.8) sigue que
lim
n
s x
n+1
s x
n
= F
(s),
Si denimos
n
=
x
n
x
n1
x
n1
x
n2
, n 2, (3.9)
4
Mas a un, si max
axb
[F
(x)[ < 1 la sucesion x
n
converge linealmente a s [1].
52 CAP
n
= F
(s) (ver [1]). Usemos
n
F
(s)
para estimar el error en los iterados x
n
. De esta manera, podemos escribir
s x
n
n
(s x
n1
),
de donde
s x
n
= (s x
n1
) + (x
n1
x
n
)
1
n
(s x
n
) + (x
n1
x
n
),
y
s x
n
n
1
n
(x
n
x
n1
). (3.10)
Esta es la formula de error de Aitken para x
n
(sera mas precisa en la
medida que
n
converja a F
(s)). Cuando reescribimos esta expresion
como
s x
n
+
n
1
n
(x
n
x
n1
),
obtenemos la denominada formula de extrapolacion de Aitken. Si de-
notamos el lado derecho de la misma por x
n
(n 2) y sustituimos (3.9) en
ella, la formula para x
n
queda:
x
n
= x
n
(x
n
x
n1
)
2
(x
n
x
n1
) (x
n1
x
n2
)
, n 2, (3.11)
de la que esperamos sea una mejor aproximacion a la raz que el x
n
mismo.
En este sentido, este proceso puede pensarse como un esquema de aceleracion
para el caso del algoritmo de iteracion funcional (3.6) de convergencia lineal.
Ejemplo 3: ([1, pags. 85-86])
Consideremos la iteracion:
x
n+1
= 6.28 + sin(x
n
), n 0.
El valor real de la raz es s = 6.01550307297 . . ..
Los resultados de la iteracion se muestran en la Tabla 2.4. Observamos
que los valores de
n
estan convergiendo a F
5z 2.
Resp.:
1 4 7 5 2
3 3 3 12 21
........................................................
1 1 4 7 19 = p(3)
El algoritmo de Horner se puede usar tambien para realizar una deacion
5
.
As, si z
0
es un cero de p, entonces z z
0
es un factor de p, y viceversa. Los
ceros restantes de p son los n 1 ceros de p(z)/z z
0
.
Ejemplo 2:
5
Proceso por el cual se cancela un factor lineal del polinomio.
3.6. EL ALGORITMO DE HORNER 55
Efect ue una deacion sobre el polinomio del ejemplo anterior sabiendo que
2 es uno de sus ceros.
Resp.:
1 4 7 5 2
2 2 4 6 2
........................................................
1 2 3 1 0
Por lo tanto, p(z) = z
4
4z
3
+ 7z
2
5z 2 = (z 2)(z
3
2z
2
+ 3z + 1).
Una tercera aplicacion del algoritmo de Horner, que da lugar al denomi-
nado algoritmo de Horner completo, consiste en obtener, de una manera
eciente, los coecientes del desarrollo de Taylor de un polinomio alrededor
de cualquier punto. En efecto, supongamos que buscamos los coecientes C
k
en
p(z) = a
n
z
n
+ a
n1
z
n1
+ + a
1
z + a
0
= C
n
(z z
0
)
n
+ C
n1
(z z
0
)
n1
+ . . . + C
0
(por Taylor sabemos que C
k
= p
(k)
(z
0
)/k!, pero ahora queremos contar con
un algoritmo mas eciente para estimar los C
k
p(z
n
)
p
(z
n
)
,
al que incorporaremos el algoritmo de Horner para obtener p(z
n
) y p
(z
n
),
resultando de ello un metodo eciente para estimar de manera aproximada
un cero del polinomio p. Con dos pasos del algoritmo de Horner completo,
obtendremos C
0
= p(z
0
) y C
1
= p
(z
0
).
Ejemplo 4:
Llevar a cabo la iteracion de Newton con el polinomio del ultimo ejemplo,
empezando con z
0
= 0.
Resp.: En el primer paso z
0
= 0, y calculamos p(0) = 2 y p
(0) = 5
mediante los algoritmos vistos . El nuevo valor de z sera
z
1
= z
0
p(z
0
)
p
(z
0
)
= 0
2
5
= 0.4.
Al ejecutar el algoritmo en una cierta maquina (digamos, la SUPER XYZ),
se obtuvieron los resultados mostrados en la Tabla 2.4 (observemos que z
n
converge rapidamente al cero 0.27568).
Ejercicio 1:
Escriba un algoritmo (puede ser en pseudocodigo) que utilice el metodo de
Newton con el algoritmo de Horner para encontrar las races de polinomios
(dando el z
0
inicial). Pruebe su algoritmo con el ejemplo anterior.
3.7 Experimentaci on numerica
Ejercicio 1.
3.7. EXPERIMENTACI
ON NUM
ERICA 57
n p(z
n1
) p
(z
n1
) z
n
1 2.00000 -5.00000 -0.40000
2 1.40160 -12.77600 -0.29029
3 1.46322 -10.17322 -0.27591
4 0.00226 -9.86030 -0.27568
5 0.00000 -9.85537 -0.27568
Tabla 3.5: Tabla correspondiente al Ejemplo 4
a) Escriba tres programas en MATLAB (scripts), uno para el metodo de
la biseccion, otro para el metodo de la secante y otro para el metodo
de Newton. Construir una tabla con cuatro columnas: una para el
iterado k, una para x
k
, otra para [x
k
x
k+1
[ y una ultima para f(x
k
).
Como un ejemplo, usemos estos programas para resolver el problema de
encontrar un cero de la funcion f(x) = tan(
x
4
) 1 (con [a
0
, b
0
] = [2, 4],
x
0
= 1, x
1
= 2 y k = 1, ..., 47). Interprete los resultados numericos [se
puede solicitar al estudiante correr sus programas con otras funciones].
b) Aplique el script de Newton al problema de encontrar un cero de la
funcion f(x) = x
2
a
2
, con valor inicial x
0
= 2 y valores de a = 10
0
,
10
4
, 10
8
, 10
12
, 0. Que observa con respecto a la velocidad de
convergencia cuando a decrece de 1 a 0?
c) Aplique el script de Newton al problema de encontrar un cero de la
funcion f(x) = arctan(x), con un valor inicial x
0
tal que [x
0
[ > 1.3917.
Que sucede? Por que?
d) Podemos siempre terminar las iteraciones de Newton cuando [f(x
k
)[
sea lo sucientemente peque no? Por que? Que podemos decir de
[x
k+1
x
k
[?
Ejercicio 2.
Una llamada de la forma
>> root = fzero(f,x0)
puede usarse en el ambiente MATLAB para calcular un cero de la funcion
f(x) cerca de x = x
0
(para mas detalles tipee help fzero). Escriba una
funcion MATLAB z=cubeRoot(a) que use fzero para calcular la raz c ubica
58 CAP
ETODO DE NEWTON 61
obtenemos que H
(0)
= (h
(0)
1
h
(0)
2
)
t
= (13/8 11/8)
t
, y X
1
= X
0
+H
(0)
=
(.625 3.625)
t
.
Y como
J(X
1
)
_
h
(1)
1
h
(1)
2
_
= F(X
1
),
o bien,
_
1 1
5/4 29/4
_
_
h
(1)
1
h
(1)
2
_
=
_
0
145/32
_
,
tambien obtenemos que H
(1)
= (h
(1)
1
h
(1)
2
)
t
= (145/272 145/272)
t
, y
X
2
= X
1
+ H
(1)
(.092 3.092)
t
.
Podemos observar en X
2
la tendencia de los iterados del metodo a acer-
carse a la raz (0 3)
t
.
Ejercicio 1:
Realizar tres iteraciones adicionales para el caso del ejemplo anterior, obser-
vando el comportamiento de los diferentes iterados.
Ejercicio 2:
Realizar cuatro iteraciones (n = 4) para resolver:
f
1
= 3x
2
1
+ 4x
2
2
1 = 0 f
2
= x
3
2
+ 8x
3
1
1 = 0,
con X
0
= (0.5, 0.25)
t
. (Solucion: (0.497251208, 0.254078592)).
Cuando los sistemas de ecuaciones son mas grandes y con mas variables,
el tratamiento es similar. El sistema de ecuaciones:
f
i
(x
1
, x
2
, . . . , x
n
) = 0 (1 i n),
puede escribirse como
F(X) = 0,
donde X = (x
1
, x
2
, . . . , x
n
)
t
y F = (f
1
, f
2
, . . . , f
n
)
t
.
El analogo de (3.1) es
0 = F(X + H) F(X) + F
(X)H, (4.3)
donde H = (h
1
, h
2
, . . . , h
n
)
t
y F
(X) es la matriz jacobiana de orden nn con
entradas f
i
/x
j
. Obtenemos el vector de correccion al resolver el SEL en
62 CAP
i=0
1
i!
(h
x
+ k
y
)
i
f(a, b) + E
n
(h, k), (4.4)
donde
E
n
(h, k) =
1
(n + 1)!
(h
x
+ k
y
)
n+1
f(a + h, b + k),
y donde es un n umero entre 0 y 1.
(Nota: Para cada valor de i = 0, 1, . . . , n + 1, la notacion
(h
x
+ k
y
)
i
f(a, b)
signica lo siguiente:
(h
x
+ k
y
)
0
f(a, b) = f(a, b)
(h
x
+ k
y
)
1
f(a, b) = (h
f
x
+ k
f
y
)(a, b)
(h
x
+ k
y
)
2
f(a, b) = (h
2
2
f
x
2
+ 2hk
2
f
xy
+ k
2
2
f
y
2
)(a, b),
)
2
En la practica H se puede determinar usando eliminacion gaussiana.
4.1. EL M
ETODO DE NEWTON 63
Ejemplo 1:
Cuales son los primeros terminos en la formula de Taylor para f(x, y) =
cos(xy)?
Resp.: Como
f
x
= y sen(xy)
f
y
= x sen(xy)
2
f
x
2
= y
2
cos(xy)
2
f
xy
= xy cos(xy) sen(xy)
2
f
y
2
= x
2
cos(xy).
As, si n = 1 en la formula de Taylor (4.4), obtendremos
cos[(a + h)(b + k)] = cos(ab) hb sen(ab) ka sen(ab) + E
1
(h, k),
donde el residuo E
1
es la suma de los tres terminos:
1
2
h
2
(b + k)
2
cos[(a + h)(b + k)]
hk(a + h)(b + k) cos[(a + h)(b + k)] + sen[(a + h)(b + k)]
1
2
k
2
(a + h)
2
cos[(a + h)(b + k)].
Ejercicio 1:
Repetir el Ejercicio anterior para f(x, y) = sen(xy)?
Ejercicio 2:
Considere encontrar el desarrollo de Taylor para f(x, y) = x/y alrededor de
(a, b) = (6, 2) (n = 1).
64 CAP
ITULO 5. INTERPOLACI
ON POLINOMIAL
5.1 Experimentaci on numerica
La referencia basica que seguimos aqu es el curso introductorio [7].
Ejercicio 1: Analisis del error de interpolacion para el caso de nodos igual-
mente espaciados.
Consideremos la formula del error de interpolacion (ver, por ejemplo, [1] o
[4]). Claramente,
max
x[a,b]
[f(x) P
n
(x)[
c
n+1
(n + 1)!
. max
x[a,b]
[
n
(x)[,
donde
c
n+1
= max
t[a,b]
[f
(n+1)
(t)[ y
n
(x) = (x x
0
)(x x
1
) . . . (x x
n
).
Observemos que este resultado nos da una estimacion superior del error para
cualquier valor de x. El primer termino de la derecha es una constante
en [a, b], por lo que la distribucion esta determinada por
n
(x). Usaremos
solamente nodos igualmente espaciados: x
j
= x
0
+ jh, para j = 0, 1, . . . , n.
a) Para distintos valores de n (= 1, 2, 3, 6, 9), grafique, usando MATLAB,
el polinomio
n
(x). Aqu, [a, b] = [3, 3], x
0
= a y h =
ba
n
. Que
observa? Como convendra escoger los nodos cuando usamos interpo-
lacion de un grado mayor?
b) Consideremos la funcion
f(x) =
1
1 + x
2
, 5 x 5. (5.1)
Grafique, usando MATLAB, p
10
(x), f(x) y [f(x) p
10
(x)[. Que ob-
serva? Podemos decir que en general
max
x[a,b]
[f(x) p
n
(x)[
n
0 ?
c) Consideremos la funcion
f(x) = sen(x) en 0 x , (5.2)
5.1. EXPERIMENTACI
ON NUM
ERICA 67
y p
4
(x), el polinomio de interpolacion de f en los puntos (nodos igual-
mente espaciados)
x = [0,
4
,
2
,
3
4
, ] y = [0, sen(
4
), sen(
2
), sen(
3
4
), sen()].
Si e(x) = sen(x) p
4
(x), graficar, usando MATLAB, sen(x) y 100e(x).
Que observa? Explique.
Ejercicio 2: Uso de comandos MATLAB.
Revise y adquiera experiencia en el uso de los siguientes comandos MATLAB:
polyfit, polyval, interpl. Supongamos que en cada uno de los casos (5.1)
y (5.2) (ejercicio 1) se particiona el intervalo en n + 1 nodos igualmente
espaciados. Usando los comandos se nalados, construya los interpoladores:
polinomial, spline lineal, spline c ubico; siendo n = 5, 10, 20. Grafique los
correspondientes errores y estime las magnitudes maximas de los mismos.
Justifique.
Ejercicio 3:
Interpole y graque la funcion z = f(x, y) de dos variables, denida por
z = e
x
2
y
2
en el rectangulo 2 x 2, 3 y 3. Use interp2 y las
opciones linear y cubic.
68 CAP
ITULO 5. INTERPOLACI
ON POLINOMIAL
Referencias
[1] K.E. ATKINSON. An Introduction to Numerical Analysis, Second Edi-
tion. John Wiley, N.Y., 1989.
[2] R.L. BURDEN and J.D. FAIRES. Analisis Numerico, 7ma. Ed. Thom-
son - Learning, Mx, 2002.
[3] W. CHENEY and D. KINCAID. Numerical Analysis: Mathematics
of Scientic Computing. Brooks/Cole Publishing Company, Belmont,
California, 1991.
[4] W. CHENEY and D. KINCAID. Numerical Mathematics and Comput-
ing, Fourth Edition. Brooks/Cole Publishing Company, Pacic Grove,
1999.
[5] G. DAHLQUIST and A. BJORCK. Numerical Methods. Prentice-Hall,
Inc., Englewood Clis, N.J., 1974.
[6] T.A. DAVIS and K. SIGMON. MATLAB Primer, Seventh Edition.
CHAPMAN & HALL/CRC, Boca Raton, 2005.
[7] R. ESCALANTE. Curso introductorio de MATLAB. Editorial Equinoc-
cio, Universidad Simon Bolvar, Caracas, 2006.
[8] D.E. ETTER. Engineering Problem Solving with MATLAB, Second Edi-
tion. Prentice-Hall. Inc., N.J., 1997.
[9] L.V. FAUSETT. Applied Numerical Analysis Using MATLAB, Second
Edition. Prentice-Hall. Inc., N.J., 1999.
[10] G.E. FORSYTHE, M.A. MALCOLM, and C.B. MOLER. Computer
Methods for Mathematical Computations. Prentice-Hall. Inc., N.J., 1977.
69
70 REFERENCIAS
[11] D.J. HIGHAM and N.J. HIGHAM. MATLAB Guide. Society for In-
dustrial and Applied Mathematics, Philadelphia, 2000.
[12] C.F. VAN LOAN. Introduction to Scientic Computing - A Matrix-
Vector Approach Using MATLAB, 2nd. Edition. Prentice-Hall, Inc.,
N.J., 2000.
[13] S. NAKAMURA. Numerical Analysis and Graphic Visualization with
MATLAB. Prentice-Hall, Inc., N.J., 1996.