Está en la página 1de 24

Mtodos Numricos: Resumen y ejemplos

Tema 2: Aproximacin e interpolacin


Francisco Palacios
Escuela Politcnica Superior de Ingeniera de Manresa
Universidad Politcnica de Catalua
Febrero 2008, Version 1.4

Contenido
1. Objetivo de los mtodos numricos
2. Errores
3. Dgitos significativos y decimales exactos
4. Polinomios de Taylor
5. Resto del polinomio de Taylor
6. Polinomio interpolador de Lagrange
7. Forma de Lagrange para el polinomio interpolador
8. Error de interpolacin
9. Forma de Newton para el polinomio interpolador
10. Polinomio interpolador de Hermite

Objetivo de los mtodos numricos

El objetivo de los mtodos numricos es aproximar el valor numrico de


objetos matemticos usando un nmero finito de operaciones aritmticas.
Algunos ejemplos tpicos del tipo de problema que abordan los mtodos
numricos son los siguientes:
1. Evaluar


5, 6 28, sin(0.361), (0.853)0.71 .

2. Aproximar un valor de x que cumpla sin x + ex = 0.


3. Aproximar el valor de

1
0

sin x
dx.
x

Resumen y ejemplos

Tema 2: Aproximacin e Interpolacin. 2

4. Conocidos los valores de la tabla


x
f (x)

0
0.5

aproximar el valor de f (0.07),


5. Si y = y(x) cumple

R 0.2
0

0.1
1.7

0.2
2.3

f (x) dx, f 0 (0.07).

y 0 = x cos y
y(0) = 0

aproximar y(0.1), y(0.2), y(0.3).

1.1

Mtodo iterativo

Una forma bastante habitual de generar aproximaciones xj de un valor


x0 , x1 , x2 , . . . , xn , . . .
consiste en el uso de una frmula recurrente

xn+1 = g(xn ),
x0 = valor inicial.

Ejemplo 1.1 Mtodo iterativo para c.


La siguiente frmula recurrente
xn+1

1
=
2

c
,
xn +
xn

nos proporciona un mtodo iterativo para aproximar el valor de c. Para


iniciar el mtodo, necesitamos una primera
estimacin x0 .

Supongamos que deseamos calcular 27, la frmula de recurrencia, en nuestro caso, es

1
27
xn +
.
xn+1 =
2
xn
Podemos tomar como estimacin inicial x0 = 5, entonces

x0 = 5,

27
1
5+
= 5. 2,
x1 =
2
5

27
1
x2 =
5.2 +
= 5. 19615 3846,
2
5.2

27
1
x3 =
5. 19615 3846 +
= 5. 19615 2423,
2
5. 19615 3846

27
1
x4 =
5. 19615 2423 +
= 5. 19615 2423.
2
5. 19615 2423

Resumen y ejemplos

Tema 2: Aproximacin e Interpolacin. 3

Observamos que x4 = x3 (con 9 decimales), el mtodo ha convergido al valor

= 5. 19615 2423.
El valor obtenido es correcto hasta el noveno decimal

27 = 5. 19615 24227 06631.


En el tema dedicado a la resolucin numrica de ecuaciones, veremos que
este mtodo se obtiene al aplicar el mtodo de Newton-Raphson a la ecuacin
x2 c = 0.

Errores

Sea un valor exacto y (xj ) una sucesin de aproximaciones de


x0 , x1 , x2 , . . . , xj , . . . ,
definimos:
Error absoluto
Error relativo

ej = xj .
rj =

ej
xj
= .

rj =

xj
.
xj

Error relativo aproximado

Normalmente usamos los valores absolutos de los errores

xj
xj

, |
rj | =
|ej | = | xj | , |rj | =

xj

Fuentes
de error

En la determinacin
del modelo.

En la resolucin
numrica.

Simplificacin del problema.

(no rozaminento, etc...)

Errores en la medida de datos

y parmetros.

Errores accidentales.

(de clculo, de programacin, etc...)

Truncamiento de procesoso infinitos.

Redondeo.

Resumen y ejemplos

Tema 2: Aproximacin e Interpolacin. 4

Ejemplo 2.1 Ejemplo de error de truncamiento.


Queremos aproximar
=

X
1
1
1 1
+
=1+ + +
2
n
4 9 16

n=1

para ello calculamos la suma finita


S6 =

6
X
1
1
1
1
1 1
+
+
= 1. 491389.
=1+ + +
2
n
4
9
16
25
36
n=1

Puede demostrarse que el valor exacto de es


=

X
1
2
,
=
2
n
6
n=1

por lo tanto, el error absoluto de truncamiento es


e6 =

2
1. 491389 = 0. 15354 5.
6

Para el error relativo, obtenemos


r6 =

0. 15354 5
e6
=
= 0.09 33 = 9.33%.

( 2 /6)

Obviamente, al realizar los clculos, tambin se han producido errores de redondeo, sin embargo, en este caso, los errores de redondeo son muy inferiores
al error de truncamiento.

Dgitos significativos y decimales exactos


Decimos que x aproxima con t decimales exactos si
|ex | = | x| 0.5 10t .
Decimos que x aproxima con t dgitos significativos si
|rx | =

| x|
5 10t .
||

Ejemplo 3.1 Aproximamos = 49.99 mediante x = 50.00.


