Escolar Documentos
Profissional Documentos
Cultura Documentos
M
etodos num
ericos
CAPITULO 4. METODOS
NUMERICOS
86
En general, por error se entiende la diferencia entre el valor real de un dato o del resultado,
llamemosle a (en definitiva un n
umero) y el valor que se maneja u obtiene en la implementaci
on
del metodo, pongamos a
. Hay que distinguir entre el error absoluto, que es |a a
|, y el error
|a a
|
relativo, el cociente
. A veces el error relativo se define tambien en funci
on del rango
|a|
de valores que maneje la m
aquina, por ejemplo desde 10 999 (algo menor en valor absoluto
sera tomado como 0) hasta 10999 .
Un metodo numerico se lleva a la pr
actica implementando un algoritmo, que ejecuta
varias rutinas a partir de unos datos iniciales para producir el resultado. Las rutinas pueden
ser repetitivas, realiz
andose varias veces (iteraciones), en cuyo caso se trata de un metodo
iterativo. Dos aspectos b
asicos a estudiar en estos metodos para evaluar su eficiencia son la
convergencia (si efectivamente conducen a la obtenci
on de un resultado v
alido y con que
rapidez llegan a el p. ej. cu
antas iteraciones precisan) y la estabilidad (es deseable que los
posibles peque
nos errores en los datos iniciales o en los c
alculos no incidan demasiado en el
resultado).
Veamos un ejemplo de inestabilidad computacional por propagaci
on del error: supongamos
que queremos calcular
Z 1 10
x
I=
dx
0 a+x
Z 1
xn
y observamos que, si yn =
dx, entonces
0 a+x
Z 1 n 1
Z 1
x
(x + a a)
1
yn =
dx =
xn 1 dx a yn 1 =
a yn 1 .
a
+
x
n
0
0
1+a
, lo tomaremos como dato
a
inicial y aplicaremos un metodo iterativo, que nos da como valores intermedios (en cada
1
1
1
iteracion sucesiva) y1 = 1 a y0 , y2 =
a y1 , y3 =
a y2 , . . . , hasta y10 =
a y9 .
2
3
10
Si en la obtenci
on de y0 cometemos un error ", de forma que obtenemos y0 = y0 + ",
entonces seguiramos con
Nosotros queremos hallar y10 . Por tanto, dado que y0 = log
y1 = 1
a y0 = 1
a y0
a " = y1
a" ,
NUMERICA
4.1. RESOLUCION
DE ECUACIONES: METODO
DE NEWTON
4.1.
87
Resoluci
on num
erica de ecuaciones: m
etodo de Newton
y=0
s
xn+2
xn+1
xn
CAPITULO 4. METODOS
NUMERICOS
88
g 0 (x) = 1
f (x)f 00 (x)
f 0 (x)
f (x)f 00 (x)
f 0 (x)
La funci
on g 0 es continua al serlo f, f 0 y f 00 . Supongamos que f (s) = 0 y que s es un punto
interior de I. Resulta que g 0 (s) = 0. Por continuidad, g 0 (x) ! 0 cuando x ! s. Entonces,
si elegimos L 2 (0, 1) podemos asegurar que en los valores muy pr
oximos a s se cumplira
0
|g | L. Dicho con m
as precisi
on, existe > 0 tal que todos los valores x de (s
,s + )
cumplen que |g 0 (x)| L.
Comprobaremos que, si el punto inicial x0 es tan pr
oximo a s como hemos dicho, efectivamente la sucesi
on definida por el metodo converge a s. La clave es el teorema del valor medio,
por el que dados x, y 2 (s
, s + ) podemos escribir
g(x)
g(y) = g 0 (c) (x
y)
, s + )), y as
g(y)| = |g 0 (c)| |x
y| L |x
y| .
(1)
s| L |x
s| ,
(2)
y de ah
|g(x)
s| L |x
s| = L |x
s| L |x
g(x) + g(x)
g(x)| + L |g(x)
s| ,
por lo que
(1
L) |g(x)
s| L |x
g(x)| .
(3)
s| = |g(xn
2
L |xn
n
L |x0
1)
2
s| L |xn
2
s| = L |g(xn
s| ,
s| = L |g(xn
3)
s|
2)
s|
NUMERICA
4.1. RESOLUCION
DE ECUACIONES: METODO
DE NEWTON
y como Ln
! 0, es decir
s|
n!1
89
n!1
xn
! s,
n!1
Adem
as, usando (3) vemos que
(1
L) |xn
s| = (1
L) |g(xn
s| L |xn
1)
es decir
|xn
s|
L
1
|xn
g(xn
xn
1 )|
= L |xn
xn
1| .
1| ,
(4)
Si queremos aproximarnos tanto como |xn s| < ", como criterio de parada podemos tomar
1 L
|xn xn 1 | <
". En la pr
actica, como puede ser difcil conocer el valor de L que podemos
L
considerar, el criterio suele ser simplemente |xn xn 1 | < ", con " razonablemente peque
no.
Si partimos de (4) y aplicamos reiteradamente (1), podemos estimar cu
antas iteraciones
necesitaremos para obtener una buena aproximaci
on en funci
on del valor de |x1 x0 |:
(1
L) |xn
s| L |xn
2
L |xn
n
L |x1
xn
1
xn
x0 | ,
y entonces
|xn
1|
s|
= L |g(xn
2|
1)
= L |g(xn
Ln
|x1
1 L
g(xn
2)
2 )|
g(xn
3 )|
x0 | .
CAPITULO 4. METODOS
NUMERICOS
90
Observemos que, como f 0 no se anula en [a, b] y es continua, por el teorema de Bolzano tiene
signo constante. Podramos haber supuesto tambien que f 00 > 0 (de lo contrario consideramos
f , pues igual da resolver f (x) = 0 que f (x) = 0), y la condici
on sobre x0 sera simplemente
f (x0 ) 0.
Nota. En el ejemplo del dibujo la funci
on f cumple estas condiciones (f 00 > 0 significa que
0
f es creciente, y la gr
afica es convexa), y comenzar con x0 donde est
a xn garantiza que el
metodo funciona, con una sucesi
on decreciente que converge a s. Si comenz
aramos con un x0
tal que f (x0 ) < s, est
a claro gr
aficamente que sera x1 > s, pero podra pasar que x1 > b y
perdieramos las condiciones para continuar. Para evitar este problema, se ve f
acilmente que,
si a
nadimos en la proposici
on la condici
on
|f (a)|
b
|f 0 (a)|
|f (b)|
b
|f 0 (b)|
a,
entonces el metodo funciona para cualquier x0 2 [a, b], independientemente de los signos de
f 00 y f (x0 ).
16 .
Como 23 = 8 y 33 = 27, resulta que f (2) < 0 y f (3) > 0, y tomaremos como intervalo
[a, b] = [2, 3]. Adem
as
f 0 (x) = 3x2
f 00 (x) = 6x ,
luego f 0 y f 00 son positivas en dicho intervalo, y tomaremos x0 tal que f (x0 ) > 0. Podemos
comenzar con x0 = 3.
En cada iteraci
on tenemos que aplicar la funci
on
g(x) = x
f (x)
2x
16
=
+ 2,
f 0 (x)
3
3x
as que la sucesi
on que define el metodo es la dada por
x0 = 3,
En particular x1 = 2 +
16
27
70
27 ,
xn+1 =
2xn
16
+ 2 .
3
3xn
y como
g 0 (x) =
2
1
3
16
x3
es facil ver que en [2, 3] se cumple que |g 0 (x)| 2/3, y sabemos que se cumplir
an las desigualdades vistas antes con L = 2/3. Eso nos asegura que
|xn
p
3
16|
2
3
n
2
3
|x1
x0 | = 3
2
3
11
11
=
27
9
2
3
NUMERICA
4.1. RESOLUCION
DE ECUACIONES: METODO
DE NEWTON
La velocidad de convergencia a
tenemos que
p
3
91
x1 2,5925925925
x2 2,5218644494
x3 2,5198437211
x4 2,5198420997
x5 2,5198420997 . . .
p
p
p
3
3
De hecho 3 16 2,519842099789746329, de forma que |x3
16| < 10 5 y |x4
16| <
10
10
10 . Si como criterio de parada establecemos que sea |xn+1 xn | < 10 , el programa
se detiene tras calcular las aproximaciones se
naladas y nos da x4 como aproximaci
on de la
solucion. Si pedimos m
as precisi
on en los resultados obtendramos x5 distinto de x4 , siendo
p
3
|x5
16| < 10 20 .
Velocidad de convergencia. Se dice que un metodo iterativo dado por xn+1 = g(xn ) tiene
orden de convergencia p (p 1) si existe y es no nulo el lmite
lm
n!1
|xn+1 s|
.
| xn s | p
Como parece sugerir lo visto en el ejemplo se prueba que, en las condiciones de la proposicion
dada, si adem
as f es de clase C (3 (es decir, existe f 000 y es continua) la convergencia del metodo
de Newton es de orden 2. Se dice que es un metodo de convergencia cuadr
atica. Adem
as no
hay problemas de estabilidad, por lo que el metodo de Newton es muy eficaz en la resolucion
numerica de ecuaciones. De hecho, los metodos m
as usados siguen bas
andose en el metodo de
Newton.
El m
etodo de la secante. El metodo de Newton no puede aplicarse si no es sencillo evaluar la
derivada f 0 , lo que sucede por ejemplo si no disponemos de una expresi
on exacta de f , sino de
una aproximaci
on a partir de datos obtenidos tambien numericamente o experimentalmente.
Se puede aplicar entonces el metodo de la secante, que resulta de aproximar en cada paso
f 0 (xn )
f (xn )
xn
f (xn
xn 1
1)
CAPITULO 4. METODOS
NUMERICOS
92
y = f (x)
y=0
s
xn+1
4.2.
xn
xn
Integraci
on num
erica
4.2.1.
Polinomios de interpolaci
on
NUMERICA
4.2. INTEGRACION
93
n
Y
x
x
j
k=0
xk
,
xk
k6=j
p(0) = 2,
p(1) =
La expresi
on anterior nos dice (tomando x0 =
p(x) = 2 `1 (x)
{a
b+c
1)(x
2)
y p(2) = 2 .
1, x1 = 0, x2 = 1 y x3 = 2) que
`2 (x) + 2 `3 (x) ,
(x + 1)x(x 2)
(x + 1)x(x 1)
y `3 (x) =
.
2
2
6
M
as directamente, podemos plantear que el polinomio p(x) = a + bx + cx2 + dx3 toma los
valores dados, lo que equivale a decir que se satisface el sistema de ecuaciones lineales
con `1 (x) =
(x + 1)(x
, `2 (x) =
d = 0, a = 2, a + b + c + d =
con solucion {a = 2, b =
7
, c=
3
1, a + 2b + 4c + 8c = 2} ,
5
11
, d = }, y por tanto
2
6
p(x) = 2
7
x
3
5 2 11 3
x +
x .
2
6
1)
1, luego
CAPITULO 4. METODOS
NUMERICOS
94
4.2.2.
F
ormulas de cuadratura
En una f
ormula de cuadratura se aproxima el valor de
Z
f (x) dx
n
X
f (x) dx mediante
a
j f (xj )
j=0
para ciertos nodos xj (a x0 < x1 < < xn 1 < xn b). Se dice que la f
ormula es de tipo
interpolatorio si es exacta para grado n, lo que quiere decir que
Z b
n
X
p(x) dx =
j p(xj ) para toda polinomio p(x) de grado n.
a
j=0
Proposici
on. Una f
ormula de cuadratura como la anterior es de tipo interpolatorio si y s
olo
Rb
si j = a `j (x) dx , donde `j es el polinomio de Lagrange correspondiente a xj para los nodos
x0 , . . . , x n .
En efecto: por un lado, si es de tipo interpolatorio tendremos, por ser `j polinomio de
grado n,
Z b
n
X
`j (x) dx =
k `j (xk ) = j ,
a
k=0
p(x) dx =
a
n
X
j=0
p(xj )
`j (x) dx =
a
n
X
p(xj ) .
j=0
Conclusi
on: la f
ormula de cuadratura es de tipo interpolatorio si, y s
olo si, para cada funcion
Rb
f definida en [a, b] aproxima la integral a f (x) dx por la integral del polinomio que interpola
a f en los nodos dados:
Z b
Z b
Z bX
n
n
X
f (x) dx
P (x) dx =
f (xj )`j (x) dx =
j f (xj ) .
a
a j=0
j=0
P (x) dx .
< xn = b
(prescindiendo tal vez de los extremos) de tal manera que son equidistantes, es decir xj =
b a
x0 + j h, con h =
.
n
NUMERICA
4.2. INTEGRACION
95
Si interpolamos en x0 , x1 , . . . , xn
Si interpolamos en x1 , . . . , xn
1 , xn
se dicen f
ormulas cerradas.
se dicen f
ormulas abiertas.
a+b
.
2
Como es exacta en los polinomios de grado 0, o sea las constantes, debe ser la dada por
b
a
f (x) dx (b
a) f
a+b
2
(f
ormula del punto medio).
Si f es de clase C (2 , el error cometido es igual a
f 00 (c)
(b
24
La f
ormula es entonces
Z
b
a
f (x) dx
a
2
f (a) + f (b)
(f
ormula del trapecio).
f 00 (c)
(b
12
b
a
3
2f
y a+2
a + 2b
.
3
a
3
, o sea en
2a + b
y
3
CAPITULO 4. METODOS
NUMERICOS
96
Por simetra se debe cumplir que
b
a
f (x) dx
b
2
2,
2a + b
+f
3
a + 2b
.
3
Ahora se integra la secante en los dos puntos dados, y el error suele ser menor que en el
f 00 (c)
caso anterior: si f es de clase C (2 , es igual a
(b a)3 para alg
un c 2 (a, b).
36
a+b
F
ormula cerrada con tres nodos: interpolamos en a, b y el punto medio
, as que ser
a
2
Z b
a+b
f (x) dx 1 f (a) + 2 f
+ 3 f (b) ,
2
a
de forma exacta para grado 2. Integrando 1, x a y (x a)2 se plantea un sistema que nos
b a
2
da rapidamente los valores de j : 1 = 3 =
y 2 = (b a), y la f
ormula es
6
3
Z
b
a
f (x) dx
b
6
f (a) + 4 f
a+b
+ f (b)
2
(f
ormula de Simpson).
f (4) (c)
(b
2880
En particular, resulta que la f
ormula es exacta para grado 3.
Para f de clase C (4 el error de la aproximaci
on es
F
ormulas de cuadratura compuestas. Si integramos una funci
on en un intervalo grande
(en relaci
on al tama
no de los valores de f ) para aumentar la precisi
on en la aproximacion
lo mejor no es aumentar el n
umero de nodos (porque se complican mucho los c
alculos), sino
dividir el intervalo en otros m
as cortos y aplicar en cada uno de ellos una f
ormula de cuadratura
con pocos nodos.
En particular, si dividimos el intervalo en n subintervalos iguales, en cada uno de ellos
aplicamos la f
ormula de Simpson y sumamos las n aproximaciones, obtenemos la f
ormula
de Simpson compuesta. Se demuestra que el error es entonces, para funciones de clase C (4 ,
expresable como
(b a) h4 (4)
f (c) ,
2880
b a
donde c 2 (a, b) y h =
es la longitud de cada subintervalo.
n