TEMA 5: INTERPOLACI”N
5.1.- INTRODUCCI”N
Supongamos que conocemos N+1 puntos (x0,y0), (x1,y1), ..., (xN,yN), de la curva
y = f(x), donde las abscisas xk se distribuyen en un intervalo [a,b] de manera que
a x0 x1 < %%% < xN b e yk = f(xk)
Construiremos un polinomio P(x) de grado N que pase por estos N+1 puntos. El
polinomio P(x) puede luego usarse como una aproximaciÛn a f(x) en todo el intervalo
[a,b]; no obstante, si queremos conocer la funciÛn error E(x) = f(x) ñ P(x), entonces sÌ
necesitaremos conocer f (N+1)(x) o bien una cota de su tamaÒo como
M max f
a x b
o ( N 1)
( x) t
Existen funciones especiales y = f(x), que aparecen en an·lisis estadÌsticos o
cientÌficos, para las que sÛlo se dispone de una tabla de valores; es decir, sÛlo conocemos
N+1 puntos (xk,yk) y es necesario un mÈtodo para aproximar f(x) en abscisas que no est·n
tabuladas. Si el error de los valores tabulados es significativo, entonces es mejor usar los
mÈtodos de aproximaciÛn. Si, por el contrario, los puntos (xk,yk) tienen un grado alto de
precisiÛn, entonces podemos considerar el polinomio y = P(x) que pasa por todos ellos
como una buena aproximaciÛn de f (x).
Cuando x0 < x < xN, la aproximaciÛn P(x) se conoce como valor interpolado; si se
tiene x < x0 o bien x > xN, entonces P(x) se conoce como valor extrapolado. Los
polinomios se utilizan para diseÒar algoritmos de aproximaciÛn de funciones, para
derivar e integrar numÈricamente y para dibujar, utilizando un ordenador, curvas que
deben pasar por puntos especificados de antemano.
Dados N+1 puntos x0, x1, ..., xN pertenecientes al intervalo [a,b], el polinomio de
interpolaciÛn de grado menor o igual que N que pasa por esos puntos es ˙nico.
Recordemos brevemente que la forma eficiente de evaluar un polinomio P(x):
P( x) a N x N a N 1 x N 1 a2 x 2 a1 x a0
es el mÈtodo de Horner:
P( x) ( (a N x a N 1 ) x a1 ) x a0
x x
0 1 0
1 0
53
53
Tema 5: InterpolaciÛn .
y
P1
f (x)
P0
x
Figura 1.
El matem·tico francÈs Joseph Louis Lagrange llegÛ a este mismo polinomio
usando un mÈtodo ligeramente distinto. Si escribimos
x x1 x x0
y P1 ( x) y0 y1
x x x x
0 1 1 0
entonces cada uno de los sumandos del miembro derecho de esta relaciÛn es un tÈrmino
lineal, por lo que su suma ser· un polinomio de grado menor o igual que uno.
Denotemos los cocientes
x x1 x x0
L x L x
1,0 ( ) y 1,1 ( )
x x x x
0 1 1 0
Cuando las ordenadas yk vienen dadas por yk = f(xk), el proceso de utilizar P1(x)
para aproximar f(x) en el intervalo [x0,x1] se conoce con el nombre de interpolaciÛn
lineal.
Generalizando el polinomio PN(x) de grado menor o igual que N que pasa por N+1
puntos (x0,y0), (x1,y1), ..., (xN,yN) viene dado por:
N
PN ( x) yk LN ,k ( x)
k 0
donde LN,k es el polinomio coeficiente de Lagrange para los nodos x0, x1, ..., xN definido
por
( x x0 ) ( x x k 1 )( x x k 1 ) ( x x N )
L N ,k ( x )
( x k x0 ) ( x k x k 1 )( xk xk 1 ) ( x k x N )
55
55
Tema 5: InterpolaciÛn .
N N
LN ,k ( x) ( x x j ) (x k
xj)
j0 j 0
jk j k
PN ( x) a0 a1 ( x x0 ) a2 ( x x0 )( x x1 )
a N ( x x0 )( x x1 )( x x2 ) ( x x N 1 )
El polinomio PN(x) se obtiene a partir de PN-1(x) usando la recurrencia:
PN PN 1 ( x) a N ( x x0 )( x x1 )( x x2 ) ( x x N 1 )
El polinomio PN(x) calculado asÌ es el polinomio de interpolaciÛn de Newton.
56
56
Tema 5: InterpolaciÛn .
f ( x1 ) P1 ( x1 ) a0 a1 ( x1 x0 ) f ( x0 ) a1 ( x1 x0 )
f ( x1 ) f ( x 0 )
y despejando a1: a
x1 x0
1
Es decir, a1 es la pendiente de la recta que pasa por los puntos (x0,f(x0)) y (x1,f(x1)).
Los coeficientes a0 y a1 son los mismos para P1(x) y P2(x). Para continuar, ahora
evaluamos la expresiÛn en el nodo x2 y obtenemos:
f ( x2 ) P2 ( x2 ) a0 a1 ( x2 x0 ) a2 ( x2 x0 )( x2 x1 )
f ( x2 ) a0 a1 ( x2 x0 )
de donde se obtiene a
( x x )( x x )
2
2 0 2 1
58
58
Tema 5: InterpolaciÛn .
f [ x k 1 , xk ] f [ xk 2 , xk 1 ]
la diferencia dividida de segundo orden: f [ x ,x ,x ]
k 2 k 1
xk xk 2
k
k j k j 1 k
xk x k j
f x1 x 2 f x 0 x1
x1 f ( x1 ) f x 0 x1 x 2
x2 x0
f ( x 2 ) f ( x1 )
f xx
x 2 x1
1 2
f x 2 x 3 f x 1 x 2
x2 f ( x2 ) f x1 x 2 x 3
x 3 x1
f (x ) f (x )
f x x 3 2
x3 x2
2 3
x3 f ( x3 )
60
60
Tema 5: InterpolaciÛn .
f [ x0 , x1 , , xn ]( x x0 )( x x1 ) ( x x n1 ))
g(x) se anula en x0, x1, ..., xn, y aplicando el teorema de Rolle generalizado existir·
un (a,b) tal que gn)() = 0, es decir,
f n) ( )
f n ( ) PNn ) ( ) 0 f n ) ( ) n! f x 0 x1 x n f x 0 x1 x n
n!
siendo z (a,b).
Esta diferencia finita es la de primer orden. Del mismo modo se puede definir la de
segundo orden:
2 f ( x ) f ( x ) f ( x ) f ( x ) 2 f ( x ) f ( x )
0 1 0 2 1 0
k 1 k 1
En general: f ( x0 )
k
f ( x1 ) f ( x0 )
La relaciÛn entre las diferencias finitas progresivas y las diferencias divididas se
obtiene:
f ( x1 ) f ( x0 ) f ( x0 )
f xx f ( x ) h f x x
x0 x1
0 1 0 0 1
h
f x1 x2 f x0 x1 f ( x1 ) f ( x0 )
f x0 x1 x2 2 f ( x0 ) 2h f x0 x1 x2
2
x2 x0 2h 2
En general: n f ( x0 ) n!h n f x0 x1 x n
DefiniciÛn: Diferencia finita regresiva.
Se define como diferencia finita regresiva de f(x) en xn, y se representa por f(xn), a la
diferencia:
f ( xn ) f ( xn ) f ( xn1 )
k f ( xn ) k 1 f ( xn ) k 1 f ( xn 1 )
En general:
k f ( x 0 ) k f ( x 0 k ) k !h k f x k x k 1 x0
f x0 x1 xn ( x x0 ) ( x xn 1 )
Haciendo el cambio de variable x = x0 + t?h con t(0,n):
x x1 (t 1)h ; x x2 (t 2)h ; ; x xn 1 (t n 1)h
62
62
Tema 5: InterpolaciÛn .
f ( x0 ) 2 f ( x0 )
P ( x th) q (t ) f ( x ) th th(t 1)h
N 0 N 0
h 2!h 2
n
( x0 )
th(t 1)h (t n 1)h
n!h n
2 f ( x0 ) n f ( x0 )
0 f ( x0 ) f ( x0 )t t (t 1) t (t 1) t (t n 1)
2! n!
n
n
f ( x )
k
t (t 1) (t k 1) f (x )
t FI
0
k
0 GH JK
k 0 k! k 0 k
f ( xn ) 2 f ( x n )
P ( x) P ( x th) q (t ) f ( x ) t h t h (t 1) h
N N n n n
h 2 !h 2
n 2
61
61
Tema 5: InterpolaciÛn .
f ( x 3 ) f ( x4 )
f ( x3 ) f ( x4 )
2
f ( x 4 )
f ( x4 )
Figura 2
Para resolver este problema se emplea la interpolaciÛn polinomial a trozos, que
consiste en ir definiendo polinomios de grado bajo que interpolan a la funciÛn en dos
nodos consecutivos. AsÌ, Sk(x) es el polinomio que interpola a f en dos nodos
consecutivos (xk,yk) y (xk+1,yk+1). El conjunto de funciones {Sk(x)} forma la curva
62
62
Tema 5: InterpolaciÛn .
64
64
Tema 5: InterpolaciÛn .
2.ó øQueda determinado un polinomio p(x) de grado 3 por los siguiente datos?:
a) p(0), p(1), p'(ñ1), p''(0) b) p(0), p'(ñ1), p'''(0), p''(ñ1/2)
3.ó Se desea interpolar una funciÛn f(x) utilizando un polinomio de la forma
p(x) = a + b x2 conociendo f(x) en dos puntos dados x1, x2. Estudiar el problema de
interpolaciÛn correspondiente.
4.ó Determinar el polinomio de interpolaciÛn de Lagrange de grado no mayor que dos,
que tome los valores 1, 2, ñ1 en los puntos 0, 1, ñ2, respectivamente.
Sol: p2(x)=x+1
5.ó SupÛngase que se tiene calculada una tabla de diferencias divididas para
una funciÛn f(x) en los puntos x0, x1, ..., xn por la cual se conoce el polinomio de
interpolaciÛn pn(x). Si se desea aÒadir un punto m·s xn+1 y hallar el nuevo polinomio de
interpolaciÛn pn+1(x), øquÈ c·lculos hay que realizar?
6.ó a) Constr˙yase la tabla de diferencias divididas para la funciÛn f(x) = x3 en los
puntos x0 = 0, x1 = 1, x2 = 3, x3 = 4. A partir de ella escrÌbase la expresiÛn del polinomio
de interpolaciÛn de f(x) en la forma de Newton.
b) EscrÌbase tambiÈn en la forma de Lagrange y comÈntese el resultado.
Sol.: p3(x) = x3
7.ó En el ejercicio anterior, escrÌbase el polinomio de interpolaciÛn de f(x) en x0 = 0,
x1 = 1, x2 = 3, en las formas de Newton y Lagrange. Comprobar las ventajas de la
primera al aÒadir un punto m·s, el x3 = 4, y llegar a los resultados del ejercicio anterior.
Sol.: p2(x) = 4x2-3x ; p3(x) = x3
8.ó Determinar el polinomio de interpolaciÛn de grado n = 3 que pasa por los puntos
dato de la tabla, siguiendo el orden indicado:
i 3 1 0 2
xi 0 1 3 4
yi ñ5 1 25 55
Sol.: p(x) = x3 ñ 2x2 + 7x ñ 5
9.ó EscrÌbase la expresiÛn del polinomio de interpolaciÛn si se conocen ˙nicamente los
datos f [xn], f [xn, xnñ1], ..., f [xn, ..., x0], adem·s de los valores de x0, ..., xn.
Sol.: pn(x)=f(xn)+f[xn xn-1](x- xn)+ f[xn xn-1 xn-2](x- xn) (x- xn-1)+.....+
+ f[xn xn-1 xn-2Ö x0] (x- xn) (x- xn-1)...(x-x1)
10.ó Si en la fÛrmula de Newton se prescinde de los dos ˙ltimos sumandos, øquÈ
representa el polinomio obtenido?
11.ó En la siguiente tabla se presentan valores de la funciÛn cos() y las
correspondientes diferencias divididas. Evaluar el polinomio de interpolaciÛn de segundo
65
65
Tema 5: InterpolaciÛn .
grado que pasa a travÈs de los valores de la funciÛn en 1, 2, 3 para el argumento
= 0.25. Estudiar el error cometido.
i i
0 0.0 1.
ñ0.099667
1 0.2 0.980066 ñ0.492112
ñ0.247300 0.037106
2 0.3 0.955336 ñ0,477270 0.039670
ñ0.342754 0.060908 0.0022966
3 0.4 0.921060 ñ0.452906 0.037593
ñ0.478626 0.0779705
4 0.6 0.825335 ñ0.421024
ñ0.604934
5 0.7 0.764842
Sol.: f (0.25) p(0.25) = 0.968894; E2(x) 2.4%10ñ5
12.ó Con los siguientes datos:
xi 0 1 3 4 6 7
fi ñ5 1 25 55 181 289
construir la tabla de diferencias divididas y el correspondiente polinomio de interpolaciÛn
de mayor grado posible.
Sol.: x3 ñ 2x2 + 7x ñ 5
13.ó En la tabla siguiente se dan valores de la funciÛn y(x) = x1/2 redondeados hasta
cinco cifras decimales:
xi 1.00 1.05 1.10 1.15 1.20 1.25 1.30
f(xi) 1 1.02470 1.04881 1.07238 1.09545 1.11803 1.14017
Sol.: x4
16.ó Completar la siguiente tabla
xk 0 1 2 3 4 5 6 7
yk 1 2 4 8 15 26 . .
66
66
Tema 5: InterpolaciÛn .
suponiendo que los datos provienen de una funciÛn polinÛmica.
67
67
Tema 5: InterpolaciÛn .
68
68
Tema 5: InterpolaciÛn .
x y y 2 y 3y 4 y 5 y
0 %%%
%%%
5 %%% 0.0013
0.0888 %%%
10 %%% %%% 0.0002
%%% %%% ñ0.0002
15 %%% %%% %%%
%%% 0.0017
20 %%% %%%
%%%
25 0.4663
22.ó a) Completar la tabla de diferencias para los siguientes datos:
x 0.1 0.3 0.5 0.7 0.9 1.1 1.3
y 0.003 0.067 0.148 0.248 0.370 0.518 0.697
b) Mediante un polinomio c˙bico de interpolaciÛn obtener y(0.58).
Sol.: y(0.58) 0.185616
23.ó Utilizando diferencias progresivas, encontrar un valor aproximado de y(23) usando
los datos de la siguiente tabla:
xi 10 20 30 40 50 60
yi 0.17365 0.34202 0.50000 0.64279 0.76604 0.86603
a) A partir de un polinomio de primer grado.
b) A partir de un polinomio de segundo grado.
c) A partir de un polinomio de tercer grado.
Sol.: a) y(23) 0.389414; b) y(23) 0.391009; c) y(23) 0.390750
24.ó Si se denota por P2(x) el polinomio de interpolaciÛn de la funciÛn f(x) = ex en los
nodos ñ1, ñ0.75 y ñ0.5, y por R2(x) el error debido a la aproximaciÛn de y = ex mediante
su polinomio de interpolaciÛn, obtener una cota m·xima del error cometido sabiendo que
n
fn 1 (
R ( x) x x
)
b g
(n 1)!
n 1
i0
69
69
Tema 5: InterpolaciÛn .
70
70
Tema 5: InterpolaciÛn .
xk f [xk] f[ , ] f[ , , ] f[ , , , ] f[ , , , , ]
0.0 1.0000000
1.0 0.5403023 ñ0.4596977
2.0 ñ0.4161468 ñ0.9564491 ñ0.2483757
3.0 ñ0.9899925 ñ0.5738457 0.1913017 0.1465591
4.0 ñ0.6536436 0.3363489 0.4550973 0.0879319 ñ0.0146568
ñx
30.ó Dada la siguiente tabla correspondiente a la funciÛn f (x) = e , se desea obtener
una estimaciÛn de f (0.55):
x 0.0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1.0
f (x) 1.0000 0.8825 0.7788 0.6873 0.6065 0.5353 0.4724 0.4169 0.3679
Obtener el grado N del polinomio para que, con una elecciÛn adecuada de los puntos
base, la cota del error de truncamiento de pn(x) sea menor que 10ñ4. Construir el
correspondiente polinomio de interpolaciÛn y obtener la estimaciÛn pedida.
Sol.: f (0.55) p2(0.55) = 0.576868
71
71