(a) Cuntos decimales exactos tiene x?
(b) Cuntos dgitos significativos?
(c) Cuantos decimales son iguales?

Resumen y ejemplos

Tema 2: Aproximacin e Interpolacin. 5

(a) El error absoluto es


|ex | = | x| = |49.99 50.00| = 0. 01 = 0.1 101 ,
como |ex | < 0.5 101 , x aproxima con un decimal exacto.
(b) El error relativo es

|rx | =

0.01
| x|
=
= 2. 0004 104 ,
||
49.99

como |rx | < 5 104 , x aproxima con 4 dgitos significativos.


(c) y x no tienen dgitos iguales.

Polinomio de Taylor

Sea f (x) una funcin derivable hasta orden n en x = c.


El polinomio de Taylor de f (x) en x = c es
Pn (x) = f (c) +

f 00 (c)
f 0 (c)
f (n) (c)
(x c) +
(x c)2 + +
(x c)n .
1!
2!
n!

Cuando c = 0, resulta el polinomio de McLaurin


Pn (x) = f (0) +

f 00 (0) 2
f 0 (0)
f (n) (0) n
x+
x + +
x .
1!
2!
n!

Propiedad
Si Pn (x) es el polinomio de Taylor de orden n de f (x) en x = c, entonces
se cumple
Pn (c) = f (c), Pn0 (c) = f 0 (c), Pn00 (c) = f 00 (c), . . . , Pn(n) (c) = f (n) (c).
Aplicacin
Los polinomios de Taylor permiten aproximar el valor de una funcin f (x)
para x prximos a c. Observa que para construir el polinomio de Taylor
usamos nicamente valores de f y sus derivadas (consecutivas) en x = c.
Ejemplo 4.1 Consideramos f (x) = ex .
(a) Determina al polinomio de McLaurin de orden 5 para f.
(b) Aproxima el valor de e0.5 .
(c) Cuntos decimales exactos tiene la aproximacin?

Resumen y ejemplos

Tema 2: Aproximacin e Interpolacin. 6

(a) Polinomio de McLaurin. Se cumple


f (x) = ex , f 0 (x) = ex , f 00 (x) = ex , . . . , f (5) (x) = ex .
Sustituyendo en x = 0, resulta
f (0) = f 0 (0) = f 00 (0) = = f (5) (0) = 1,
por lo tanto
x5
x2 x3 x4
+
+
+
.
2
6
24 120
(b) Valor aproximado. Sustituyendo x = 0.5 en el polinomio, resulta
P5 (x) = 1 + x +

P5 (0.5) = 1. 648698.
(c) Error. El valor de e0.5 , calculado con 6 decimales es
e0.5 = 1. 64872 1,
el valor absoluto del error absoluto es

|e5 | = e0.5 P5 (0.5) = 0.000023 = 0.2 3 104 .

Por lo tanto, la aproximacin P5 (0.5) tiene 4 decimales exactos.


Ejemplo 4.2 Consideramos f (x) = sin x.
(a) Determina al polinomio de McLaurin de orden 5 para f.
(b) Aproxima el valor1 de sin(0.2).
(c) Cuntos decimales exactos tiene la aproximacin?
(a) Polinomio de McLaurin. Se cumple:
f (x) = sin x,
f 0 (x) = cos x,
f 00 (x) = sin x,
f (3) (x) = cos x,
f (4) (x) = sin x,
f (5) (x) = cos x,

f (0) = 0,
f 0 (0) = 1,
f 00 (0) = 0,
f (3) (0) = 1,
f (4) (0) = 0,
f (5) (0) = 1,

por lo tanto
P5 (x) = x

x5
x3
+
.
6
120

El argumento de sin(x) est en radianes. Debes tener en cuenta que las reglas usuales
de derivacin de funciones trigonomtricas, como
d
sin (x) = cos (x) ,
dx
slo son vlidas si el ngulo est en radianes.

d
cos (x) = sin(x),
dx

Resumen y ejemplos

Tema 2: Aproximacin e Interpolacin. 7

(b) Valor aproximado. Sustituyendo x = 0.2 en el polinomio, resulta


P5 (0.2) = 0.19866 93333.
(c) Error. El valor de sin(0.2), calculado con 10 decimales es
sin(0.2) = 0.19866 93308.
El valor absoluto del error absoluto es
|e5 | = |sin(0.2) P5 (0.2)| = 0.2 5 108 .
Por lo tanto, la aproximacin P5 (0.2) tiene 8 decimales exactos.

Resto del polinomio de Taylor

Sea
I = [a, b] y c un punto interior, esto es a < c < b.
f (x) una funcin de clase2 C n+1 [a, b].
Para cada x [a, b] se cumple
f (x) = Pn (x) + Rn (x),
donde:
Pn (x) = f (c) +

f 00 (c)
f 0 (c)
f (n) (c)
(x c) +
(x c)2 + +
(x c)n ,
1!
2!
n!

Rn (x) =

f (n+1) (t)
(x c)n+1 ,
(n + 1)!

t est entre c y x.

Cota de error
Si representamos por Mn+1 una cota superior de f (n+1) (t), esto es

max f (n+1) (t) Mn+1 ,


t[a,b]

entonces tenemos la siguiente acotacin para el error absoluto que se produce


