Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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
x0 x1 x1 x0
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
L1, 0 ( x ) y L1,1 ( x )
x0 x1 x1 x0
Un sencillo cálculo muestra que L1,0(x0) = 1, L1,0(x1) = 0, L1,1(x0) = 0 y L1,1(x1) = 1;
es decir, el polinomio P1(x) también pasa por los dos puntos dados:
P1 ( x0 ) y0 y1 0 y0 y P1 ( x1 ) y0 0 y1 y1
Los términos L1,0(x) y L1,1(x) definidos anteriormente se llaman polinomios
coeficientes de Lagrange para los nodos x0 y x1. Usando esta notación, podemos
escribir P1(x) como una suma
P1 ( x ) y k L1, k ( x )
1
k 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:
PN ( x ) yk LN ,k ( x )
N
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 ) ( xk x k 1 )( xk x k 1 ) ( x k x N )
que multiplica a yk en el sumatorio y se ha de anular en todos los nodos excepto en xk
donde toma el valor 1:
LN,k(xj) = 1 si j = k y LN,k(xj) = 0 si j k
Resulta cómodo introducir la notación compacta para el producto y escribir:
54
Tema 5: Interpolación .
N N
L N ,k ( x ) ( x x j ) (x k xj)
j 0 j 0
jk j k
f ( x ) PN ( x ) f ( xk ) LN ,k ( x )
N
k 0
55
Tema 5: Interpolación .
a2
FG f ( x ) f ( x ) f ( x ) f ( x ) IJ ( x2 x0 )
H x x K
2 1 1 0
2 1 x x 1 0
56
Tema 5: Interpolación .
f [ x k 1 , x k ] f [ x k 2 , xk 1 ]
la diferencia dividida de segundo orden: f [ x k 2 , x k 1 , x k ]
x k xk 2
Las diferencias divididas de orden superior se forman de acuerdo con la siguiente
fórmula de recursión:
f [ x k j 1 , , x k ] f [ x k j , , x k 1 ]
f [ x k j , x k j 1 , ..., xk ]
xk x k j
que se utiliza para calcular la Tabla de Diferencias Divididas:
x0 f ( x0 )
f ( x1 ) f ( x 0 )
f x 0 x1
x1 x 0
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 x1 x 2
x 2 x1
f x 2 x 3 f x1x 2
x2 f ( x2 ) f x1 x 2 x 3
x 3 x1
f ( x3 ) f ( x2 )
f x2 x3
x3 x2
x3 f ( x3 )
TABLA DE DIFERENCIAS DIVIDIDAS
Con esta notación el coeficiente a2 del polinomio P2(x) se puede expresar como:
f [ x1 , x2 ] f [ x0 , x1 ]
a2 f x0 , x1 , x2
x2 x0
Teorema. (Polinomio de interpolación de Newton).
Supongamos que x0, x1, ..., xN son N+1 números distintos en [a,b]. Entonces existe un
único polinomio PN(x) de grado menor o igual que N tal que
f(xj) = PN(xj) para j = 0, 1, ..., N
La forma de Newton de este polinomio interpolador:
PN ( x ) a0 a1 ( x x0 ) a N ( x x0 )( x x1 ) ( x x N 1 )
siendo ak f [ x0 , x1 , , x k ] para k 0, 1, , N
Así: P0(x) = f (x0)
P1(x) = f (x0) + f [x0,x1](x–x0)
P2(x) = f (x0) + f [x0,x1](x–x0) + f [x0,x1,x2](x–x0)(x–x1)
···
PN(x) = f (x0) + f [x0,x1](x–x0) + ··· +f [x0,x1,..,xN](x–x0)···(x-xN–1)
En este polinomio los nodos se han colocado en el orden x0, x1, ..., xN.
Si se hubieran colocado los nodos en otro orden, por ejemplo xN, xN–1, ..., x1, x0, el
polinomio obtenido habría sido:
Pn ( x ) f ( xn ) f xn xn 1 ( x xn ) f xn xn 1 x0 ( x xn ) ( x x1 )
57
Tema 5: Interpolación .
siendo z (a,b).
Esta expresión permite estimar el error del polinomio de interpolación de grado N
cuando no se conoce la función, siempre que sea posible añadir un nodo más y obtener la
diferencia dividida de orden N+1.
58
Tema 5: Interpolación .
Esta diferencia finita es la de primer orden. Del mismo modo se puede definir la de
segundo orden:
2 f ( x0 ) f ( x1 ) f ( x0 ) f ( x2 ) 2 f ( x1 ) f ( x0 )
En general: k f ( x0 ) k 1 f ( x1 ) k 1 f ( x0 )
La relación entre las diferencias finitas progresivas y las diferencias divididas se
obtiene:
f ( x1 ) f ( x0 ) f ( x0 )
f x0 x1 f ( x0 ) h f x0 x1
x0 x1 h
f x1 x2 f x0 x1 f ( x1 ) f ( x0 )
f x0 x1 x2 2 f ( x0 ) 2h 2 f x0 x1 x2
x2 x0 2h2
En general: n f ( x0 ) n ! h n f x0 x1 xn
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 )
Esta es la diferencia finita regresiva de primer orden. La de segundo orden será:
2 f ( xn ) f ( xn ) f ( xn 1 ) f ( xn ) 2 f ( xn 1 ) f ( xn 2 )
y la de orden k:
k f ( xn ) k 1 f ( xn ) k 1 f ( xn 1 )
Ambas diferencias finitas están relacionadas entre sí:
f ( x0 ) f ( x1 ) f ( x0 ) f ( x1 )
2 f ( x0 ) f ( x2 ) 2 f ( x1 ) f ( x0 ) 2 f ( x2 )
En general:
k f ( x0 ) k f ( x0 k ) k ! h k f x k x k 1 x0
59
Tema 5: Interpolación .
f ( x0 ) 2 f ( x0 )
PN ( x0 th) q N (t ) f ( x0 ) th th(t 1)h
h 2 ! h2
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
k f ( x0 )
t (t 1) (t k 1) k f ( x0 )
n
t FG IJ
k 0 k! k 0 k HK
Las diferencias finitas progresivas en x0 se obtienen formando la siguiente tabla y
tomando los elementos de la diagonal descendente:
f ( x0 )
f ( x 0 )
f ( x1 ) 2 f ( x 0 )
f ( x1 ) 3 f ( x 0 )
f ( x2 ) 2 f ( x1 )
f ( x 2 )
f ( x3 )
TABLA DE DIFERENCIAS FINITAS PROGRESIVAS
Si se hubiese tomado el polinomio de Newton con diferencias divididas tomando
los nodos en el orden xn, xn-1, ..., x0, entonces el polinomio resultante sería:
PN ( x ) f ( xn ) f xn xn1 ( x xn ) f xn xn 1 x0 ( x xn )( x x1 )
Haciendo el cambio de variable: x = xn + t·h con t(–n,0):
x xn th; x xn1 (t 1)h, x xn 2 (t 2)h
y teniendo en cuenta que
f ( x n ) 2 f ( xn )
f xn xn 1 ; f xn x n 1 x n 1 ;
h 2 !h 2
se obtiene:
f ( xn ) 2 f ( xn )
PN ( x ) PN ( xn th ) qn ( t ) f ( xn ) t h t h ( t 1) h
h 2 ! h2
n f ( xn ) f ( xn ) 2 f ( xn )
t h ( t 1) h ( t n 1) h f ( xn ) t t ( t 1)
n! 1! 2!
n f ( xn )
t ( t 1) ( t n 1) n f ( xn )
n
FG
t k 1 IJ
n! k 0 H k K
Las diferencias finitas regresivas en xn se obtienen formando la tabla
correspondiente, y tomando los elementos de la diagonal ascendente.
Las tablas de diferencias finitas progresivas y regresivas son la misma. Solo cambia
la notación. En la tabla de diferencias finitas progresivas todo está referenciado a x0
mientras que en la tabla de diferencias finitas regresivas todo está referenciado a xn.
60
Tema 5: Interpolación .
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
61
Tema 5: Interpolación .
62
Tema 5: Interpolación .
63
Tema 5: Interpolación .
64
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
Calcular las diferencias hasta 3.
Utilizar la tabla para obtener 1.011/2, 1.281/2, 1.121/2.
1.01 1.00499
Sol.: 1.28 1.13137
1.12 1.05831
14.— Calcular los valores yk que faltan a partir de las primeras diferencias:
yk 0 · · · · ·
yk 1 2 4 7 11 16
15.— Calcular las diferencias finitas hasta las de orden 4 para los siguiente valores yk.
Suponiendo que xk = k, obtener el polinomio de interpolación.
k 0 1 2 3 4 5 6
yk 0 1 16 81 256 625 1296
Sol.: x4
16.— Completar la siguiente tabla
xk 0 1 2 3 4 5 6 7
yk 1 2 4 8 15 26 . .
suponiendo que los datos provienen de una función polinómica.
65
Tema 5: Interpolación .
66
Tema 5: Interpolación .
g (fn (1)!)
n 1
Rn ( x ) x x1
n
i 0
b
Sol.: 0.6080 10-3
25.— Dada la siguiente tabla de puntos pertenecientes al gráfico de la función f(x):
xk 3 4 5 6
f(xk) 6 24 60 120
a) Construir la tabla de diferencias divididas.
b) Calcular un polinomio de interpolación de segundo grado mediante la fórmula
de Newton que sirva para obtener un valor aproximado de la función para x = 4.5. Hacer
una estimación del error cometido con dicha aproximación.
c) Construir la tabla de diferencias finitas progresivas.
d) Calcular el valor aproximado de f (4.5) utilizando la fórmula de Newton
progresiva
67
Tema 5: Interpolación .
68
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
30.— Dada la siguiente tabla correspondiente a la función f (x) = e , se desea obtener
–x
69