E.T.S. Minas: Métodos Matemáticos Resumen y ejemplos...
Transcript of E.T.S. Minas: Métodos Matemáticos Resumen y ejemplos...
E.T.S. Minas: Métodos MatemáticosResumen y ejemplos
Tema 2: Aproximación e interpolaciónFrancisco Palacios
Escuela Politécnica Superior de Ingeniería de ManresaUniversidad Politécnica de Cataluña
Septiembre 2008, Versión 1.7
Contenido
1. Objetivo de los métodos numéricos
2. Errores
3. Dígitos significativos y decimales exactos
4. Polinomios de Taylor
5. Resto del polinomio de Taylor
6. Polinomio interpolador de Lagrange
7. Forma de Lagrange para el polinomio interpolador
8. Error de interpolación
9. Forma de Newton para el polinomio interpolador
10. Polinomio interpolador de Hermite
1 Objetivo de los métodos numéricos
El objetivo de los métodos numéricos es aproximar el valor numérico deobjetos matemáticos usando un número finito de operaciones aritméticas.Algunos ejemplos típicos del tipo de problema que abordan los métodosnuméricos son los siguientes:
1. Evaluar√5, 6√28, sin(0.361), (0.853)0.71 .
2. Aproximar un valor de x que cumpla sinx+ ex = 0.
3. Aproximar el valor de la integral definidaZ 1
0
sinx
xdx.
1
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 2
4. Conocidos los valores de la tabla
x 0 0.1 0.2
f(x) 0.5 1.7 2.3
aproximar el valor de f(0.07),R 0.20 f(x) dx, f 0(0.07).
5. Si y = y(x) cumple ½y0 = x cos y,y(0) = 0.
aproximar y(0.1), y(0.2), y(0.3).
1.1 Método iterativo
Una forma bastante habitual de generar aproximaciones xj de un valor α
x0, x1, x2, . . . , xn, . . .→ α
consiste en el uso de una fórmula recurrente½xn+1 = g(xn),x0 = valor inicial.
Ejemplo 1.1 Método iterativo para√c.
La siguiente fórmula recurrente
xn+1 =1
2
µxn +
c
xn
¶nos proporciona un método iterativo para aproximar el valor de
√c. Para
iniciar el método, necesitamos una primera estimación x0.Supongamos que deseamos calcular
√27, la fórmula de recurrencia, en nues-
tro caso, es
xn+1 =1
2
µxn +
27
xn
¶,
podemos tomar como estimación inicial x0 = 5, entonces
x0 = 5,
x1 =1
2
µ5 +
27
5
¶= 5. 2,
x2 =1
2
µ5.2 +
27
5.2
¶= 5. 19615 3846,
x3 =1
2
µ5. 19615 3846 +
27
5. 19615 3846
¶= 5. 19615 2423,
x4 =1
2
µ5. 19615 2423 +
27
5. 19615 2423
¶= 5. 19615 2423.
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 3
Observamos que x4 = x3 (con 9 decimales), el método ha convergido al valor
α = 5. 19615 2423.
Si tomamos el valor de√27 con 15 decimales (calculado con Maple)√27 = 5. 19615 24227 06631,
resulta que el valor obtenido mediante el método iterativo propuesto es co-rrecto hasta el noveno decimal. En el tema dedicado a la resolución numéricade ecuaciones, veremos que este método puede obtenerse al aplicar elmétodode Newton-Raphson a la ecuación x2 − c = 0. ¤
2 Errores
Sea α un valor exacto y (xj) una sucesión de aproximaciones de α
x0, x1, x2, . . . , xj , . . .→ α,
definimos:
• error absolutoej = α− xj ,
• error relativorj =
α− xjα
=ejα,
• error relativo aproximado
rj =α− xjxj
.
Normalmente usamos los valores absolutos de los errores
|ej | = |α− xj | , |rj | =¯α− xj
α
¯, |rj | =
¯α− xjxj
¯.
Fuentesde error
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
En la determinacióndel modelo
En la resoluciónnumérica
⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩Simplificación del problema(no rozamiento, etc...)
Errores en la medida de datosy parámetros⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩
Errores accidentales(de cálculo, de programación, etc...)
Truncamiento de procesoso infinitos
Redondeo
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 4
Ejemplo 2.1 Ejemplo de error de truncamiento.
Queremos aproximar
α =∞Xn=1
1
n2= 1 +
1
4+1
9+1
16+ · · ·
para ello calculamos la suma finita
S6 =6Xn=1
1
n2= 1 +
1
4+1
9+1
16+1
25+1
36= 1. 491389.
Puede demostrarse que el valor exacto es
α =∞Xn=1
1
n2=
π2
6' 1.644934,
por lo tanto, el error absoluto de truncamiento es
e6 =π2
6− 1. 491389 = 0. 15354 5.
Para el error relativo, obtenemos
r6 =e6α=0. 15354 5
(π2/6)= 0.09 33 = 9.33%.
Obviamente, al realizar los cálculos, también se han producido errores de re-dondeo, sin embargo, en este caso, los errores de redondeo son muy inferioresal error de truncamiento. ¤
3 Dígitos significativos y decimales exactos
• Decimos que x aproxima α con t decimales exactos si
|ex| = |α− x| ≤ 0.5× 10−t.
• Decimos que x aproxima α con t dígitos significativos si
|rx| =|α− x||α| ≤ 5× 10−t.
Ejemplo 3.1 Aproximamos α = 49.99 mediante x = 50.00.(a) ¿Cuántos decimales exactos tiene x?(b) ¿Cuántos dígitos significativos?(c) ¿Cuantos decimales son iguales?
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 5
(a) El error absoluto es
|ex| = |α− x| = |49.99− 50.00| = 0. 01 = 0.1× 10−1,
como |ex| < 0.5× 10−1, resulta que x aproxima α con un decimal exacto.(b) El error relativo es
|rx| =|α− x||α| =
0.01
49.99= 2. 0004× 10−4,
como |rx| < 5× 10−4, x aproxima α con 4 dígitos significativos.(c) Observamos que α y x no tienen dígitos iguales. ¤
4 Polinomio de Taylor
Sea f(x) una función derivable hasta orden n en x = c.
• El polinomio de Taylor de f(x) en x = c es
Pn(x) = f(c) +f 0(c)
1!(x− c) + f
00(c)
2!(x− c)2 + · · ·+ f
(n)(c)
n!(x− c)n .
• Cuando c = 0, resulta el polinomio de McLaurin
Pn(x) = f(0) +f 0(0)
1!x+
f 00(0)
2!x2 + · · ·+ f
(n)(0)
n!xn.
PropiedadSi Pn(x) es el polinomio de Taylor de orden n de f(x) en x = c, entoncesse cumple
Pn(c) = f(c), P0n(c) = f
0(c), P 00n (c) = f00(c), . . . , P (n)n (c) = f (n)(c).
Ejemplo 4.1 Consideramos f(x) = ex.(a) Determina al polinomio de McLaurin de orden 5 para f.(b) Aproxima el valor de e0.5.(c) ¿Cuántos decimales exactos tiene la aproximación?
(a) Polinomio de McLaurin. Se cumple
f(x) = ex, f 0(x) = ex, f 00(x) = ex, . . . , f (5)(x) = ex.
Sustituyendo en x = 0, resulta
f(0) = f 0(0) = f 00(0) = · · · = f (5)(0) = 1,
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 6
por lo tanto
P5(x) = 1 + x+x2
2+x3
6+x4
24+x5
120.
(b) Valor aproximado. Sustituyendo x = 0.5 en el polinomio, resulta
P5(0.5) = 1. 648698.
(c) Error. El valor de e0.5, calculado con 6 decimales es
e0.5 = 1. 64872 1,
el valor absoluto del error absoluto es
|e5| =¯e0.5 − P5(0.5)
¯= |1. 64872 1− 1. 648698| = 0.000023 = 0.2 3× 10−4,
por lo tanto, la aproximación P5(0.5) tiene 4 decimales exactos. ¤
Ejemplo 4.2 Consideramos f(x) = sinx.(a) Determina al polinomio de McLaurin de orden 5 para f.(b) Aproxima el valor1 de sin(0.2).(c) ¿Cuántos decimales exactos tiene la aproximación?
(a) Polinomio de McLaurin. Se cumple
f(x) = sinxf 0(x) = cosxf 00(x) = − sinxf (3)(x) = − cosxf (4)(x) = sin(x)
f (5)(x) = cos(x)
f(0) = 0f 0(0) = 1f 00(0) = 0f (3)(0) = −1f (4)(0) = 0
f (5)(0) = 1
por lo tanto
P5(x) = x−x3
6+x5
120.
(b) Valor aproximado. Sustituyendo x = 0.2 en el polinomio, resulta
P5(0.2) = 0.19866 93333.
(c) Error. El valor de sin(0.2), calculado con 10 decimales es
sin(0.2) = 0.19866 93308,
el valor absoluto del error absoluto es
|e5| = |sin(0.2)− P5(0.2)| = 0.2 5× 10−8,
por lo tanto, la aproximación P5(0.2) tiene 8 decimales exactos. ¤1El argumento de sin(x) está en radianes. Debes tener en cuenta que las reglas usuales
de derivación de funciones trigonométricas, como
d
dxsin (x) = cos (x) ,
d
dxcos (x) = − sin(x)
sólo son válidas si el ángulo está en radianes.
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 7
5 Resto del polinomio de Taylor
Sea:
• I = [a, b] y c un punto interior, esto es, a < c < b.
• f una función de clase2 Cn+1[a, b].
Para cada x ∈ [a, b] se cumple
f(x) = Pn(x) +Rn(x),
donde
Pn(x) = f(c) +f 0(c)
1!(x− c) + f
00(c)
2!(x− c)2 + · · ·+ f
(n)(c)
n!(x− c)n ,
Rn(x) =f (n+1)(t)
(n+ 1)!(x− c)n+1, t está entre c y x.
Cota de errorSi representamos por Mn+1 una cota superior de
¯f (n+1)(t)
¯, esto es
maxt∈[a,b]
¯f (n+1)(t)
¯≤Mn+1,
entonces tenemos la siguiente acotación para el error absoluto que se producecuando aproximamos f(x) mediante Pn(x)
|en(x)| = |f(x)− Pn(x)| = |Rn(x)| ≤Mn+1
(n+ 1)!|x− c|n+1 .
Ejemplo 5.1 Aproxima sin(0.2) usando un polinomio de McLaurin de gra-do 3. Determina una cota superior de error absoluto y verifica los resultados.
(a) Valor de la aproximación. En principio, tomaríamos
P3(x) = x−x3
6,
ahora bien, observamos que en este caso se cumple
f (4)(x) = sin(x) → f (4)(0) = 0,
por lo tanto, el polinomio de orden 4 coincide con el de orden 3
P4(x) = x−x3
6.
2Una función es de clase Cn+1[a, b] si tiene derivadas contínuas hasta orden (n+1) en[a, b]
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 8
Tomamos P4(x) porque nos proporciona una cota de error más ajustada.El valor de la aproximación, con 10 decimales es
P4(0.2) = 0. 1986666667.
(b) Cota de error. Comof (5)(x) = cosx,
tenemos
|e4(x)| =¯cos t
5!x5¯, t entre 0 y x.
Podemos tomar |cosx| ≤ 1, entonces,
|e4(0.2)| ≤(0.2)5
5!= 0.2 6667× 10−5. (1)
Por lo tanto, la aproximación P4(0.2) tiene al menos 5 decimales exactos;tomamos la aproximación
sin (0.2) = 0.19867.
(c) Verificación de resultados. El valor de sin(0.2) calculado con 10 decimaleses
sin(0.2) = 0.1986693307,
por lo tanto, el error absoluto es
|e4(0.2)| = |sin (0.2)− P4(0.2)| = |0.1986693307− 0. 1986666667| = 0.2664×10−5.
Vemos que, en efecto, el error real es inferior a la cota superior de errorcalculada en (1). ¤
6 Polinomio interpolador de Lagrange
6.1 Planteamiento
Dada la tabla de valores
x x0 x1 · · · xny y0 y1 · · · yn
(2)
donde
• x0, x1, . . . , xn son n+ 1 abscisas distintas,
• y0, y1, . . . , yn son n+ 1 valores arbitrarios.
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 9
Queremos determinar un polinomio de grado ≤ n
Pn(x) = a0 + a1x+ · · ·+ anxn,
que verifique las n+ 1 condiciones
Pn(xj) = yj , para j = 0, 1, . . . , n. (3)
Propiedad Si las abscisas x0, x1, . . . , xn son distintas, existe un único po-linomio Pn(x) de grado ≤ n que cumple las condiciones
Pn(xj) = yj , para j = 0, 1, . . . , n.
• Decimos que Pn(x) es el polinomio interpolador de la tabla
x x0 x1 · · · xny y0 y1 · · · yn
• Cuando los valores yj se generan empleando una función
yj = f(xj),
entonces decimos que Pn(x) es el polinomio interpolador de la funciónf(x) en las abscisas o nodos xj .
Ejemplo 6.1 Calcula el polinomio interpolador de la función f(x) =1
xen
los nodos x0 = 1, x1 = 2, x2 = 3.
La tabla de valores esx 1 2 3
y 1 1/2 1/3
Como tenemos 3 puntos, debemos determinar un polinomio de grado≤ 2
P2(x) = a0 + a1x+ a2x2. (4)
Las condiciones de interpolación (3) se traducen en⎧⎨⎩P2(1) = 1,P2(2) = 1/2,P2(3) = 1/3,
(5)
sustituyendo en (4), obtenemos⎧⎨⎩a0 + a1 + a2 = 1,a0 + 2a1 + 4a2 = 1/2,a0 + 3a1 + 9a2 = 1/3.
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 10
Se trata de un sistema de 3 ecuaciones lineales con 3 incógnitas. Resolvemospor reducción
(2a − 1a)(3a − 2a)
⎧⎨⎩a0 + a1 + a2 = 1
a1 + 3a2 = −1/2a1 + 5a2 = −1/6
(3a − 2a)
⎧⎨⎩a0 + a1 + a2 = 1
a1 + 3a2 = −1/22a2 = 1/3
de donde resultaa2 =
1
6, a1 = −1, a0 =
11
6.
El polinomio interpolador es, por lo tanto,
P2(x) =11
6− x+ x
2
6.
Vemos que, efectivamente, el polinomio obtenido cumple las condiciones deinterpolación (5). ¤
6.2 Intervalo de interpolación
El intervalo de interpolación es el menor intervalo que contiene los nodos xj ,lo representamos por hx0, x1, . . . , xni = [minxj ,maxxj ]. Si los nodos estánordenados de forma creciente, x0 < x1 < · · · < xn, entonces el intervalo deinterpolación es [x0, xn].El siguiente gráfico muestra la representación conjunta de la función
f(x) = 1/x
y el polinomio interpolador P2(x) calculado en el Ejemplo 6.1
P2(x) =11
6− x+ x
2
6.
f(x)=1/xf(x)=11/6-x+x^2
-1 -0.5 0.5 1 1.5 2 2.5 3 3.5 4 4.5
-3
-2
-1
1
2
3
4
x
y
funcióninterpolador
Intervalo de interpolación
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 11
Observamos que:
• El polinomio interpolador coincide con la función en los puntos deinterpolación (xj , f(xj)).
• El polinomio interpolador es un buen aproximante de la función cuan-do x pertenece al intervalo de interpolación.
• Fuera del intervalo de interpolación, el error |en(x)| = |f(x)− Pn(x)|aumenta rápidamente.
7 Forma de Lagrange para el polinomio interpola-dor
Consideremos la tabla
x x0 x1 · · · xny y0 y1 · · · yn
donde los nodos xj son distintos. Sabemos que existe un único polinomioPn(x) de grado ≤ n que interpola la tabla. Hemos visto que podemos deter-minar Pn(x) resolviendo un sistema de ecuaciones. La forma de Lagrangepermite obtener el polinomio interpolador de forma directa
Pn(x) = l0(x) y0 + l1(x) y1 + · · ·+ ln(x) yn.
Los polinomios lj(x) se denominan polinomios componentes y se caracterizanpor las propiedades
lj(xk) = δjk =
⎧⎨⎩1 si j = k
0 si j 6= k, j, k = 0, 1, . . . , n.
Es decir, el polinomio componente lj(x) vale 1 en su nodo xj y se anula enlos restantes.Como lj(x) se anula para
x0, x1, . . . , xj−1, xj+1, . . . , xn,
y es de grado ≤ n, lj(x) debe ser de la forma
lj(x) = C (x− x0) (x− x1) · · · (x− xj−1) (x− xj+1) · · · (x− xn) ,
para cumplir lj(xj) = 1, debe ser
C =1
(xj − x0) (xj − x1) · · · (xj − xj−1) (xj − xj+1) (xj − xn),
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 12
por lo tanto
lj(x) =(x− x0) (x− x1) · · · (x− xj−1) (x− xj+1) · · · (x− xn)(xj − x0) (xj − x1) · · · (xj − xj−1) (xj − xj+1) (xj − xn)
.
Ejemplo 7.1 Polinomio interpolador para 3 nodos.
Consideremos la tablax x0 x1 x2y y0 y1 y2
Los polinomios componentes son
∗x0 x1 x2
⇒ l0(x) =(x− x1) (x− x2)(x0 − x1) (x0 − x2)
,
∗x0 x1 x2
⇒ l1(x) =(x− x0) (x− x2)(x1 − x0) (x1 − x2)
,
∗x0 x1 x2
⇒ l2(x) =(x− x0) (x− x1)(x2 − x0) (x2 − x1)
.
Observamos que los polinomios componentes cumplen:⎧⎨⎩l0(x0) = 1,l0(x1) = 0,l0(x2) = 0,
⎧⎨⎩l1(x0) = 0,l1(x1) = 1,l1(x2) = 0,
⎧⎨⎩l2(x0) = 0,l2(x1) = 0,l2(x2) = 1.
El polinomio interpolador es, entonces
P2(x) = l0(x) y0 + l1(x) y1 + l2(x) y2.
Vemos que P2(x) es de grado ≤ 2, además toma los valores adecuados
P2(x0) = l0(x0) y0 + l1(x0) y1 + l2(x0) y2 = y0,
P2(x1) = l0(x1) y0 + l1(x1) y1 + l2(x1) y2 = y1,
P2(x2) = l0(x2) y0 + l1(x2) y1 + l2(x2) y2 = y2. ¤
Ejemplo 7.2 Determina el polinomio interpolador de la tabla
x 1 2 3
y 1 1/2 1/3.
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 13
Los polinomios componentes son
∗x0 = 1 x1 = 2 x2 = 3
⇒ l0(x) =(x− 2) (x− 3)(1− 2) (1− 3) =
1
2(x− 2) (x− 3) ,
∗x0 = 1 x1 = 2 x2 = 3
⇒ l1(x) =(x− 1) (x− 3)(2− 1) (2− 3) = − (x− 1) (x− 3) ,
∗x0 = 1 x1 = 2 x2 = 3
⇒ l2(x) =(x− 1) (x− 2)(3− 1) (3− 2) =
1
2(x− 1) (x− 2) .
El polinomio interpolador es
P2(x) = l0(x) · 1 + l1(x) ·1
2+ l2(x)
1
3,
P2(x) =1
2(x− 2) (x− 3)− 1
2(x− 1) (x− 3) + 1
6(x− 1) (x− 2) . (6)
La tabla de valores es la misma que la del Ejemplo 6.1, si operamos en (6),resulta
P2(x) =1
6x2 − x+ 11
6que coincide con el obtenido mediante la resolución de un sistema de ecua-ciones. ¤
8 Error de interpolación
Sean:
• (n+ 1) nodos distintos x0, x1, . . . , xn,
• [a, b] = hx0, x1, . . . , xni (el menor intervalo que contiene los nodos),
• f(x) función de clase Cn+1[a, b],
• Pn(x) el polinomio interpolador de f(x) en los nodos x0, x1, . . . , xn.
Para cada x ∈ [a, b], el error de interpolación admite la siguiente expresión
en(x) = f(x)− Pn(x) =f (n+1)(t)
(n+ 1)!(x− x0) · · · (x− xn), t ∈ [a, b].
Si Mn+1 es una cota superior para¯f (n+1)(t)
¯, esto es,
maxt∈[a,b]
¯f (n+1)(t)
¯≤Mn+1,
entonces, obtenemos la siguiente cota superior para el error de interpolación
|en(x)| = |f(x)− Pn(x)| ≤Mn+1
(n+ 1)!|(x− x0) · · · (x− xn)| .
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 14
Ejemplo 8.1 A partir de los datos
e0 = 1,
e0.1 = 1.105171,
e0.2 = 1.221403.
(a) Aproxima el valor de e0.14.(b) Determina una cota superior del error de interpolación.(c) Compara con el valor de la calculadora.
(a) Cálculo de la aproximación. Los polinomios componentes son
∗x0 = 0 x1 = 0.1 x2 = 0.2
⇒ l0(x) =(x− 0.1) (x− 0.2)(0− 0.1) (0− 0.2) ,
l0(x) =1
0.02(x− 0.1) (x− 0.2) .
∗x0 = 0 x1 = 0.1 x2 = 0.2
⇒ l1(x) =x (x− 0.2)
(0.1− 0) (0.1− 0.2) ,
l1(x) =−10.01
x (x− 0.2) .
∗x0 = 0 x1 = 0.1 x2 = 0.2
⇒ l2(x) =x (x− 0.1)
(0.2− 0) (0.2− 0.1) ,
l2(x) =1
0.02x (x− 0.1) .
Polinomio interpolador
P2(x) = l0(x) y0 + l1(x) y1 + l2(x) y2.
Para calcular P2(0.14), sustituimos en los polinomios componentes
l0(0.14) =1
0.02(0.14− 0.1) (0.14− 0.2) = (0.04) (−0.06)
0.02= −0.12,
l1(0.14) =−10.01
(0.14) (0.14− 0.2) = − (0.14) (−0.06)0.01
= 0.84,
l2(0.14) =1
0.02(0.14) (0.14− 0.1) = (0.14) (0.04)
0.02= 0.28,
finalmente
P2(0.14) = l0(0.14) y0 + l1(0.14) y1 + l2(0.14) y2
= (−0.12) · 1 + 0.84× 1.105171 + 0.28× 1.221403= 1. 150336.
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 15
(b) Cota superior de error. En nuestro caso, el intervalo de interpolación es[0, 0.2], tenemos
|e2(x)| ≤M3
3!|(x− x0) (x− x1) (x− x2)|
conM3 = max
t∈[0,0.2]
¯f (3)(t)
¯= maxt∈[0,0.2]
¯et¯= e0.2 = 1.221403,
por lo tanto
e2(0.14) ≤1.221403
3!|(0.14− 0) (0.14− 0.1) (0.14− 0.2)|
≤ 0.6 83986× 10−4 = 0.06 83986× 10−3.
Vemos que la aproximación tiene al menos 3 decimales exactos, el resultadoes
e0.14 = 1. 150.
(c) Comparación con el valor de la calculadora. El error exacto (con 6decimales) es
|e2(0.14)| =¯e0.14 − P2(0.14)
¯= |1. 150273− 1. 150336|
= 0. 63× 10−4,
vemos que, efectivamente, el error real es inferior a la cota de error calculada.¤
9 Forma de Newton para el polinomio interpola-dor
9.1 Diferencias divididas
Dada la tabla de valores
x x0 x1 x2 x3 x4y y0 y1 y2 y3 y4
formamos la tabla de diferencias divididas:
x0 f [x0]x1 f [x1] f [x0, x1]x2 f [x2] f [x1, x2] f [x0, x1, x2]x3 f [x3] f [x2, x3] f [x1, x2, x3] f [x0, x1, x2, x3]
x4 f [x4] f [x3, x4] f [x2, x3, x4] f [x1, x2, x3, x4] f [x0, x1, x2, x3, x4]
Las diferencias divididas se calculan de forma recurrente como sigue:
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 16
f [xj ] = f(xj) = yj ,
f [xi, xi+1, · · · , xj−1, xj ] =f [xi+1, · · · , xj−1, xj ]− f [xi, xi+1, · · · , xj−1]
xj − xi.
Ejemplo 9.1 Diferencias divididas
f [x0, x1] =f [x1]− f [x0]x1 − x0
,
f [x1, x2] =f [x2]− f [x1]x2 − x1
,
f [x0, x1, x2] =f [x1, x2]− f [x0, x1]
x2 − x0,
f [x1, x2, x3, x4] =f [x2, x3, x4]− f [x1, x2, x3]
x4 − x1. ¤
Ejemplo 9.2 Diferencias divididas para la tabla
x 0 1 3
y 1 3 −1
x0 = 0 f [x0]= 1
x1 = 1 f [x1] = 3 f [x0, x1]=3−11−0 = 2
x2 = 3 f [x2] = −1 f [x1, x2]=−1−33−1 = −2 f [x0, x1, x2]=
−2−23−0 =
−43
9.2 Interpolador de Newton
Dada la tabla de valores
x x0 x1 x2 x3 x4y y0 y1 y2 y3 y4
tenemos los siguientes polinomios interpoladores
• Un nodox x0y y0
P0(x) = f [x0].
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 17
• Dos nodosx x0 x1y y0 y1
P1(x) = f [x0] + f [x0, x1] (x− x0).
• Tres nodosx x0 x1 x2y y0 y1 y2
P2(x) = f [x0] + f [x0, x1] (x− x0) + f [x0, x1, x2] (x− x0)(x− x1).
• Cuatro nodosx x0 x1 x2 x3y y0 y1 y2 y3
P3(x) = f [x0] + f [x0, x1] (x− x0) + f [x0, x1, x2] (x− x0)(x− x1)+f [x0, x1, x2, x3] (x− x0)(x− x1)(x− x2).
• Cinco nodosx x0 x1 x2 x3 x4y y0 y1 y2 y3 y4
P4(x) = f [x0] + f [x0, x1] (x− x0) + f [x0, x1, x2] (x− x0)(x− x1)+f [x0, x1, x2, x3] (x− x0)(x− x1)(x− x2)+f [x0, x1, x2, x3, x4] (x− x0)(x− x1)(x− x2)(x− x3).
Ejemplo 9.3 Calcula el polinomio interpolador de la tabla
x 0 1 3
y 1 3 −1 .
Hemos obtenido la tabla de diferencias divididas
x0 = 0 f [x0]= 1
x1 = 1 f [x1]= 3 f [x0, x1] = 2
x2 = 3 f [x2]= −1 f [x1, x2] = −2 f [x0, x1, x2] =−43
El interpolador es
P2(x) = f [x0] + f [x0, x1] (x− x0) + f [x0, x1, x2] (x− x0)(x− x1)
en nuestro casoP2(x) = 1 + 2x+
−43x (x− 1).
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 18
El polinomio P2(x) es de grado 2. En los nodos xj toma los valores
P2(0) = 1,
P2(1) = 1 + 2 = 3,
P2(3) = 1 + 6− 43· 6 = 7− 8 = −1.
Se trata, por lo tanto, del polinomio interpolador. ¤
Ejemplo 9.4 Calcula el polinomio interpolador de la tabla
x 0 1 −1y 0 0 2
La tabla de diferencias divididas es
x0 = 0 f [x0] = 0x1 = 1 f [x1] = 0 f [x0, x1] = 0
x2 = −1 f [x2] = 2 f [x1, x2] = −1 f [x0, x1, x2] = 1
El interpolador es
P2(x) = f [x0] + f [x0, x1] (x− x0) + f [x0, x1, x2] (x− x0)(x− x1),
en nuestro casoP2(x) = x (x− 1). ¤
10 Interpolación de Hermite
10.1 Presentación del problema
Dada la tabla de datos
x x0 x1 · · · xny y0 y1 · · · yny0 y00 y01 · · · y0n
se pretende determinar un polinomio de grado ≤ 2n+ 1
H2n+1(x) = a0 + a1x+ · · ·+ a2n+1x2n+1
que cumpla las 2n+ 2 condiciones½H2n+1(xj) = yjH 02n+1(xj) = y
0j
para j = 0, 1, . . . , n.
Propiedad. Si los nodos x0, x1, . . . , xn, son distintos, entonces el polinomiointerpolador de Hermite H2n+1(x) existe y es único, para cualquier elecciónde los valores yj y y0j .
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 19
Ejemplo 10.1 Calcula el polinomio interpolador de Hermite para la tabla
x 0 1
y 1 3
y0 1 −1.
Se trata de un polinomio de grado ≤ 3
H3(x) = a0 + a1x+ a2x2 + a3x
3. (7)
Las condiciones de interpolación son⎧⎪⎪⎨⎪⎪⎩H3(0) = 1,H 03(0) = 1,
H3(1) = 3,H 03(1) = −1.
(8)
Calculamos H 03(x)
H 03(x) = a1 + 2a2x+ 3a3x
2, (9)
sustituyendo en (7) y (9), resulta⎧⎪⎪⎨⎪⎪⎩a0 = 1,a1 = 1,a0 + a1 + a2 + a3 = 3,a1 + 2a2 + 3a3 = −1,
⇒
⎧⎪⎪⎨⎪⎪⎩a0 = 1,a1 = 1,a2 + a3 = 1,2a2 + 3a3 = −2,
⇒
⎧⎪⎪⎨⎪⎪⎩a0 = 1,a1 = 1,a2 = 5,a3 = −4.
El polinomio interpolador es, por lo tanto,
H3(x) = 1 + x+ 5x2 − 4x3.
Vemos que H3(x) cumple
H3(0) = 1, H3(1) = 3,
si calculamos la derivada
H 03(x) = 1 + 10x− 12x2,
y sustituimos en x0 = 0 y x1 = 1, resulta
H 03(0) = 1, H 0
3(1) = −1.
Por lo tanto, H3(x) cumple las condiciones (8). ¤
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 20
10.2 Cálculo del polinomio de Hermite usando diferenciasdivididas
Podemos calcular el polinomio de Hermite usando un procedimiento muyparecido al empleado para construir la forma de Newton del polinomio in-terpolador de Lagrange.
x0 f [x0]x0 f [x0] f [x0, x0]x1 f [x1] f [x0, x1] f [x0, x0, x1]x1 f [x1] f [x1, x1] f [x0, x1, x1] f [x0, x0, x1, x1]x2 f [x2] f [x1, x2] f [x1, x1, x2] f [x0, x1, x1, x2] f [x0, x0, x1, x1, x2]x2 f [x2] f [x2, x2] f [x1, x2, x2] f [x1, x1, x2, x2] f [x0, x1, x1, x2, x2]
La diferencia es que ahora hay nodos xj repetidos, las diferencias f [xj , xj ]se definen como
f [xj , xj ] = f0(xj) = y
0j .
Los polinomios de Hermite H1(x), H2(x), H2(x), tienen la siguiente forma:
• Un nodo. Tabla de datosx x0y y0y0 y00
Tabla de diferencias
x0 f [x0]x0 f [x0] f [x0, x0]
InterpoladorH1(x) = f [x0] + f [x0, x0] (x− x0).
Observa que en este caso, se obtiene la recta tangente en x = x0.
• Dos nodos. Tabla de datosx x0 x1y y0 y1y0 y00 y01
Tabla de diferencias
x0 f [x0]x0 f [x0] f [x0, x0]x1 f [x1] f [x0, x1] f [x0, x0, x1]x1 f [x1] f [x1, x1] f [x0, x1, x1] f [x0, x0, x1, x1]
Interpolador
H3(x) = f [x0] + f [x0, x0] (x− x0) + f [x0, x0, x1] (x− x0)2 ++f [x0, x0, x1, x1] (x− x0)2 (x− x1) .
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 21
• Tres nodos. Los datos son
x x0 x1 x2y y0 y1 y2y0 y00 y01 y02
y el polinomio interpolador tiene la forma
H5(x) = f [x0] + f [x0, x0] (x− x0) + f [x0, x0, x1] (x− x0)2 ++f [x0, x0, x1, x1] (x− x0)2 (x− x1) ++f [x0, x0, x1, x1, x2] (x− x0)2 (x− x1)2 ++f [x0, x0, x1, x1, x2, x2] (x− x0)2 (x− x1)2 (x− x2).
Ejemplo 10.2 Calcula el polinomio interpolador de la tabla
x 0 1
y 1 3
y0 1 −1
Los datos iniciales en la tabla de diferencias divididas son
x0 = 0 f [x0] = 1x0 = 0 f [x0] = 1 f [x0, x0] = 1x1 = 1 f [x1] = 3 f [x0, x1] f [x0, x0, x1]x1 = 1 f [x1] = 3 f [x1, x1] = −1 f [x0, x1, x1] f [x0, x0, x1, x1]
A partir de ahí, obtenemos
x0 = 0 f [x0] = 1x0 = 0 f [x0] = 1 f [x0, x0] = 1x1 = 1 f [x1] = 3 f [x0, x1] = 2 f [x0, x0, x1] = 1x1 = 1 f [x1] = 3 f [x1, x1] = −1 f [x0, x1, x1] = −3 f [x0, x0, x1, x1] = −4
Por lo tanto, el interpolador es
H3(x) = f [x0] + f [x0, x0] (x− x0) + f [x0, x0, x1] (x− x0)2 ++f [x0, x0, x1, x1] (x− x0)2 (x− x1) .
H3(x) = 1 + x+ x2 − 4x2 (x− 1) .
Si operamos, resulta
H3(x) = 1 + x+ 5x2 − 4x3.
que coincide con el obtenido en el Ejemplo 10.1. ¤
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 22
10.3 Error del polinomio de Hermite
Sean:
• (n+ 1) nodos distintos x0, x1, . . . , xn.
• [a, b] = hx0, x1, . . . , xni (el menor intervalo que contiene los nodos).
• f función de clase C2n+2[a, b].
• H2n+1(x) el polinomio interpolador de Hermite para f(x) en los nodosx0, x1, . . . , xn.
Para cada x ∈ [a, b], el error de interpolación admite la siguiente expresión
|e2n+1(x)| = |f(x)−H2n+1(x)| =¯¯f (2n+2)(t)(2n+ 2)!
(x− x0)2 · · · (x− xn)2¯¯ , t ∈ [a, b]
Si M2n+2 es una cota superior para¯f (2n+2)(t)
¯, esto es
maxt∈[a,b]
¯f (2n+2)(t)
¯≤M2n+2,
obtenemos la siguiente cota superior para el error de interpolación
|e2n+1(x)| = |f(x)−H2n+1(x)| ≤M2n+2
(2n+ 2)!(x− x0)2 · · · (x− xn)2.
Ejemplo 10.3 Calcula el polinomio de Hermite que interpola la funciónsin(x) en x0 = 0 y x1 = π/4. Aproxima el valor de sin(0.5), calcula una cotasuperior de error.
Tenemosf(x) = sin(x), f 0(x) = cos(x),
f(0) = 0, f 0(0) = 1,
f(π
4) =
1√2= 0. 70710 678, f 0(
π
4) = 0.70710 678.
La tabla de datos es
x x0 = 0 x1 = 0. 78539 816
y 0 0.70710 678
y0 1 0.70710 678
la tabla de diferencias inicial es
x0 = 0 f [x0] = 0x0 = 0 f [x0] = 0 f [x0, x0] = 1.
x1 = 0. 78539 816 f [x1] = 0.70710 678 f [x0, x1]x1 = 0. 78539 816 f [x1] = 0.70710 678 f [x1, x1] = 0.70710 678
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 23
de donde obtenemos
f [x0, x0] = 1.f [x0, x1] = 0. 90031 632 f [x0, x0, x1] = −0. 12692 12f [x1, x1] = 0.70710 678 f [x0, x1, x1] = −0. 24600 203 f [x0, x0, x1, x1] = −0. 15161 842
El cálculo detallado de algunas diferencias divididas es como sigue
f [x0, x1] =f [x1]− f [x0]x1 − x0
=0.70710 678
0. 78539 816= 0. 90031 632
f [x0, x0, x1] =f [x0, x1]− f [x0, x0]
x1 − x0=0. 90031 632− 1.0. 78539 816
= −0. 12692 12
f [x0, x1, x1] =f [x1, x1]− f [x0, x1]
x1 − x0=0.70710 678− 0. 90031 632
0. 78539 816= −0. 24600 203
Los valores relevantes para construir H3(x) son
f [x0] = 0, f [x0, x0] = 1,
f [x0, x0, x1] = −0. 12692 12, f [x0, x0, x1, x1] = −0. 15161 842.
El polinomio interpolador tiene la forma
H3(x) = f [x0] + f [x0, x0] (x− x0) + f [x0, x0, x1] (x− x0)2 ++f [x0, x0, x1, x1] (x− x0)2 (x− x1) .
es, por lo tanto
H3(x) = x− 0. 12692 12x2 − 0. 15161 842x2(x− 0. 78539 816).
El valor aproximado para x = 0.5 es
H3(0.5) = 0.47908 76. (10)
Cota de error. Tenemos
|e3(x)| = |f(x)−H3(x)| ≤M4
4!(x− x0)2(x− x1)2.
El intervalo de interpolación es [0,π/4]. En nuestro caso f (4)(x) = sin(x)por lo tanto
M4 = maxt∈[0,π/4]
¯f (4)(t)
¯= sin(π/4) =
1√2,
de donde resulta la cota de error
|e3(0.5)| ≤
³1√2
´24
(0.5)2 (0.5− π/4)2 = 0.59995× 10−3.
Resumen y ejemplos Tema 2: Aproximación e Interpolación. 24
A la vista de la cota de error, sólo podemos asegurar 2 decimales exactosen la aproximación, el valor que debemos tomar como resultado se obtieneredondeando (10) a 2 decimales
sin(0.5) = 0.48.
Error exacto. El valor de sin(0.5) es
sin(0.5) = 0. 47942 554,
error real es
|e3(0.5)| = |sin(0.5)−H3(0.5)| = 0.33794× 10−3. ¤