cuando aproximamos f (x) mediante Pn (x)
|en (x)| = |f (x) Pn (x)| = |Rn (x)|
2

Mn+1
|x c|n+1 .
(n + 1)!

Una funcin es de clase C n+1 [a, b] si tiene derivadas contnuas hasta orden (n + 1) en
[a, b]

Resumen y ejemplos

Tema 2: Aproximacin e Interpolacin. 8

Ejemplo 5.1 Aproxima sin(0.2) usando un polinomio de McLaurin de grado 3. Determina una cota superior de error y verifica los resultados.
(a) Valor de la aproximacin. En principio, tomaramos
P3 (x) = x

x3
,
6

ahora bien, observamos que en este caso se cumple


f (4) (x) = sin(x)

f (4) (0) = 0,

por lo tanto, el polinomio de orden 4 coincide con el de orden 3.


P4 (x) = x

x3
.
6

Tomamos P4 (x) porque nos proporciona una cota de error ms ajustada.


El valor de la aproximacin, con 10 decimales es
P4 (0.2) = 0. 19866 66667.
(b) Cota de error. Como
f (5) (x) = cos x,
tenemos

cos t 5
x ,
|e4 (x)| =
5!

t entre 0 y x.

Podemos tomar M5 = 1, entonces

(0.2)5
= 0.2 6667 105 .
|e4 (0.2)|
5!

(1)

Por lo tanto, la aproximacin P4 (0.2) tiene al menos 5 decimales exactos,


podemos tomar el valor
sin (0.2) = 0.19867.
(c) Verificacin de resultados. El valor de sin(0.2) calculado con 10 decimales
es
sin(0.2) = 0.1986693307,
por lo tanto, el error absoluto es
|e4 (0.2)| = |sin (0.2) P4 (0.2)| = 0.2664 105 .
Vemos que, en efecto, el error real es inferior a la cota superior de error
calculada en (1).

Resumen y ejemplos

Tema 2: Aproximacin e Interpolacin. 9

Polinomio interpolador de Lagrange

6.1

Planteamiento

Dada la tabla de valores


x
y

x0
y0

x1
y1

xn
yn

(2)

donde
x0 , x1 , . . . , xn son n + 1 abscisas distintas.
y0 , y1 , . . . , yn son n + 1 valores arbitrarios.
Queremos determinar un polinomio de grado n
Pn (x) = a0 + a1 x + + an xn ,
que verifique las n + 1 condiciones
Pn (xj ) = yj ,

para j = 0, 1, . . . , n.

(3)

Propiedad Si las abscisas x0 , x1 , . . . , xn son distintas, existe un nico polinomio Pn (x) de grado n que cumple las condiciones
Pn (xj ) = yj ,

para j = 0, 1, . . . , n.

Decimos que Pn (x) es el polinomio interpolador de la tabla


x
y

x0
y0

x1
y1

xn
yn

Cuando los valores yj se generan empleando una funcin


yj = f (xj ),

para j = 0, 1, . . . , n,

entonces decimos que Pn (x) es el polinomio interpolador de la funcin


f (x) en las abscisas o nodos xj .
1
Ejemplo 6.1 Calcula el polinomio interpolador de la funcin f (x) = en
x
los nodos x0 = 1, x1 = 2, x2 = 3.
La tabla de valores es
x
y

1
1

2
1/2

3
1/3

Resumen y ejemplos

Tema 2: Aproximacin e Interpolacin. 10

Como tenemos 3 puntos, debemos determinar un polinomio de grado 2


P2 (x) = a0 + a1 x + a2 x2 .
Las condiciones de interpolacin (3) se traducen en

P2 (1) = 1,
P (2) = 1/2,
2
P2 (3) = 1/3.

(4)

(5)

Sustituyendo en (4), obtenemos

a0 + a1 + a2 = 1
a + 2a1 + 4a2 = 1/2
0
a0 + 3a1 + 9a2 = 1/3

Se trata de un sistema de 3 ecuaciones lineales con 3 incgnitas. Resolvemos


por reduccin

a0 + a1 + a2 = 1
a
a
a1 + 3a2 = 1/2
(2 1 )

(3a 2a )
a1 + 5a2 = 1/6

a0 + a1 + a2 = 1
a1 + 3a2 = 1/2

(3a 2a )
2a2 = 1/3
de donde resulta

1
a2 = , a1 = 1,
6
El polinomio interpolador, es por lo tanto
P2 (x) =

a0 =

11
.
6

x2
11
x+ .
6
6

Es inmediato verificar que, efectivamente, el polinomio obtenido cumple las


condiciones de interpolacin (5).

6.2

Intervalo de interpolacin

El intervalo de interpolacin es el menor intervalo que contiene los nodos


xj , lo representamos por
hx0 , x1 , . . . , xn i = [min xj , max xj ].
Si los nodos estn ordenados de forma creciente
x0 < x1 < < xn ,
entonces el intervalo de interpolacin es [x0 , xn ].

Resumen y ejemplos

Tema 2: Aproximacin e Interpolacin. 11

El siguiente grfico muestra la representacin conjunta de la funcin


f (x) = 1/x
y el polinomio interpolador calculado en el Ejemplo 6.1
P2 (x) =
4

x2
11
x+ .
6
6

