Interpolación

Anuncio
Interpolación
Javier Segura
February 12, 2012
Javier Segura
Interpolación
Interpolación
Interpolación polinómica
Para cualquier conjunto de n + 1 (n ≥ 0) números distintos
x0 , x1 , ..., xn y cualquier conjunto de números arbitrarios
y0 , y1 , ..., yn , existe un único polinomio Pn (x) de grado menor o
igual que n tal que Pn (xk ) = yk para i = 0, 1, 2, ..., n.
Al polinomio Pn (x) mencionado se le llamará polinomio de
interpolación, que interpola n + 1 puntos (xi , yi ),
i = 0, 1, 2, ..., n. Nuestro problema será encontrar tal polinomio,
para lo cual estudiaremos dos métodos: Fórmula de
Lagrange y diferencias divididas de Newton.
Javier Segura
Interpolación
Interpolación
Forma de Lagrange
Forma de Lagrange
Dados n + 1 puntos (xi , yi ), i = 0, 1, ..., n (xi 6= xj ⇐⇒ i 6= j), el único
polinomio Pn (x) de grado menor o igual n que pasa por estos n + 1
puntos, es decir, tal que Pn (xi ) = yi , i = 0, 1, 2, ..., n. es
Pn (x) = y0 L0 (x) + y1 L1 (x) + ... + yn Ln (x),
donde
n
Y
Li (x) =
(x − xj )
j=0,j6=i
n
Y
(xi − xj )
≡
(x − x0 )...(x − xi−1 )(x − xi+1 )...(x − xn )
(xi − x0 )...(xi − xi−1 )(xi − xi+1 )...(xi − xn )
j=0,j6=i
Javier Segura
Interpolación
Interpolación
Teorema del resto
Sea f (x) una función continua en [a, b] y derivable n + 1 veces
en (a, b). Si Pn (x) es el polinomio de grado menor o igual que n
que interpola f (x) entre los n + 1 nodos distintos x0 ...xn ∈ [a, b]
entonces ∀x ∈ [a, b] ∃ζx ∈ (a, b), dependiente de x, tal que
n
f (x) = Pn (x) +
f (n+1) (ζx ) Y
(x − xj ) ≡ Pn (x) + Rn (x)
(n + 1)!
j=0
donde se dice que Rn (x) es el resto y denotamos
n
Y
(x − xj ) = (x − x0 )...(x − xn ).
j=0
Javier Segura
Interpolación
Interpolación
Forma de Newton
Forma de Newton
Si x0 , x1 , ..., xn son puntos distintos y f (x) está definida en [a, b],
xi ∈ [a, b] i = 0, 1, ..., n, entonces el polinomio interpolador de f (x)
entre estos puntos se puede escribir como
Pn (x)
= f (x0 ) + (x − x0 )f [x0 , x1 ] + (x − x0 )(x − x1 )f [x0 , x1 , x2 ] + ...
+(x − x0 )(x − x1 )...(x − xn−1 )f [x0 , x1 , ..., xn ] =
n
i−1
X
Y
=
f [x0 ...xi ] (x − xj )
i=0
j=0
Javier Segura
Interpolación
Interpolación
Forma de Newton
La interpolación con las diferencias divididas de Newton es, en general, más
fácil de computar que la utilización de la fórmula de Lagrange, y puede ser
evaluada de forma recursiva.
Por ejemplo, en el caso de interpolar una función f (x) en tres puntos distintos
x0 , ..., x2 , , se puede plantear la siguiente tabla de diferencias divididas:
xi
f []
x0
f [x0 ] = f (x0 )
f [, ]
f [x0 , x1 ] =
x1
f [x1 ] − f [x0 ]
x1 − x0
f [x1 ] = f (x1 )
f [x0 , x1 , x2 ] =
f [x1 , x2 ] =
x2
f [, , ]
f [x2 ] − f [x1 ]
x2 − x1
f [x1 , x2 ] − f [x0 , x1 ]
x2 − x0
f [x2 ] = f (x2 )
Observemos que cada diferencia dividida se forma tomando la diferencia de
las diferencias divididas vecinas (a la derecha) y dividiendo por la diferencia
de abscisas; los valores de las abscisas se encuentran trazando las
diagonales desde la posición que se está evaluando hasta la columna de las
diferencias divididas de orden 0.
Javier Segura
Interpolación
Interpolación
Forma de Newton
Datos igualmente espaciados: forma de Newton
P(x0 + sh)
∆2 f (x0 )
= f (x0 ) + s∆f (x0 ) + s(s − 1)
+ ...
2!
n
∆ f (x0 )
.
+s(s − 1)...(s − n + 1)
n!
donde
∆0 fi = fi , ∆fi = fi+1 −fi , ∆n fi = ∆∆n−1 fi = ∆n−1 ∆fi = ∆n−1 fi+1 −∆n−1 fi
y utilizamos la notación fi = f (xi ) = f (x0 + ih).
Javier Segura
Interpolación
Interpolación
Interpolación de Hermite
El problema de interpolación
(n )
. . . Pn 0 (x0 ) = f (n0 ) (x0 )
...
(n )
Pn (xk ) = f (xk ), . . . Pn k (xk ) = f (nk ) (xk )
Pn (x0 ) = f (x0 ),
mediante un polinomio de grado ≤ n = n0 + .. + nk + k , siendo f (x)
n + 1 veces derivable en [a, b], tiene solución única, que se puede
construir mediante el esquema de diferencias divididas. Denotando
(x̃0 x̃1 ...x̃n ) = ([x0 ]n0 +1 , ..., [xk ]nk +1 ), tenemos:
Pn (x) =
n
X
f [x̃0 ...x̃i ]
i=0
i−1
Y
(x − x̃j ) .
j=0
n
Además f (x) − Pn (x) =
f (n+1) (ζx ) Y
(x − x̃j ) para algún ζx ∈ (a, b).
(n + 1)!
j=0
Javier Segura
Interpolación
Comportamiento del error
Volvamos a la interpolación de Lagrange (todos los nodos distintos).
Definamos
S(x) ≡
n
Y
(x − xj )
j=0
y, por comodidad, consideraremos x0 < x1 < ... < xn−1 < xn .
Para xi igualmente espaciados, los mayores valores de |S(x)| se
encuentran para los mayores o menores valores de x en el
intervalo [x0 , xn ] (sin coincidir con los xi ) mientras que |S(x)| alcanza
menores valores para valores intermedios de x.
Javier Segura
Interpolación
Comportamiento del error
Ejemplo: interpolación de una función para los valores de
xi = i − 4, i = 0..8.
S(x) = x(x 2 − 1)(x 2 − 4)(x 2 − 9)(x 2 − 16):
6000
4000
2000
S(X)
0
−2000
−4000
−6000
−5
−3
−1
1
X
Javier Segura
Interpolación
3
5
Comportamiento del error
Ejemplo: comparación la interpolación
en 9 puntos xi = 4 − i,
√
i = 0, .., 8 de la función f (x) = x 2 / x 2 + 1 (línea continua) con
la propia función (línea discontinua).
4
3
2
1
0
−4
−3
−2
−1
Javier Segura
0
X
1
2
Interpolación
3
4
Interpolación de Chebyshev
Dada una función f (x) definida en un intervalo [a, b], la mejor
aproximación polinómica de grado n será aquella que minimice
E[q(x)] ≡ max |f (x) − q(x)|,
x∈[a,b]
Si un determinado polinomio Qn (X ) hace que E[Qn (x)] sea el de
valor mínimo entre todos los polinomios de grado n entonces se dice
Qn (x) es la aproximación minimax de grado n de la función f (x)
en [a, b] .
Javier Segura
Interpolación
Interpolación Chebyshev
Polinomios de Chebyshev: definición
El polinomio de Chebyshev de orden n-ésimo se define como
h
i
Tn (x) = cos n cos−1 (x) , x ∈ [−1, 1] , n = 0, 1, 2, 3, ...
Javier Segura
Interpolación
Polinomios de Chebyshev: propiedades
1
Relación de recurrencia de tres términos para los polinomios de
Chebyshev:
Tn+1 (x) = 2xTn (x) − Tn−1 (x) , n = 1, 2, 3, ...
siendo los valores iniciales de la recurrencia T0 (x) = 1,
T1 (x) = x.
2
El coeficiente del término x n en Tn (x) es 2n−1 y se cumple que
Tn (−x) = (−1)n Tn (x).
3
Los n ceros de Tn (x) están en el intervalo [−1, 1] y están dados
por
2k + 1
xk = cos
π , k = 0, 1, ..., n − 1.
2n
Tn (x) tiene n + 1 extremos en el intervalo [−1, 1] que vienen
dados por xk0 = cos knπ , k = 0, ..., n, donde los polinomios valen:
T (xk0 ) = (−1)k
Javier Segura
Interpolación
Interpolación de Chebyshev
Teorema
Para cualquier n ≥ 1, entre todos los polinomios mónicos (es
decir, con coeficiente 1 en el término de mayor grado) el
1 T (x) es el
polinomio de Chebyshev modificado T̃n (x) ≡ n−1
n
2
de mínimo máximo valor absoluto en [-1,1], siendo este valor
1/2n−1 . Es decir, que
1
n−1
2
= max |T̃n (x)| ≤ max |Pn (x)|
x∈[−1,1]
x∈[−1,1]
para cualquier polinomio Pn (x) de tipo mónico:
Pn (x) = x n + an−1 x n−1 + an−2 x n−2 + ... + a1 x + a0 ,
Javier Segura
Interpolación
Interpolación de Chebyshev
Teorema
Sea f (x) n + 1 veces diferenciable con continuidad en [a, b] Sea
Pn (x) el polinomio de interpolación de Lagrange grado n basado en
los n + 1 nodos (de Chebyshev)
b+a b−a
2k + 1
xk =
+
cos
π , k = 0, ..., n
2
2
2n + 2
entonces el error viene acotado por:
max |f (x) − Pn (x)| ≤
a≤x≤b
b−a
2
n+1
1
max |f (n+1) (x)|
(n + 1)!2n a≤x≤b
donde hemos considerado el cambio de variable
b+a b−a
+
t
2
2
que transforma el intervalo [−1, 1] en [a, b].
x(t) =
Javier Segura
Interpolación
Interpolación de Chebyshev
√
Ejemplo: f (x) = x 2 / x 2 + 1. Se representa f (x) − P(x) con P(x) el
polinomio de interpolación que interpola en 9 nodos distintos. La
línea continua corresponde a los nodos equiespaciados y la línea
discontinua corresponde a la aproximación cuasi-minimax para 9
nodos en el intervalo [−4, 4]
0.45
0.35
0.25
0.15
0.05
−0.05
−0.15
−4
−2
Javier Segura
0
X
2
Interpolación
4
Interpolación de Chebyshev
Propiedad de ortogonalidad discreta
n
X
n+1
1, i = j
la
Ti (xk )Tj (xk ) =
(1 + δi0 ) δij , siendo δij =
0 , i 6= j
2
k =0
delta de Kronecker. Las xk son los n + 1 ceros del polinomio Tn+1 (x).
Javier Segura
Interpolación
Interpolación de Chebyshev
Evaluación de la interpolación Chebyshev
El polinomio interpolador de grado n basado en los nodos de
Chebyshev (ceros de Tn+1 (x)), que interpola f (x) en estos n + 1
puntos de [−1, 1], se puede escribir como:
Pn (x) =
n
X
cj Tj (x)
j=0
donde
cj =
n
2 − δj0 X
f (xk )Tj (xk )
n+1
k =0
y xk = cos 2k + 1 π , k = 0, ..., n.
2n + 2
Javier Segura
Interpolación
Construcción de splines
Sean n + 1 puntos (xi , yi ), i = 0, 1, ..., n verificando
a = x0 < x1 < x2 < ... < xn = b ,
una spline cúbica de estos puntos es una función s(x) en [a, b] que
satisface:
1
Polinomio de tercer grado. s(x) es un polinomio , Pi (x), de
grado tres sobre cada intervalo [xi−1 , xi ] para i = 1, 2, ..., n.
2
Condiciones de interpolación. s(xi ) = yi para i = 0, 1, ..., n.
3
Suavidad. s00 (x) es continua en [a, b] (≡ [x0 , xn ]), luego también
lo son s(x) y s0 (x).
Javier Segura
Interpolación
Descargar