Universidad Tecnológica Metropolitana
Departamento de Matemática
MATD2051 - Métodos Numéricos - ICOC
APUNTE 3
Para n + 1 puntos dados {(x0 , y0 ), (x1 , y1 ), . . . , (xn , yn )} , determinar un polinomio de
interpolación es encontrar un polinomio de grado n que contenga los puntos dados.
El espacio vectorial de los polinomios de grado n con coeficientes en Pn (R) tiene dimensión
n y sus elementos s expresan según la base B que se determine usar.
Para propósitos de interpolación usaremos base Monomial, de Lagrange y de Newton.
1. Base Monomial
B = {1, x, x2 , . . . , xn }
En esta base un polinomio pn (x) se anota
pn (x) = a0 + a1 x + a1 x2 + · · · an xn
Para los puntos dados los coeficientes a0 es del polinomio se obtienen se resolver el sis-
tema de orden n + 1.
a0 + x0 a1 + x20 a2 + · · · + xn0 an = y0 1 x0 x20 · · · xn0 a0 y0
a0 + x 1 a1 + x 2 a2 + · · · + x n an = y 1
1 x1 x2 · · · xn a1 y1
1 1 1 1
⇔ .. .. =
.. .. . . .. .. ..
. . . . . . . .
a + x a + x2 a + · · · + xn a = y
1 xn xn · · · xnn
2
an yn
0 n 1 n 2 n n n
NOTA. La primera matriz se denomina matriz de Vandermonde.
Ejemplo 1.
Determinar el polinomio de grado 3 que pasa por los puntos {(1, 1), (2, −3), (4, 5), (5, −5)}
Consideramos el polinomio p3 (x) = a0 + a1 x + a2 x2 + a3 x3 , donde reemplazamos las
coordenadas de los puntos dados, obteniéndose
1 1 1 1 a1 1
a1 = 25
a2 −3 113
2 = − 3
1 2 4 8
a
= ⇒
1 4 16 64 a3 5
a3 = 31
2
1 5 25 125 a4 −5 a4 = −11
6
113 31 2 11 3
Luego el polinomio es p3 = 25 − 3
x + 2
x − 6
x
2. Base de Lagrange
Para los puntos {(x0 , y0 ), (x1 , y1 ), . . . , (xn , yn )} el polinomio de interpolación de La-
grange es
1
pn (x) = y0 L0 (x) + y1 L1 (x) + · · · + yn Ln (x)
donde
n
(x−x0 )(x−x1 )···(x−xi−1 )(x−xi+1 )···(x−xn ) Q x−xk
B= Li (x) = (xi −x0 )(xi −x1 )···(xi −xi−1 )(xi −xi+1 )···(xi −xn )
= xi −xk
: i = 0, 1, . . . , n
k=0
k6=i
Ejemplo 2.
Encontrar polinomio interpolador de Lagrange para los puntos {(1, 3), (2, 4), (3, 2), (5, 1)}
(x−2)(x−3)(x−5)
L0 = (1−2)(1−3)(1−5)
= 18 (x − 2)(x − 3)(x − 5)
(x−1)(x−3)(x−5)
L1 = (2−1)(2−3)(2−5)
= 13 (x − 1)(x − 3)(x − 5)
(x−1)(x−2)(x−5)
L2 = (3−1)(3−2)(3−5)
= − 14 ((x − 1)(x − 2)(x − 5)
(x−1)(x−2)(x−3) 1
L3 = (5−1)(5−2)(5−3)
= 24
(x − 1)(x − 2)(x − 3)
El polinomio es
p3 (x) = 3 · 18 (x − 2)(x − 3)(x − 5) + 4 · 31 (x − 1)(x − 3)(x − 5) +
1
2 · (− 41 )((x − 1)(x − 2)(x − 5) + 1 · 24 (x − 1)(x − 2)(x − 3)
1 3 9 2
= 2 x − 2 x + 11x − 4
3. Basede Newton
i
Q
B = Ni (x) = (x − xk ) : i = 0, 1, 2, . . . , n
k=0
En adelante y por razones prácticas, anotamos los puntos a interpolar en la forma:
{(x0 , f (x0 )), (x1 , f (x1 )), (x2 , f (x2 )), · · · , (xn , f (xn )}
Los coeficientes del polinomio de Newton se obtienen a partir de las
A. Diferencias divididas.
Las diferencias divididas se calculan en forma iterada, de la siguiente manera
f [xk ] = f (xk )
f [xk+1 ]−f [xk ]
f [xk , xk+1 ] = xk+1 −xk
f [xk , xk+1 , xk+2 ] = f [xk+1 ,xxk+2 ]−f [xk ,xk+1 ]
k+2 −xk
..
.
f [xk , xk+1 , . . . xk+l ] = f [xk+1 ,...,xxk+l ]−f [xk ,xk+l−1 ]
k+l −xk
..
.
2
De esta forma, el polinomio de Newton que interpola los puntos dados, se pueden
expresar mediante:
Diferencias divididas progresivas, como
pn (x) = f [x0 ] + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 ) + · · ·
· · · + f [x0 , x1 , · · · , xn ](x − x0 )(x − x1 ) · · · (x − xn−1 )
Diferencias divididas regresivas, como
pn (x) = f [xn ] + f [xn−1 , xn ](x − xn ) + f [xn−2 , xn−1 , xn ](x − xn )(x − xn−1 ) + · · ·
· · · + f [x0 , x1 , · · · , xn ](x − xn ) · · · (x − x1 )
Ejemplo 3.
Dada la tabla
n 0 1 2 3 4
xn 0 1 2 3 4
yi 1 2.25 3.75 4.25 5.58
Si queremos (por ejemplo) construir un polinomio de Newton de tercer orden, p3 (x)
para calcular p3 (2.4) , usamos solo cuatro d elos puntos dados, y el polinomio será:
p3 (x) = f [x0 ] + f [x0 , x1 ](x − x0 ) + · · · + f [x0 , x1 , x2 , x3 ](x − x0 )(x − x1 )(x − x2 )
Que resulta ser,
p3 (x) = 1 + 1.25(x − 0) + 0.125(x − 0)(x − 1) + (−0.20833)(x − 0)(x − 1)(x − 2)
En consecuencia f (2.4) = 4.22000
B. Diferencias finitas
Es el caso cuando los valores de los x0k s estan ordenados e igualmente espaciados, es
3
decir si: xk − xk−1 = h , k = 0, 1, . . . , n
Si definimos los operadores ∆f (x) = f (x + h) − f (x) y ∇f (x) = f (x) − f (x − h)
La expresión del polinomio de Newton calculado en un punto x = x0 + sh es, según sea
el caso:
Diferencias finitas progresivas,
pn (x0 + sh) = f [x0 ] + s∆f [x0 ] + s(s−1)
2!
∆2 f [x0 ] + s(s−1)(s−2)
3!
∆3 f [x0 ] + · · ·
s(s−1)···(s−(n−1)) n
··· + n!
∆ f [x0 ]
Diferencias finitas regresivas,
pn (x0 + sh) = f [xn ] + s∇f [xn ] + s(s+1)2!
∇2 f [xn ] + s(s+1)(s+2)
3!
∇3 f [xn ] + · · ·
· · · + s(s+1)···(s+(n−1))
n!
∇n f [xn ]
Ejemplo 4.
Para la tabla siguiente
n 0 1 2 3 4
xn 0 1 2 3 4
yi 1 7 23 55 109
Calcular: a) p4 (0.5) ; b) p4 (1.5)
Los coeficiente se obtienen de la Tabla
a) Para los datos h = 1 , x0 = 0 , x = 0.5 y usando la fórmula x = x0 + sh , obtenemos
que s = 0.5
De donde
p4 (x0 +sh) = f [x0 ]+s∆f [x0 ]+ s(s−1)
2!
∆2 f [x0 ]+ s(s−1)(s−2)
3!
∆3 f [x0 ]+ s(s−1)(s−2)(s−3)
4!
∆4 f [x0 ]
4
s(s−1) s(s−1)(s−2) s(s−1)(s−2)(s−3)
Luego, p4 (0.5) = 1 + s(6) + 2!
(10) + 3!
(6) + 4!
(0) , con s = 0.5
4. Errores de aproximación
Sea pn (x) un polinomio que interpola la función f (x) en los valores del conjunto
{x0 , x1 , x2 , . . . , xn } .
El error de interpolación de pn (x) esta dado por En (x) = f (x) − pn (x)
Es posible calcular el error de interpolación haciendo uso del siguiente teorma:
TEOREMA. Sea f (x) función n + 1 veces diferenciable en [a, b]
Si el polinomio pn (x) interpola a la función f (x) en los valores del conjunto {x0 , x1 , x2 , . . . , xn } ⊆
[a, b] , entonces para todo x̃ ∈ [a, b] existe un ξ ∈ [a, b] tal que
n
f (n+1) (ξ) Y
En (x̃) = f (x̃) − pn (x̃) = (x̃ − xk )
(n + 1)! k=0
Ejemplo 5.
√
Dada la función f (x) = x definida en el intervalo [1, 2] , si la interpolamos mediante
un polinomio de grado 2 , que pasa por los puntos equidistantes {xk − h, xk , xk + h}
(3)
Al tomar x̃ ∈ [xk−1 , xk ] , tendremos la acotación E2 (x̃) = f 3!(ξ) (x̃ − xk−1 )(x̃ − xk )(x̃ −
xk+1 )
5
Tenemos que, f ξ (x) ≤ max1≤x≤2 |f 3 (x)| = max1≤x≤2 83 x− 2 = 3
8
Además , para todo x̃ ∈ [xk−1 , xk+1 ] ,
2
|(x̃ − xk−1 )(x̃ − xk )(x̃ − xk+1 )| ≤ maxy∈[−h,h] |(y − h)y(y + h)| = √
3 3
h3
1 3
En consecuencia |E2 (x̃)| ≤ 3!
· 38 · 2
√
3 3
h3 = h√
24 3
5
La siguiente tabla permite calcular las diferencias divididas de manera simple:
x0 f (x0 )
f [x1 ]−f [x0 ]
f [x0 , x1 ] = x1 −x0
f [x1 ,x2 ]−f [x0 ,x1 ]
x1 f (x1 ) f [x0 , x1 , x2 ] = x2 −x0
[x2 ]−f [x1 ] f [x1 ,x2 ,x3 ]−f [x0 ,x1 ,x2 ]
f [x1 , x2 ] = x2 −x1
f [x0 , x1 , x2 , x3 ] = x3 −x0
f [x2 ,x3 ]−f [x1 ,x2 ]
x2 f (x2 ) f [x1 , x2 , x3 ] = x3 −x1
[f x3 ]−f [x2 ] f [x2 ,x3 ,x4 ]−f [x1 ,x2 ,x3 ]
f [x2 , x3 ] = x3 −x2
f [x1 , x2 , x3 , x4 ] = x4 −x1
f [x3 ,x4 ]−f [x2 ,x3 ]
x3 f (x3 ) f [x2 , x3 , x4 ] = x4 −x2
f [x4 ]−f [x3 ]
f [x3 , x4 ] = x4 −x3
x4 f (x4 )
La siguiente tabla permite calcular las diferencias finitas de manera simple:
x0 f (x0 )
∆f [x0 ] = f (x1 ) − f (x0 )
x1 f (x1 ) ∆2 f [x0 ] = ∆f [x1 ] − ∆f [x0 ]
∆f [x1 ] = f (x2 ) − f (x1 ) ∆3 f [x0 ] = ∆2 f [x1 ] − ∆2 f [x0 ]
x2 f (x2 ) ∆2 f [x1 ] = ∆f [x2 ] − ∆f [x1 ]
∆f [x2 ] = f (x3 ) − f (x2 ) ∆3 f [x1 ] = ∆2 f [x2 ] − ∆2 f [x1 ]
2
x3 f (x3 ) ∆ f [x2 ] = ∆f [x3 ] − ∆f [x2 ]
∆f [x3 ] = f (x1 ) − f (x3 )
x4 f (x4 )