f(x)=1/x
f(x)=11/6-x+x^2

interpolador
2

funcin

x
-1

-0.5

0.5

1.5

2.5

3.5

4.5

Intervalo de interpolacin
-1
-2
-3

Observamos que:
El polinomio interpolador coincide con la funcin en los puntos de
interpolacin (xj , f (xj )).
El polinomio interpolador es un buen aproximante de la funcin cuando x pertenece al intervalo de interpolacin.
Fuera del intervalo de interpolacin, el error |en (x)| = |f (x) Pn (x)|
aumenta rpidamente.

Forma de Lagrange para el polinomio interpolador

Consideremos la tabla
x
y

x0
y0

x1
y1

xn
yn

donde los nodos xj son distintos. Sabemos que existe un nico polinomio
Pn (x) de grado n que interpola la tabla. Hemos visto que podemos determinar Pn (x) resolviendo un sistema de ecuaciones. Podemos obtener el polinomio interpolador de forma directa (sin resolver un sistema de ecuaciones)
expresndolo en una forma especial, conocida como la forma de Lagrange
Pn (x) = l0 (x) y0 + l1 (x) y1 + + ln (x) yn .

Resumen y ejemplos

Tema 2: Aproximacin e Interpolacin. 12

Los polinomios lj (x) se denominan polinomios componentes y se caracterizan


por las propiedades

1 si j = k,
lj (xk ) = jk =

0 si j 6= k.

Es decir, el polinomio componente lj (x) vale 1 en su nodo xj y se anula en


los restantes.
Como lj (x) se anula para
x0 , x1 , . . . , xj1 , xj+1 , . . . , xn ,
y es de grado n, debe ser de la forma
lj (x) = C (x x0 ) (x x1 ) (x xj1 ) (x xj+1 ) (x xn ) .
Para cumplir lj (xj ) = 1, debe ser
C=

1
,
(xj x0 ) (xj x1 ) (xj xj1 ) (xj xj+1 ) (xj xn )

por lo tanto
lj (x) =

(x x0 ) (x x1 ) (x xj1 ) (x xj+1 ) (x xn )
.
(xj x0 ) (xj x1 ) (xj xj1 ) (xj xj+1 ) (xj xn )

Ejemplo 7.1 Polinomio interpolador para 3 nodos.


Consideremos la tabla
x
y

x0
y0

x1
y1

x2
y2

Los polinomios componentes son


x2

l0 (x) =

(x x1 ) (x x2 )
.
(x0 x1 ) (x0 x2 )

x1

x2

l1 (x) =

(x x0 ) (x x2 )
.
(x1 x0 ) (x1 x2 )

x1

x2

l2 (x) =

(x x0 ) (x x1 )
.
(x2 x0 ) (x2 x1 )

x0

x1

x0
x0

Observamos que, efectivamente, los polinomios componentes cumplen

l1 (x0 ) = 0
l2 (x0 ) = 0
l0 (x0 ) = 1
l (x ) = 0 ,
l (x ) = 1 ,
l (x ) = 0 .
1 1
2 1
0 1
l0 (x2 ) = 0
l1 (x2 ) = 0
l2 (x2 ) = 1

Resumen y ejemplos

Tema 2: Aproximacin e Interpolacin. 13

El polinomio interpolador es, entonces


P2 (x) = l0 (x) y0 + l1 (x) y1 + l2 (x) y2 .
Vemos que P2 (x) es de grado 2, adems toma los valores adecuados
P2 (x0 ) = l0 (x0 ) y0 + l1 (x0 ) y1 + l2 (x0 ) y2 = y0 ,
P2 (x1 ) = l0 (x1 ) y0 + l1 (x1 ) y1 + l2 (x1 ) y2 = y1 ,
P2 (x2 ) = l0 (x2 ) y0 + l1 (x2 ) y1 + l2 (x2 ) y2 = y2,

Ejemplo 7.2 Determina el polinomio interpolador de la tabla


x
y

1
1

2
1/2

3
.
1/3

Los polinomios componentes son


x2 = 3

l0 (x) =

1
(x 2) (x 3)
= (x 2) (x 3) .
(1 2) (1 3)
2

x1 = 2

x2 = 3

l1 (x) =

(x 1) (x 3)
= (x 1) (x 3) .
(2 1) (2 3)

x1 = 2

x2 = 3

l2 (x) =

1
(x 1) (x 2)
= (x 1) (x 2) .
(3 1) (3 2)
2

x0 = 1

x1 = 2

x0 = 1
x0 = 1

El polinomio interpolador es
P2 (x) = l0 (x) 1 + l1 (x)

1
1
+ l2 (x) .
2
3

1
1
1
(x 2) (x 3) (x 1) (x 3) + (x 1) (x 2) .
(6)
2
2
6
La tabla de valores es la misma que la del Ejemplo 6.1, si operamos en (6),
resulta
1
11
P2 (x) = x2 x + ,
6
6
que coincide con el obtenido mediante la resolucin de un sistema de ecuaciones.
P2 (x) =

Resumen y ejemplos

Tema 2: Aproximacin e Interpolacin. 14

Error de interpolacin

