interpolaci´on y aproximaciones polin´omicas · 1. interpolacion y aproximaciones polin´omicas...

29
This is page i Printer: Opaque this Interpolaci´ on y aproximaciones polin´ omicas Oldemar Rodr´ ıguez Rojas Octubre 2008

Upload: dinhthuy

Post on 29-Jul-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

This is page iPrinter: Opaque this

Interpolacion y aproximaciones polinomicas

Oldemar Rodrıguez Rojas

Octubre 2008

ii

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

iv

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