Interpolaci´on y aproximaciones polin´omicas · 1. Interpolacion y aproximaciones polin´omicas...
Transcript of Interpolaci´on y aproximaciones polin´omicas · 1. Interpolacion y aproximaciones polin´omicas...
This is page iPrinter: Opaque this
Interpolacion y aproximaciones polinomicas
Oldemar Rodrıguez Rojas
Octubre 2008
This is page iiiPrinter: Opaque this
Contents
1 Interpolacion y aproximaciones polinomicas v1 Polinomios de Bernstein . . . . . . . . . . . . . . . . . . . . v2 Existencia y unicidad del polinomio de interpolacion . . . . vi3 Interpolacion de Lagrange . . . . . . . . . . . . . . . . . . . vii
3.1 Estudio del error . . . . . . . . . . . . . . . . . . . . viii3.2 Interpolacion Iterada . . . . . . . . . . . . . . . . . . x3.3 Metodo de Neville . . . . . . . . . . . . . . . . . . . xi3.4 Diferencias divididas de Newton . . . . . . . . . . . xv
4 Interpolacion de Hermite . . . . . . . . . . . . . . . . . . . . xvi4.1 Algoritmo para el polinomio de Hermite . . . . . . . xxiii
5 Interpolacion por Splines Cubicos . . . . . . . . . . . . . . . xxv5.1 Presentacion geometrica . . . . . . . . . . . . . . . . xxv5.2 Presentacion algoritmica . . . . . . . . . . . . . . . . xxix
This is page vPrinter: Opaque this
Interpolacion y aproximacionespolinomicas
1 Polinomios de Bernstein
Teorema 1 [Weierstrass] Sea f continua en [a, b]; entonces dado ε > 0,existe n ∈ N y Pn(x) ∈ Pn tal que
|f(x)− Pn(x)| < ε, ∀x ∈ [a, b]
Prueba Sin perdida de generalidad suponga que a = 0 y b = 1.Sea:
Bn(x) =n∑
k=0
(n
k
)xk(1− x)n−kf
(k
n
)
se puede probar que Bn(x)→ f(x) uniformemente en [0, 1] (ejercicio).
Ejemplo 1 Sea f(x) = ex, en [0, 1], entonces
B2(x) =2∑
k=0
(2k
)xk(1− x)2−ke
k2
=(
20
)x0(1− x)2e0 +
(21
)x1(1− x)1e
12 +
(22
)x2(1− x)0e1
= (1− x)2 + 2x(1− x)e12 + x2e
En Mathematica el polinomio de Bernstein se puede programar comosigue:
Bernstein[n , F ] :=n∑
k=0
Binomial[n, k]xk(1− x)n−kF[k/n]
Graficamente en Mathematica
vi 1. Interpolacion y aproximaciones polinomicas
FIGURE 1. El metodo de aproximaciones sucesivas.
Observacion 1 El polinomio de Bernstein tiene solo valor teorico y nopractico.
2 Existencia y unicidad del polinomio deinterpolacion
Problema: Sean (xi, yi), para i = 0, 1, 2, . . . , n, n + 1 puntos (nodos), sebusca un polinomio de grado n
Pn(x) = a0 + a1x + a2x2 + · · ·+ anxn
tal que satisfaga las condiciones de interpolacion:
Pn(xi) = yi i = 0, 1, 2, . . . , n (1.1)
Teorema 2 Sean (xi, yi) n + 1 puntos, con i = 0, 1, 2, . . . , n, tal que xi 6=xj , ∀ i 6= j, entonces existe un unico polinomio (de interpolacion) quesatisface la condicion 1.1, el cual tiene a lo mas grado n.
Prueba
Existencia:Sea
Li(x) :=n∏
j=0j 6=i
(x− xj)(xi − xj)
=(x− x0) · · · (x− xi−1)(x− xi+1) · · · (x− xn)
(xi − x0) · · · (xi − xi−1)(xi − xi+1) · · · (xi − xn)
1. Interpolacion y aproximaciones polinomicas vii
Note que:
Li(xk) ={
1 si i = k0 si i 6= k
= δik.
Entonces el polinomio
Pn(x) :=n∑
i=0
yiLi(x),
tiene la propiedad de interpolacion, pues
Pn(xk) :=n∑
i=0
yiLi(xk) =n∑
i=0
yiδik = yk, para k = 0, 1, . . . , n.
Ademas el grado de Pn(x) es menor o igual a n, pues es combinacion linealde polinomios de grado n.
Unicidad:
Sean Pn(x) y Qn(x) dos polinomios de grado n que satisfacen las condi-ciones de interpolacion,
Pn(xk) = Qn(xk) = yk, k = 0, 1, . . . , n
Sea D(x) := Pn(x)−Qn(x), note que D(x) es un polinomio de grado a lomas n y tiene n+1 raıces x0, x1, . . . , xn, por lo que de acuerdo al Teoremafundamental del algebra, se tiene que D(x) ≡ 0 ⇒ Pn(x) − Qn(x) = 0 ⇒Pn(x) = Qn(x).
3 Interpolacion de Lagrange
Definicion 1 El polinomio
Pn(x) =n∑
i=0
yiLi(x),
con yi = f(xi) y Lni(x) definido por:
Lni(x) =(x− x0) · · · (x− xi−1)(x− xi+1) · · · (x− xn)
(xi − x0) · · · (xi − xi−1)(xi − xi+1) · · · (xi − xn),
se llama el polinomio de Interpolacion de Lagrange.
Ejemplo 2 Sea f(x) = ex, 0 ≤ x ≤ 2. Calcule P2(x) con x0 = 0, x1 = 1,y x2 = 2.
viii 1. Interpolacion y aproximaciones polinomicas
Solucion:
P2(x) =(x− 1)(x− 2)(0− 1)(0− 2)
e0 +(x− 0)(x− 2)(1− 0)(1− 2)
e1 +(x− 1)(x− 0)(2− 0)(2− 1)
e2
=(x− 1)(x− 2)
2− x(x− 2)e +
(x− 1)x2
e2
3.1 Estudio del error
Recordemos el Teorema de Rolle Generalizado:
Teorema 3 Sea f ∈ C[a, b] y f ∈ Cn]a, b[, si f se anula en n + 1 puntosdistintos, x0, x1, . . . , xn en [a, b]. Entonces ∃ c ∈]a, b[ tal que fn(c) = 0.
Teorema 4 [Error en el metodo de Lagrange] Sean x0, x1, . . . , xn ∈ [a, b],y sea f ∈ Cn+1[a, b]. Entonces ∀ x ∈ [a, b], ∃ ξx ∈ ]a, b[ tal que:
f(x) = Pn(x) +fn+1(ξx)(n + 1)!
(x− x0)(x− x1) · · · (x− xn).
Es decir el error absoluto es:
|f(x)− Pn(x)| =∣∣∣∣fn+1(ξx)
(n + 1)!(x− x0)(x− x1) · · · (x− xn)
∣∣∣∣PruebaI casoSi x = xk; entonces f(xk) = Pn(xk) y el error es cero por lo tanto cualquierξx funciona.II casoSi x 6= xk, se define:
g(t) = f(t)− Pn(t)− [f(x)− Pn(x)](t− x0)(t− x1) · · · (t− xn)(x− x0)(x− x1) · · · (x− xn)
.
Vamos a probar que g(t) cumple las hipotesis del Torema Generalizado delRolle para n + 1.
• g es n + 1 veces derivable pues f ∈ Cn+1[a, b] y P ∈ C∞[a, b].
• g se anula en n + 2 puntos, a saber t = x0, x1, . . . , xn y t = x.
Como g cumple las hipotesis del Torema Generalizado del Rolle entonces:
∃ ξx ∈ ]a, b[ tal que g(n+1)(ξx) = 0.
Vamos a calcular g(n+1)(t):
1. Interpolacion y aproximaciones polinomicas ix
dn+1
dtn+1g(t) = f (n+1)(t)− 0− [f(x)− Pn(x)]
dn+1
dtn+1
n∏i=0
t− xi
x− xi
= f (n+1)(t)− [f(x)− Pn(x)]1
n∏i=0
x− xi
dn+1
dtn+1
n∏i=0
(t− xi)
= f (n+1)(t)− [f(x)− Pn(x)]1
n∏i=0
(x− xi)
dn+1
dtn+1(tn+1+terminos de
grado ≤ n)
= f (n+1)(t)− [f(x)− Pn(x)](n + 1)!
n∏i=0
(x− xi).
De donde ∃ ξx ∈ ]a, b[ tal que:
g(n+1)(ξx) = f (n+1)(ξx)− [f(x)− Pn(x)](n + 1)!
n∏i=0
(x− xi)= 0,
por lo tanto:
f(x) = Pn(x) +fn+1(ξx)(n + 1)!
n∏i=0
(x− xi).
Ejemplo 3 Sea f(x) = ex, con x ∈ [0, 2] y sean x0 = 0, x1 = 1, x2 = 2,tenemos que:
P2(x) =(x− 1)(x− 2)
2− x(x− 2)e +
(x− 1)x2
e2,
ası el error absoluto de aproximar f(0.25) por P2(0.25) es:
|f(0.25)− P2(0.25)| = 0.1312511.
Mientras que el error teorico es:
Error Absoluto =∣∣∣∣eξx
3!(x− 0)(x− 1)(x− 2)
∣∣∣∣ ≤ ∣∣∣∣e2
3!x(x− 1)(x− 2)
∣∣∣∣ ,
luego con x = 0.25
Error Absoluto =∣∣∣∣e2
3!(0.25)(0.25− 1)(0.25− 2)
∣∣∣∣ = 0.404089.
x 1. Interpolacion y aproximaciones polinomicas
En Mathematica el polinomio de Lagrange se puede programar comosigue:
PLagrange[Nodos_, f_] :=Module[{i, j, n = Length[Nodos], L, S},
S = 0;For[i = 1, i <= n, i++,
L = 1;For[j = 1, j <= n, j++,
If[j != i,L = L*(x - Nodos[[j]])/(Nodos[[i]]-Nodos[[j]]);
];];S = S + L*f[Nodos[[i]]];
];Return[S];
]
3.2 Interpolacion Iterada
Definicion 2 Sea f una funcion definida en x0, x1, . . . , xn y sean 0 ≤ mi ≤n, para i = 1, 2, . . . , k entonces el polinomio de Lagrange de grado ≤ (k−1)que coincide con f en xm1 , xm2 , . . . , xmk
se denota por
Pm1 ,m2 , . . . ,mk(x).
Ejemplo 4 Sea f(x) = x3, x0 = 1, x1 = 2, x2 = 3, x3 = 4, x4 = 6,calcule P0,3,4(x).
Solucion: P0,3,4(x) es el polinomio que coincide con f en x0 = 1, x3 =4, x4 = 6, de donde:
P0,3,4(x) =(x− 4)(x− 6)(1− 4)(1− 6)
13 +(x− 1)(x− 6)(4− 1)(4− 6)
43 +(x− 1)(x− 4)(6− 1)(6− 4)
63
= 11x2 − 34x + 24.
Ejemplo 5 Calcule P1,2,4(x)
Solucion:
P1,2,4(x) =(x− 3)(x− 6)(2− 4)(2− 6)
23 +(x− 2)(x− 6)(3− 2)(3− 6)
33 +(x− 2)(x− 3)(6− 2)(6− 3)
63
= 10x2 − 27x + 18.
1. Interpolacion y aproximaciones polinomicas xi
Los siguientes parrafos de dedican a encontrar un metodo para calcular lospolinomios de Lagrange en forma recursiva.
Teorema 5 Sea f una funcion definida en x0, x1, . . . , xk y sea xi 6= xj coni, j ∈ {0, 1, 2, . . . , k}. Entonces el polinomio de Lagrange que coincide conf en x0, x1, . . . , xk se puede escribir como
P (x) =(x− xj)P0,1,...,(j−1),(j+1),...,k(x)− (x− xi)P0,1,...,(i−1),(i+1),...,k(x)
(xi − xj).
Prueba Hay que probar que P (xs) = f(xs), ∀ s = 0, 1, 2, . . . , k.I casoSea xr 6= xi y xr 6= xj un nodo:
P (xr) =(xr − xj)P0,1,...,(j−1),(j+1),...,k(xr)− (xr − xi)P0,1,...,(i−1),(i+1),...,k(xr)
(xi − xj)
=(xr − xj)f(xr)− (xr − xi)f(xr)
(xi − xj)
=(−xj + xi)(xi − xj)
f(xr)
= f(xr).
II casoSea xr = xi:
P (xr) =(xi − xj)P0,1,...,(j−1),(j+1),...,k(xi)− 0
(xi − xj)
=(xi − xj)(xi − xj)
f(xi)
= f(xi).
Es analogo si xr = xj , por lo tanto P (x) es el polinomio de Lagrange quecoincide con f en x0, x1, . . . , xk pues este es unico.
3.3 Metodo de Neville
Se desea aproximar f(x∗) dada la siguiente tabla de valores para f :
x f(x)x0 f(x0)x1 f(x1)...
...xn f(xn)
xii 1. Interpolacion y aproximaciones polinomicas
Se genera la tabla de f(x∗)
x0 P0
x1 P1 P0,1
x2 P2 P1,2 P0,1,2
x3 P3 P2,3 P1,2,3 P0,1,2,3
x4 P4 P3,4 P2,3,4 P1,2,3,4 P0,1,2,3,4
......
......
.... . .
xn Pn Pn−1,n Pn−2,n−1,n Pn−3,n−2,n−1,n . . . P0,1,...,n
Con Pi(x) = f(xi) una funcion constante, polinomio de Lagrange de grado0. Esta tabla pude ser calculada usando el Teorema anterior, veamos al-gunos ejemplos:
P0,1(x) =(x− x0)P1 − (x− x1)P0
(x1 − x0)
P1,2(x) =(x− x1)P2 − (x− x2)P1
(x2 − x1)...
Pn−1,n(x) =(x− xn−1)Pn − (x− xn)Pn−1
(xn − xn−1)
P0,1,2(x) =(x− x0)P1,2 − (x− x2)P0,1
(x2 − x0)
P1,2,3(x) =(x− x1)P2,3 − (x− x3)P1,2
(x3 − x1)...
Pn−2,n−1,n(x) =(x− xn−2)Pn−1,n − (x− xn)Pn−2,n−1
(xn − xn−2)
P0,1,2,3(x) =(x− x0)P1,2,3 − (x− x3)P0,1,2
(x3 − x0)
P1,2,3,4(x) =(x− x1)P2,3,4 − (x− x4)P1,2,3
(x4 − x1)...
Ejemplo 6 Aproxime f(2.5) dada la siguiente tabla
1. Interpolacion y aproximaciones polinomicas xiii
x f(x)x0 2.0 0.5103757x1 2.2 0.5207843x2 2.4 0.5104147x3 2.6 0.4813306x4 2.8 0.4359160
.
Solucion:
x0 P0
x1 P1 P0,1
x2 P2 P1,2 P0,1,2 f(2, 5)x3 P3 P2,3 P1,2,3 P0,1,2,3 ↓x4 P4 P3,4 P2,3,4 P1,2,3,4 P0,1,2,3,4
La tabla de Neville es
2.0 0.51037572.2 0.5207843 0.5363972 ←↩ P0,1
2.4 0.5104147 0.5052299 0.49743802.6 0.4813306 0.4958726 0.4982119 0.49808292.8 0.4359160 0.5040379 0.4979139 0.4980629 0.49807047
De donde f(2.5) ≈ 0.49807047. Un ejemplo del calculo la matriz anteriores:
P0,1(x) =(x− x0)P1 − (x− x1)P0
(x1 − x0)
=(2.5− 2.0)0.5207843− (2.5− 2.2)0.5103757
2.2− 2.0= 0.5363972.
Notacion 1 Se denota por Qij el polinomio interpolante de Lagrange degrado j que pasa por los j + 1 nodos siguientes:
xi−j , xi−j+1, . . . , xi−1, xi
es decir
Qij = Pi−j,i−j+1,...,i−1,i(x).
Ahora usando el metodo de Neville (Teorema anterior)
xiv 1. Interpolacion y aproximaciones polinomicas
Qij =(x− xi)Pi−j,i−j+1,...,i−1(x)− (x− xi−j)Pi−j+1,...,i−1,i(x)
xi−j − xi
=(x− xi−j)Pi−j+1,...,i−1,i(x)− (x− xi)Pi−j,i−j+1,...,i−1(x)
xi − xi−j
=(x− xi−j)Qi,j−1 − (x− xi)Qi−1,j−1(x)
xi − xi−j.
Pues
Pi−j+1,i−j+2,...,i−1,i = Qi,j−1 dado que (i− (j − 1) = i− j + 1)
Pi−j,i−j+1,...,i−1 = Qi−1,j−1 dado que (i− 1− (j − 1) = i− j)
Note que:
Qi0 = Pi = f(xi), ∀ i = 0, 1, . . . , n
Con esta nueva notacion, la tabla de Neville se puede escribir como:
x0 Q00
x1 Q10 Q11
x2 Q20 Q21 Q22
x3 Q30 Q31 Q32 Q33
......
......
.... . .
xn Qn0 Qn1 Qn2 Qn3 . . . Qnn
Pues por ejemplo:
Q22 = P0,1,2 Qnn = P0,1,...,n
Algoritmo 1 Para calcular la tabla de Neville y aproximar f(x∗) ≈ Pn(x∗).
Entrada: Los nodos x0, x1, . . . , xn. Sus imagenes f(x0), f(x1), . . . , f(xn)como primera columna de la matriz Q, es decir Q00, Q10, Qn0.
Salida: La tabla o matriz Q, donde f(x∗) ≈ Qnn.
Paso1: Para i = 1 hasta nPara j = 1, 2, . . . , i
Qij =(x− xi−j)Qi,j−i − (x− xi)Qi−1,j−1
xi − xi−j
Paso2: Salida Qnn parar.FIN
NOTA: Ver neville.nb el programa en Mathematica.
1. Interpolacion y aproximaciones polinomicas xv
3.4 Diferencias divididas de Newton
La ventaja de este metodo es que permite calcular el polinomio de Lagrangeen cualquier punto x.
Notacion 2 [Recursiva]
f [xi] := f(xi)
f [xi, xi+1] :=f [xi+1]− f [xi]
xi+1 − xi
f [xi, xi+1, xi+2] :=f [xi+1, xi+2]− f [xi, xi+1]
xi+2 − xi
...
f [xi, xi+1, . . . , xi+k] :=f [xi+1, xi+2, . . . , xi+k]− f [xi, xi+1, . . . , xi+k−1]
xi+k − xi
Teorema 6 Si Pn(x) es el polinomio de Lagrange que coincide con f(x)en x0, x1, . . . , xn, entonces:
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)
= f [x0] +n∑
k=1
f [x0, . . . , xk](x− x0) · · · (x− xk−1).
Prueba Si Pn(x) se escribe de la forma
Pn(x) = a0 + a1(x− x0) + a2(x− x0)(x− x1) + · · ·+an(x− x0)(x− x1) · · · (x− xn−1)
⇒ Pn(x0) = a0, como Pn(x0) = f(x0)⇒ a0 = f(x0) = f [x0].
Ademas:
Pn(x1) = a0 + a1(x1 − x0), como Pn(x1) = f(x1) y a0 = f [x0] ⇒ f [x0] +a1(x1 − x0) = f(x1) ⇒ f [x0] + a1(x1 − x0) = f [x1]
⇒ a1 =f [x1]− f [x0]
x1 − x0= f [x0, x1].
Luego, por induccion se puede probar facilmente que ak = f [x0, x1, . . . , xk](ejercicio).
La Tabla de diferencias divididas de Newton es la siguiente:
xvi 1. Interpolacion y aproximaciones polinomicas
x0 f [x0]x1 f [x1] f [x0, x1]x2 f [x2] f [x1, x2] f [x0, x1, x2]...
......
.... . .
xn f [xn] f [xn−1, xn] f [xn−2, xn−1, xn] . . . f [x0, x1, . . . , xn]
En la diagonal de la matriz anterior estan los coeficientes del polinomiode Lagrange Pn(x), segun la forma presentada en el teorema anterior. Elsiguente algoritmo calcula el polinomio de Lagrange usando la Tabla dediferencias divididas de Newton.
Algoritmo 2 Calcula el polinomio de Lagrange usando la Tabla de dife-rencias divididas de Newton.Entrada: Los nodos x0, x1, . . . , xn y los valores f(x0), f(x1), . . . , f(xn)como primera columna de la matriz F .Salida: F00, F11, . . . , Fnn, los coeficientes de Pn(x), donde:
Pn(x) =n∑
i=0
Fii
i−1∏k=0
(x− xk)
Paso1: Para i = 1, . . . , nPara j = 1, 2, . . . , i
Fij =Fi,j−1 − Fi−1,j−1
xi − xi−j
Paso2: Salida (F00, F11, . . . , Fnn)Parar
4 Interpolacion de Hermite
Los Polinimios Osculantes generalizan a los Polinomios de Taylor y a losPolinomios de Lagrange como veremos mas adelante. La idea del polinomiode Hermite (que es un caso particular de los polinomios osculantes) es quesi se tienen x0, x1, . . . , xn, n+1 nodos, entonces f y f ′ coincidan con P (x)y P ′(x) en los nodos respectivamente.
Definicion 3 • Sean x0, x1, . . . , xn, n + 1 nodos distintos en [a, b].
• Sea mi un entero no negativo, con mi asociado a xi; para i = 1, . . . , n.
• Sea m = max0≤i≤n
mi.
1. Interpolacion y aproximaciones polinomicas xvii
• Sea f ∈ Cm[a, b].Entonces el Polinomio Osculante que aproxima a f es el polinomio degrado menor tal que:
dkP (xi)dxk
=dkf(xi)
dxk,
para i = 1, . . . , n y k = 1, . . . ,mi. Es decir en el i−esimo nodo el polinomioy la funcion f conciden hasta la derivada mi.
Observacion 2 1. Si n = 0 el polinomio osculante es el polinomio deTaylor de grado m0 para f en x0.
Para ver esto, sea P (x) polinomio de Taylor de grado m0 para f enx0, entonces:
P (x) = f(x0)+f ′(x0)(x−x0)+f ′′(x0)(x− x0)2
2!+· · ·+f (m0)(x0)
(x− x0)m0
m0!
de donde se deduce que: P (x0) = f(x0).
Ademas:
P ′(x) = f ′(x0)+2f ′′(x0)(x− x0)
2!+ · · ·+m0f
(m0)(x0)(x− x0)m0−1
m0!,
lo cual implica que: P ′(x0) = f ′(x0) y ası sucesivamente se puedeprobar que P k(x0) = fk(x0) para todo k ≤ m0.
2. Si mi = 0; e i = 0, 1, . . . , n, entonces el polinomio osculante es elpolinomio de Lagrange que interpola a f en x0, x1, . . . , xn. Pues seesta pidiendo que solamente coincida con f en x0, x1, . . . , xn (no ensus derivadas) y se probo que el polinomio de menor grado que haceesto es el de Lagrange, ademas se probo que es unico.
Cuando P (x) coincide con f y f ′ en x0, x1, . . . , xn, se dice que P (x) tiene“la misma apariencia” que f en los nodos y se denomina el Polinomio deHermite. El siguiente Teorema da un metodo para calcular el Polinomiode Hermite.
Teorema 7 • Sea f ∈ C[a, b].
• x0, x1, . . . , xn, (n + 1) nodos distintos en [a, b].
Entonces el polinomio de grado menor que coincide con f y f ′ en x0, x1, . . . , xn:
• Tiene grado 2n + 1.
xviii 1. Interpolacion y aproximaciones polinomicas
• Esta dado por
H2n+1(x) =n∑
j=0
f(xj)Hnj(x) +n∑
j=0
f ′(xj)Hnj(x),
donde
Hnj(x) = [1− 2(x− xj)L′nj(xj)]L2nj(x),
y
Hnj(x) = (x− xj)L2nj(x).
• Ademas, el error absoluto es:
|f(x)−H2n+1(x)| =
∣∣∣∣∣ (x− x0)2 · · · (x− xn)2
(2n + 2)!f (2n+2)(ξ)
∣∣∣∣∣ , con ξ ∈ ]a, b[.
Prueba
• Se debe demostrar que H2n+1(xi) = f(xi) para todo i = 0, 1, . . . , n.Para ver esto, recordemos que:
Lnj(xi) ={
0 si i 6= j1 si i = j
de donde cuando i 6= j
Hnj(xi) = 0 y Hnj(xi) = 0.
Mientras que
Hni(xi) = [1− 2(xi − xi)L′ni(xi)] · 1 = 1,
Hni(xi) = (xi − xi) · 12,
Luego:
H2n+1(xi) =n∑
j = 0j 6= i
f(xj) · 0 + f(xi) · 1 +n∑
j=0
f ′(xj) · 0 = f(xi).
1. Interpolacion y aproximaciones polinomicas xix
Por lo tanto:
H2n+1(xi) = f(xi) para i = 0, 1, 2, . . . , n.
• Se debe demostrar que H ′2n+1(xi) = f ′(xi) para todo i = 0, 1, . . . , n.
Notese que Lnj(x) es un factor de H ′nj(x), lo cual implica que H ′
nj(xi) =0 cuando i 6= j.
Ademas si i = j:
H ′ni(xi) = −2L′ni(xi)L2
ni(xi) + [1− 2(xi − xi)L′ni(xj)] · 2 · Lni(xi)L′ni(xi)= −2L′ni(xi) + 2L′ni(xi)= 0.
Por lo tanto H ′nj(xi) = 0 para todo i = 0, 1, 2, . . . , n y para todo
j = 0, 1, 2, . . . , n.
Ademas
H ′nj(xi) = L2
nj(xi) + (xi − xj)L′nj(xj)] · 2 · Lnj(xi)L′nj(xi),
de donde
H ′nj(xi) =
{0 si i 6= j1 si i = j
,
por lo tanto:
H ′2n+1(xi) =
n∑j=0
f(xj) · 0 +n∑
j = 0j 6= i
f ′(xj) · 0 + f ′(xi) · 1 = f ′(xi).
es decirH ′
2n+1(xi) = f ′(xi) para i = 0, 1, 2, . . . , n.
• La unicidad queda de ejercicio al lector.
Ejemplo 7 1. Calcule H5 (x) que aproxime a f(x) = ex en x0 = 0,x1 = 1, x2 = 2.
Solucion:
k xk f(xk) f ′(xk)0 0 1 11 1 2.7182818 2.71828182 2 7.3890561 7.3890561
xx 1. Interpolacion y aproximaciones polinomicas
H5 =2∑
j=0
f(xj)Hnj(x) +2∑
j=0
f ′(xj)Hnj(x).
Calculemos cada uno de los terminos:
H20 = [1− 2 (x− x0) L′20(x0)]L220(x),
con
L20(x) =(x− 1)(x− 2)(0− 1)(0− 2)
=x2 − x− 2x + 2
2
=x2 − 3x + 2
2,
esto implica que:
L′20 (x) =2x− 3
2
de donde:
L′n0(0) = −32,
luego:
H20 = (1− 3x)(
x2 − 3x + 22
)2
.
L21 (x) =x (x− 2)
(1− 0) (1− 2)
=x (x− 2)−1
= −x (x− 2)= −x2 + 2x.
Esto implica que:
L′21 (x) = −2x + 2,
1. Interpolacion y aproximaciones polinomicas xxi
de donde:
L′21(x1) = 0,
por lo que
H21 = (1− 2(x− 1) · 0) (−x (x− 2))2
= x2 (x− 2)2 .
L22 (x) =x (x− 1)
(2− 0) (2− 1)
=x (x− 1)
2
=x2 − x
2
de donde:
L′22 (x) =2x− 1
2,
luego,
L′22(x2) =32,
por lo que:
H22(x) =(
1− 2(x− 2) · 32
) (x2 − x
2
)2
= (1− 3(x− 2))(
x2 − x
2
)2
.
Por otra parte
H20(x) = (x− x0)L220(x)
= x
(x2 − 3x + 2
2
)2
.
xxii 1. Interpolacion y aproximaciones polinomicas
Analogamente:
H21(x) = (x− 1) x2 (x− 2)2 .
H22(x) = (x− 2)(
x2 − x
2
)2
.
Finalmente:
H5(x) = (1− 3x)(
x2 − 3x + 22
)2
+ 2.7182818x2 (x− 2)2 +
7.3890561 (1− 3(x− 2))(
x2 − x
2
)2
+
x
(x2 − 3x + 2
2
)2
+ 2.7182818 (x− 1) x2 (x− 2)2 +
7.3890561 (x− 2)(
x2 − x
2
)2
.
2. Aproximando f(0.25) ∼= H(0.25) se tiene que:
H5(0.25) = 1.28364
con el siguiente error absoluto:
∣∣e0.25 −H5(0.25)∣∣ = |1.28402− 128364|
= 3.8× 10−5
∼= 0.3× 10−4,
mientras que utilizando el polinomio de Lagrange el error fue
∣∣P (0.25)− e0.25∣∣ ∼= 0.1312511,
que es mucho mayor.
3. Calculando una cota para el error teorico se tiene que:
|ex −H5(x)| =∣∣∣∣x2(x− 1)2(x− 2)2
(2 · 2 + 2)!eξ
∣∣∣∣ con ξ ∈ [0, 2],
1. Interpolacion y aproximaciones polinomicas xxiii
esto implica que:
∣∣e0.25 −H5(0.25)∣∣ ≤ (0.25)2 (0.75)2(1.75)2
6!e2
=0.7955720
= 1.1× 10−3
= 0.1× 10−2.
Como se ha visto, el calculo del polinomio de Hermite es sumamente te-dioso, por esto en la siguiente seccion se propone un algoritmo que facilitedicho calculo.
4.1 Algoritmo para el polinomio de Hermite
Sabemos que:
Pn(x) = f [x0] +n∑
k=1
f [x0, x1, . . . , xk](x− x0) · · · (x− xk−1),
ademas utilizaremos el siguiente lema.
Lema 1 [Generalizacion del Teorema del valor medio] Si f ∈ Cn[a, b] yx0, x1, . . . , xn son los (n + 1) nodos distintos en [a, b], entonces: existe ξ ∈]a, b[ tal que:
f [x0, x1, . . . , xn] =f (n)(ξ)
n!.
Prueba Ejercicio al lector.
Suponga que se conocen
x0 f(x0) f ′(x0)x1 f(x1) f ′(x1)...
......
xn f(xn) f ′(xn).
Definimos la sucesion
{zn}n∈N , z2i = z2i+1 = xi, para i = 0, 1, . . . , n.
Luego se forma la tabla de Hermite como sigue:
xxiv 1. Interpolacion y aproximaciones polinomicas
z0 = x0 f [z0] = f(x0)z1 = x0 f [z1] = f(x0) f [z0, z1] ≈ f ′ (z0)z2 = x1 f [z2] = f(x1) f [z1, z2] f [z0, z1, z2]z3 = x1 f [z3] = f(x1) f [z2, z3] ≈ f ′ (z2) f [z1, z2, z3]z4 = x2 f [z4] = f(x2) f [z3, z4] f [z2, z3, z4]z5 = x2 f [z5] = f(x2) f [z4, z5] ≈ f ′ (z3) f [z3, z4, z5]...
.
.
.
.
.
.
.
.
.
..
.
A partir de la tercera columma de la matriz anterior el calculo se hace ex-actamente igual que en el metodo de Neville. Ademas notese f [z0, z1] no sepuede calcular usando la definicion, pues darıa 0
0 , pero resulta “razonable”tomar f [z0, z1] ≈ f ′ (x0) ¿Por que?Luego:
H2n+1(x) = f [z0] + f [z0, z1]
(z−z0)⇑
(x− x0) + f [z0, z1, z2]
(z−z0)(z−z1)⇑
(x− x0)2 +f [z0, z1, z2, z3] (x− x0)2(x− x1) +f [z0, z1, z2, z3, z4] (x− x0)2(x− x1)2 + · · · .
Algoritmo 3 [Para obtener los coeficientes del polinomio de Hermite]Entrada: x0, x1, . . . , xn; f(x0), f(x1), . . . , f(xn) y f ′(x0), f ′(x1), . . . , f ′(xn).Salida: Los numeros Q0,0, Q1,1, . . . , Q(2n+1),(2n+1) coeficientes de:
H2n+1(x) = Q0,0 +Q1,1(x− x0) +Q2,2(x− x0)2 +Q3,3(x− x0)2(x− x1) +Q4,4(x− x0)2(x− x1)2 + · · ·+Q(2n+1)(2n+1)(x− x0)2 · · · (x− xn−1)
2 (x− xn).
Paso1: Para i = 1, . . . , n siga pasos 2-3Paso 2: Tomar
z2i = xi
z2i+1 = xi
Q2i,0 = f(xi)Q2i+1,0 = f(xi)Q2i+1,1 = f ′(xi).
Paso 3: Si i 6= 0, tome
1. Interpolacion y aproximaciones polinomicas xxv
Q2i,1 =Q2i,0 −Q2i−1,0
z2i − z2i−1.
Paso 4: Para i = 2, 3, . . . , 2n + 1Para j = 2, 3, . . . , i tomar
Qi,j =Qi,j−1 −Qi−1,j−1
zi − zi−j.
Paso 5: Salida (Q0,0, Q1,1, . . . , Q(2n+1),(2n+1)).Parar
Ejemplo 8 Si se corre el algoritmo con f(x) = ex, f ′(x) = ex, x0 = 0,x1 = 1 y x2 = 2 entonces:
Q0,0 = 1Q1,1 = 1Q2,2 = 0.71828183Q3,3 = 0.28171817Q4,4 = 0.09726402Q5,5 = 0.02375378,
ası se obtiene el siguiente polinomio:
H5(x) = 1 + x + 0.71828183x2 + 0.28171817x2(x− 1) ++0.09726402x2(x− 1)2 + 0.02375378x2(x− 1)2(x− 2).
NOTA: Ver hermite.nb.
5 Interpolacion por Splines Cubicos
5.1 Presentacion geometrica
xxvi 1. Interpolacion y aproximaciones polinomicas
-
6
�
?
rr
r r r r r r
x0 x1 x2 xi−2 xi−1 xi xn−1 xn
?
?
Pi(x) = aix3 + bix
2 + cix + di
?
Pi−1(x) = ai−1x3 + bi−1x
2 + ci−1x + di−1
?
P2(x) = a2x3 + b2x
2 + c2x + d2
Pn(x) = anx3 + bnx2 + cnx + dn
?
P1(x) = a1x3 + b1x
2 + c1x + d1
La idea: es encontrar polinomios cubicos tales que:
• Coincidan con f(x) en los nodos y P (x) sea continuo.
• P (x) tenga primera derivada en los nodos internos.
• P (x) tenga segunda derivada en los nodos internos.
Ası se deben encontrar n polinomios con cuatro coeficientes cada uno, porlo que se tienen 4n incognitas, para encontrarlas se deben encontrar 4necuaciones, ¿como encuentran tales ecuaciones?
1. Como P (x) debe coincidir con f en los nodos internos y P (x) debeser continuo, se tienen las siguientes ecuaciones:
{ai−1x
3i−1 + bi−1x
2i−1 + ci−1xi−1 + di−1 = f(xi−1)
aix3i−1 + bix
2i−1 + cixi−1 + di = f(xi−1)
i = 2, . . . , n.
De aquı se tienen 2(n− 1) = 2n− 2 ecuaciones.
2. Como P (x) debe coincidir con f en los extremos, se tienen las sigu-ientes ecuaciones:
{a1x
30 + b1x
20 + c1x0 + d1 = f(x0)
anx3n + bnx2
n + cnxn + dn = f(xn) .
De aquı se tienen 2 ecuaciones.
1. Interpolacion y aproximaciones polinomicas xxvii
3. Como las primeras derivadas de P (x) en los nodos internos deben seriguales, se tienen las siguientes ecuaciones:
3ai−1x2i−1+2bi−1xi−1+ci−1 = 3aix
2i−1+2bixi−1+ci, con i = 2, . . . , n.
De aquı se tienen (n− 1) ecuaciones.
4. Como las segundas derivadas de P (x) en los nodos internos deben seriguales, se tienen las siguientes ecuaciones:
6ai−1xi−1 + 2bi−1 = 6aixi−1 + 2bi, con i = 2, . . . , n.
De aquı se tienen (n− 1) ecuaciones.
En total tenemos 2n− 2 + 2 + n− 1 + n− 1 = 4n− 2 ecuaciones, porlo que faltan todavıa 2 ecuaciones.
5. Asuminedo que las segundas derivadas en los nodos extremos debenser 0 se obtienen 2 ecuaciones mas:
{6a1x0 + 2b1 = 06an−1xn + 2bn−1 = 0 .
Ejemplo 9 Para f(x) dada por la siguiente tabla:
x f(x)3.0 2.54.5 1.07.0 2.59.0 0.5
.
Calcule el polinomio de interpolacion usando Splines Cubicos.
Solucion: Se requieren 3 · 4 = 12 ecuaciones, las cuales se obtienen comosigue:
1. Como P (x) debe coincidir con f en los nodos internos y P (x) debeser continuo, se tienen las siguientes ecuaciones:
91.125a1 + 20.25b1 + 4.5c1 + d1 = 191.125a2 + 20.25b2 + 4.5c2 + d2 = 1343a2 + 49b2 + 7c2 + d2 = 2.5343a3 + 49b3 + 7c3 + d3 = 2.5
.
xxviii 1. Interpolacion y aproximaciones polinomicas
2. Como P (x) debe coincidir con f en los extremos, se tienen las sigu-ientes ecuaciones:
27a1 + 9b1 + 3c1 + d1 = 2.5729a3 + 81b3 + 9c3 + d3 = 0.5 .
3. Como las primeras derivadas de P (x) en los nodos internos deben seriguales, se tienen las siguientes ecuaciones:
• con x = 4.5:
60.75a1 + 9b1 + 3c1 − 60.75a2 − 9b2 − c2 = 0,
• con x = 7:
147a2 + 14b2 + c2 − 147a3 − 14b3 − c3 = 0,
• con x = 4.5:
27a1 + 2b1 − 27a2 − 2b2 = 0,
• con x = 7:
42a2 + 2b2 − 42a3 − 2b3 = 0.
4. Asuminedo que las segundas derivadas en los nodos extremos debenser 0 se obtienen 2 ecuaciones mas:
• con x = 3:
18a1 + 2b1 = 0,
• con x = 9:
54a3 + 2b3 = 0.
De donde, resolviendo el siguiente sistema de ecuaciones:
1. Interpolacion y aproximaciones polinomicas xxix
91.125a1 + 20.25b1 + 4.5c1 + d1 = 191.125a2 + 20.25b2 + 4.5c2 + d2 = 1343a2 + 49b2 + 7c2 + d2 = 2.5343a3 + 49b3 + 7c3 + d3 = 2.527a1 + 9b1 + 3c1 + d1 = 2.5729a3 + 81b3 + 9c3 + d3 = 0.560.75a1 + 9b1 + 3c1 − 60.75a2 − 9b2 − c2 = 0147a2 + 14b2 + c2 − 147a3 − 14b3 − c3 = 027a1 + 2b1 − 27a2 − 2b2 = 042a2 + 2b2 − 42a3 − 2b3 = 018a1 + 2b1 = 054a3 + 2b3 = 0
,
se obtiene la siguiente solucion:
a1 = 0.187 a2 = −0.214 a3 = 0.128b1 = −1.679 b2 = 3.73 b3 = −3.449c1 = 3.617 c2 = −20.726 c3 = 29.534d1 = 1.722 d2 = 38.237 d3 = −79.035
.
por lo que el spline cubico es:
P (x) =
0.183x3 − 1.679x2 + 3.617x + 1.722 si 3 ≤ x ≤ 4.5−0.214x3 + 3.73x2 − 20.726x + 38.237 si 4.5 ≤ x ≤ 7
0.128x3 − 3.499x2 + 29.53x− 79.035 si 7 ≤ x ≤ 9.
5.2 Presentacion algoritmica