Para el polinomio interpolador de una funcin, es posible obtener una expresin del error que es muy parecida a la frmula de error para el polinomio
de Taylor.
Sean
(n + 1) nodos distintos x0 , x1 , . . . , xn .
[a, b] = hx0 , x1 , . . . , xn i (el menor intervalo que contiene los nodos)
f (x) funcin de clase C n+1 [a, b].
Pn (x) el polinomio interpolador de f (x) en los nodos x0 , x1 , . . . , xn .
Para cada x [a, b], el error de interpolacin admite la siguiente expresin
en (x) = f (x) Pn (x) =

f (n+1) (t)
(x x0 ) (x xn ),
(n + 1)!

t [a, b].

Si Mn+1 es una cota superior para f (n+1) (t) , esto es

max f (n+1) (t) Mn+1 ,


t[a,b]

obtenemos la siguiente cota superior para el error de interpolacin


|en (x)| = |f (x) Pn (x)|

Mn+1
|(x x0 ) (x xn )| .
(n + 1)!

Ejemplo 8.1 A partir de los datos


e0 = 1,
e0.1 = 1.105171,
e0.2 = 1.221403.
(a) Aproxima el valor de e0.14 .
(b) Determina una cota superior del error de interpolacin.
(c) Compara con el valor de la calculadora.
(a) Clculo de la aproximacin. Los polinomios componentes son

x0 = 0

x1 = 0.1

x2 = 0.2

l0 (x) =

l0 (x) =

(x 0.1) (x 0.2)
.
(0 0.1) (0 0.2)

1
(x 0.1) (x 0.2) .
0.02

Resumen y ejemplos

x1 = 0.1

x0 = 0

Tema 2: Aproximacin e Interpolacin. 15

x2 = 0.2
l1 (x) =

x0 = 0

x1 = 0.1

x2 = 0.2
l2 (x) =

l1 (x) =

1
x (x 0.2)
0.01

l2 (x) =

1
x (x 0.1) .
0.02

(x) (x 0.2)
(0.1 0) (0.1 0.2)

(x) (x 0.1)
.
(0.2 0) (0.2 0.1)

Polinomio interpolador
P2 (x) = l0 (x) y0 + l1 (x) y1 + l2 (x) y2 .
Para calcular P2 (1.14), sustituimos en los polinomios componentes
l0 (0.14) =

(0.04) (0.06)
1
(0.14 0.1) (0.14 0.2) =
= 0.12,
0.02
0.02

(0.14) (0.06)
1
(0.14) (0.14 0.2) =
= 0.84,
0.01
0.01
(0.14) (0.04)
1
(0.14) (0.14 0.1) =
= 0.28,
l2 (0.14) =
0.02
0.02
finalmente
l1 (0.14) =

P2 (0.14) = l0 (0.14) y0 + l1 (0.14) y1 + l2 (0.14) y2


= (0.12) 1 + 0.84 1.105171 + 0.28 1.221403
= 1. 150336.

(b) Cota superior de error. En nuestro caso, el intervalo de interpolacin es


[0, 0.2], tenemos
|e2 (x)|
con

M3
|(x x0 ) (x x1 ) (x x2 )| ,
3!

M3 max f (3) (t) = max et = e0.2 = 1.221403,


t[0,0.2]

t[0,0.2]

por lo tanto

1.221403
|(0.14 0) (0.14 0.1) (0.14 0.2)|
3!
0.6 83986 104 = 0.06 83986 103 .

e2 (0.14)

Vemos que la aproximacin tiene al menos 3 decimales exactos, el resultado


es
e0.14 = 1. 150 .

Resumen y ejemplos

Tema 2: Aproximacin e Interpolacin. 16

(c) Comparacin con el valor de la calculadora. El error exacto (con 6


decimales) es

|e2 (0.14)| = e0.14 P2 (0.14) = |1. 150273 1. 150336|


= 0. 63 104

vemos que, efectivamente, el error real es inferior a la cota de error calculada.

Forma de Newton para el polinomio interpolador

En esta seccin se presenta otra forma para calcular el polinomio interpolador, conocida como la forma de Newton. Esta forma es especialmente adecuada para realizar los clculos manualmente. Adems, permite incorporar
nuevos puntos de interpolacin sin tener que rehacer todos los clculos.

9.1

Diferencias divididas

Dada la tabla de valores


x
y

x0
y0

x1
y1

x2
y2

x3
y3

x4
y4

formamos la tabla de diferencias divididas


x0
x1
x2
x3
x4

f [x0 ]
f [x1 ]
f [x2 ]
f [x3 ]
f [x4 ]

f [x0 , x1 ]
f [x1 , x2 ]
f [x2 , x3 ]
f [x3 , x4 ]

f [x0 , x1 , x2 ]
f [x1 , x2 , x3 ]
f [x2 , x3 , x4 ]

f [x0 , x1 , x2 , x3 ]
f [x1 , x2 , x3 , x4 ]

f [x0 , x1 , x2 , x3 , x4 ]

Las diferencias divididas se calculan de forma recurrente


f [xj ] = f (xj ) = yj ,

f [xi , xi+1 , , xj1 , xj ] =

f [xi+1 , , xj1 , xj ] f [xi , xi+1 , , xj1 ]


,
xj xi

Ejemplo 9.1 Diferencias divididas.

f [x0 , x1 ] =

f [x1 ] f [x0 ]
,
x1 x0

f [x1 , x2 ] =

f [x2 ] f [x1 ]
,
x2 x1

Resumen y ejemplos

Tema 2: Aproximacin e Interpolacin. 17

f [x0 , x1 , x2 ] =
f [x1 , x2 , x3 , x4 ] =

f [x1 , x2 ] f [x0 , x1 ]
,
x2 x0

f [x2 , x3 , x4 ] f [x1 , x2 , x3 ]
.
x4 x1

Ejemplo 9.2 Diferencias divididas para la tabla


x
y

x0 = 0
x1 = 1
x2 = 3

9.2

f [x0 ]= 1
f [x1 ] = 3
f [x2 ] = 1

0
1

f [x0 , x1 ]=
f [x1 , x2 ]=

1
3

3
.
1

31
1 =2
13
31 = 2

f [x0 , x1 , x2 ]=

22
30

4
3

Interpolador de Newton

Dada la tabla de valores


x
y

x0
y0

x1
y1

x2
y2

x3
y3

x4
y4

tenemos los siguientes polinomios interpoladores


Un nodo

x
y

x0
y0

P0 (x) = f [x0 ].
Dos nodos

x
y

x0
y0

x1
y1

P1 (x) = f [x0 ] + f [x0 , x1 ] (x x0 ).


Tres nodos

x
y

x0
y0

x1
y1

x2
y2

P2 (x) = f [x0 ] + f [x0 , x1 ] (x x0 ) + f [x0 , x1 , x2 ] (x x0 )(x x1 ).


Cuatro nodos

x
y

x0
y0

x1
y1

x2
y2

x3
y3

P3 (x) = f [x0 ] + f [x0 , x1 ] (x x0 ) + f [x0 , x1 , x2 ] (x x0 )(x x1 )


+f [x0 , x1 , x2 , x3 ] (x x0 )(x x1 )(x x2 ).

Resumen y ejemplos
Cinco nodos

Tema 2: Aproximacin e Interpolacin. 18

x
y

x0
y0

x1
y1

x2
y2

x3
y3

x4
y4

P4 (x) = f [x0 ] + f [x0 , x1 ] (x x0 ) + f [x0 , x1 , x2 ] (x x0 )(x x1 )


+f [x0 , x1 , x2 , x3 ] (x x0 )(x x1 )(x x2 )

+f [x0 , x1 , x2 , x3 , x4 ] (x x0 )(x x1 )(x x2 )(x x3 ).

Ejemplo 9.3 Calcula el polinomio interpolador de la tabla


x
y

0
1

1
3

3
.
1

Hemos obtenido la tabla de diferencias divididas


x0 = 0
x1 = 1
x2 = 3

f [x0 ]= 1
f [x1 ]= 3
f [x2 ]= 1

f [x0 , x1 ] = 2
f [x1 , x2 ] = 2

f [x0 , x1 , x2 ] =

4
3

El interpolador es
P2 (x) = f [x0 ] + f [x0 , x1 ] (x x0 ) + f [x0 , x1 , x2 ] (x x0 )(x x1 ).
En nuestro caso

4
x (x 1).
3
El polinomio P2 (x) es de grado 2. En los nodos xj toma los valores
P2 (x) = 1 + 2x +

P2 (0) = 1,
P2 (1) = 1 + 2 = 3,
4
P2 (3) = 1 + 6 6 = 7 8 = 1.
3
Se trata, por lo tanto, del polinomio interpolador.
Ejemplo 9.4 Calcula el polinomio interpolador de la tabla
x
y

0
0

1
0

1
.
2

Hemos obtenido la tabla de diferencias divididas


x0 = 0
x1 = 1
x2 = 1

f [x0 ] = 0
f [x1 ] = 0
f [x2 ] = 2

f [x0 , x1 ] = 0
f [x1 , x2 ] = 1

f [x0 , x1 , x2 ] = 1

El interpolador es
P2 (x) = f [x0 ] + f [x0 , x1 ] (x x0 ) + f [x0 , x1 , x2 ] (x x0 )(x x1 ),
en nuestro caso
P2 (x) = x (x 1).

Resumen y ejemplos

10
10.1

Tema 2: Aproximacin e Interpolacin. 19

Interpolacin de Hermite
Presentacin del problema

Dada la tabla de datos


x
y
y0

x0
y0
y00

x1
y1
y10

xn
yn
yn0

se pretende determinar un polinomio de grado 2n + 1


H2n+1 (x) = a0 + a1 x + + a2n+1 x2n+1 ,
que cumpla las 2n + 2 condiciones

H2n+1 (xj ) = yj
0
H2n+1
(xj ) = yj0

para j = 0, 1, . . . , n.

Propiedad. Si los nodos x0 , x1 , . . . , xn , son distintos, entonces el polinomio


interpolador de Hermite H2n+1 (x) existe y es nico, para cualquier eleccin
de los valores yj y yj0 .
Ejemplo 10.1 Calcula el polinomio interpolador de Hermite para la tabla
x
y
y0

0
1
1

1
3 .
1

Se trata de un polinomio de grado 3


H3 (x) = a0 + a1 x + a2 x2 + a3 x3 .

(7)

Las condiciones de interpolacin son

H3 (0) = 1,

0
H3 (0) = 1,
H (1) = 3,

30
H3 (1) = 1.
Calculamos H30 (x)

(8)

H30 (x) = a1 + 2a2 x + 3a3 x2 ,

sustituyendo en (7) y (9), resulta

a0 = 1

a1 = 1

a0 + a1 + a2 + a3 = 3

a1 + 2a2 + 3a3 = 1

a0 = 1
a0

a1 = 1
a1

a2 + a3 = 1
a2

2a2 + 3a3 = 2
a3

(9)

=1
=1
=5
= 4

Resumen y ejemplos

Tema 2: Aproximacin e Interpolacin. 20

El polinomio interpolador es, por lo tanto,


H3 (x) = 1 + x + 5x2 4x3 .
Vemos que H3 (x) cumple
H3 (0) = 1,

H3 (1) = 3,

si calculamos la derivada
H30 (x) = 1 + 10x 12x2
y sustituimos en x0 = 0 y x1 = 1, resulta
H30 (0) = 1,

H30 (1) = 1.

por lo tanto, H3 (x) cumple las condiciones (8).

10.2

Clculo del polinomio de Hermite usando diferencias


divididas

Podemos calcular el polinomio de Hermite usando un procedimiento muy


parecido al empleado para construir la forma de Newton del polinomio interpolador de Lagrange.
x0
x0
x1
x1
x2
x2

f [x0 ]
f [x0 ]
f [x1 ]
f [x1 ]
f [x2 ]
f [x2 ]

f [x0 , x0 ]
f [x0 , x1 ]
f [x1 , x1 ]
f [x1 , x2 ]
f [x2 , x2 ]

f [x0 , x0 , x1 ]
f [x0 , x1 , x1 ]
f [x1 , x1 , x2 ]
f [x1 , x2 , x2 ]

f [x0 , x0 , x1 , x1 ]
f [x0 , x1 , x1 , x2 ]
f [x1 , x1 , x2 , x2 ]

f [x0 , x0 , x1 , x1 , x2 ]
f [x0 , x1 , x1 , x2 , x2 ]

La diferencia es que ahora hay nodos xj repetidos, las diferencias f [xj , xj ]


se definen como
f [xj , xj ] = f 0 (xj ) = yj0 .
Los polinomios de Hermite H1 (x), H2 (x), H2 (x), tienen la siguiente forma:
Un nodo. Tabla de datos

x
y
y0

x0
y0
y00

Tabla de diferencias
x0
x0

f [x0 ]
f [x0 ]

f [x0 , x0 ]

Interpolador
H1 (x) = f [x0 ] + f [x0 , x0 ] (x x0 ).
Observa que en este caso, se obtiene la recta tangente en x = x0 .

Resumen y ejemplos

Tema 2: Aproximacin e Interpolacin. 21

Dos nodos. Tabla de datos


x
y
y0

x0
y0
y00

x1
y1
y10

Tabla de diferencias
f [x0 ]
f [x0 ]
f [x1 ]
f [x1 ]

x0
x0
x1
x1

f [x0 , x0 ]
f [x0 , x1 ]
f [x1 , x1 ]

f [x0 , x0 , x1 ]
f [x0 , x1 , x1 ]

f [x0 , x0 , x1 , x1 ]

Interpolador
H3 (x) = f [x0 ] + f [x0 , x0 ] (x x0 ) + f [x0 , x0 , x1 ] (x x0 )2 +

+f [x0 , x0 , x1 , x1 ] (x x0 )2 (x x1 ) .

Tres nodos. Los datos son


x
y
y0

x0
y0
y00

x1
y1
y10

x2
y2
y20

y el polinomio interpolador tiene la forma


H5 (x) = f [x0 ] + f [x0 , x0 ] (x x0 ) + f [x0 , x0 , x1 ] (x x0 )2 +
+f [x0 , x0 , x1 , x1 ] (x x0 )2 (x x1 ) +

+f [x0 , x0 , x1 , x1 , x2 ] (x x0 )2 (x x1 )2 +

+f [x0 , x0 , x1 , x1 , x2 , x2 ] (x x0 )2 (x x1 )2 (x x2 ).
Ejemplo 10.2 Calcula el polinomio interpolador de la tabla
x
y
y0

0
1
1

1
3 .
1

Los datos iniciales en la tabla de diferencias divididas son


x0
x0
x1
x1

=0
=0
=1
=1

f [x0 ] = 1
f [x0 ] = 1
f [x1 ] = 3
f [x1 ] = 3

f [x0 , x0 ] = 1
f [x0 , x1 ]
f [x1 , x1 ] = 1

f [x0 , x0 , x1 ]
f [x0 , x1 , x1 ]

f [x0 , x0 , x1 , x1 ]

A partir de ah, obtenemos


x0
x0
x1
x1

=0
=0
=1
=1

f [x0 ] = 1
f [x0 ] = 1
f [x1 ] = 3
f [x1 ] = 3

f [x0 , x0 ] = 1
f [x0 , x1 ] = 2
f [x1 , x1 ] = 1

f [x0 , x0 , x1 ] = 1
f [x0 , x1 , x1 ] = 3

f [x0 , x0 , x1 , x1 ] = 4

Resumen y ejemplos

Tema 2: Aproximacin e Interpolacin. 22

Por lo tanto, el interpolador es


H3 (x) = f [x0 ] + f [x0 , x0 ] (x x0 ) + f [x0 , x0 , x1 ] (x x0 )2 +
+f [x0 , x0 , x1 , x1 ] (x x0 )2 (x x1 ) .

H3 (x) = 1 + x + x2 4x2 (x 1) .
Si operamos, resulta
H3 (x) = 1 + x + 5x2 4x3 .
que coincide con el obtenido en el Ejemplo 10.1

10.3

Error del polinomio de Hermite

Sean
(n + 1) nodos distintos x0 , x1 , . . . , xn .
[a, b] = hx0 , x1 , . . . , xn i (el menor intervalo que contiene los nodos).
f (x) funcin de clase C 2n+2 [a, b].
H2n+1 (x) el polinomio interpolador de Hermite para f (x) en los nodos
x0 , x1 , . . . , xn .
Para cada x [a, b], el error de interpolacin admite la siguiente expresin

f (2n+2) (t)

2
2
(x x0 ) (x xn ) ,
|e2n+1 (x)| = |f (x) H2n+1 (x)| =

(2n + 2)!

t [a, b].

Si M2n+2 es una cota superior para f (2n+2) (t) , esto es

max f (2n+2) (t) M2n+2 ,


t[a,b]

obtenemos la siguiente cota superior para el error de interpolacin


|e2n+1 (x)| = |f (x) H2n+1 (x)|

M2n+2
(x x0 )2 (x xn )2 .
(2n + 2)!

Ejemplo 10.3 Calcula el polinomio de Hermite que interpola la funcin


sin(x) en x0 = 0 y x1 = /4. Aproxima el valor de sin(0.5), calcula una cota
superior de error.

Resumen y ejemplos

Tema 2: Aproximacin e Interpolacin. 23

Tenemos
f 0 (x) = cos(x),

f (x) = sin(x),
f (0) = 0,

f 0 (0) = 1,

f ( ) = = 0. 70710 678,
4
2
La tabla de datos es
x
y
y0

x0 = 0
0
1

f 0 ( ) = 0.70710 678.
4

x1 = 0. 78539 816
0.70710 678
0.70710 678

la tabla de diferencias inicial es


x0
x0
x1
x1

=0
=0
= 0. 78539 816
= 0. 78539 816

f [x0 ] = 0
f [x0 ] = 0
f [x1 ] = 0.70710 678
f [x1 ] = 0.70710 678

f [x0 , x0 ] = 1.
f [x0 , x1 ]
f [x1 , x1 ] = 0.70710 678

de donde obtenemos
f [x0 , x0 ] = 1.
f [x0 , x1 ] = 0. 90031 632
f [x1 , x1 ] = 0.70710 678

f [x0 , x0 , x1 ] = 0. 12692 12
f [x0 , x1 , x1 ] = 0. 24600 203

f [x0 , x0 , x1 , x1 ] = 0. 15161 842

El clculo detallado de algunas diferencias divididas es como sigue


f [x0 , x1 ] =
f [x0 , x0 , x1 ] =
f [x0 , x1 , x1 ] =

f [x1 ] f [x0 ]
0.70710 678
= 0. 90031 632,
=
x1 x0
0. 78539 816

f [x0 , x1 ] f [x0 , x0 ]
0. 90031 632 1.
= 0. 12692 12,
=
x1 x0
0. 78539 816

f [x1 , x1 ] f [x0 , x1 ]
0.70710 678 0. 90031 632
=
= 0. 24600 203.
x1 x0
0. 78539 816

Los valores relevantes para construir H3 (x) son


f [x0 ] = 0,
f [x0 , x0 , x1 ] = 0. 12692 12,

f [x0 , x0 ] = 1,
f [x0 , x0 , x1 , x1 ] = 0. 15161 842.

El polinomio interpolador tiene la forma


H3 (x) = f [x0 ] + f [x0 , x0 ] (x x0 ) + f [x0 , x0 , x1 ] (x x0 )2 +
+f [x0 , x0 , x1 , x1 ] (x x0 )2 (x x1 ) ,

Resumen y ejemplos

Tema 2: Aproximacin e Interpolacin. 24

es, por lo tanto


H3 (x) = x 0. 12692 12 x2 0. 15161 842 x2 (x 0. 78539 816).
El valor aproximado para x = 0.5 es
H3 (0.5) = 0.47908 76.

(10)

Cota de error. Tenemos


|e3 (x)| = |f (x) H3 (x)|

M4
(x x0 )2 (x x1 )2 .
4!

El intervalo de interpolacin es [0, /4]. En nuestro caso f (4) (x) = sin(x)


por lo tanto

M4 = max f (4) (t) = sin(/4) = ,


t[0,/4]
2
de donde resulta la cota de error

|e3 (0.5)|

1
2

24

(0.5)2 (0.5 /4)2 = 0.59995 103 .

A la vista de la cota de error, slo podemos asegurar 2 decimales exactos


en la aproximacin, el valor que debemos tomar como resultado se obtiene
redondeando (10) a 2 decimales
sin(0.5) = 0.48.
Error exacto. El valor de sin(0.5) es
sin(0.5) = 0. 47942 554,
el error real es
|e3 (0.5)| = |sin(0.5) H3 (0.5)| = 0.33794 103 .

También podría gustarte