Interpolación Polinomica 2
Interpolación Polinomica 2
Interpolación Polinomica 2
Interpolación polinómica
Otro problema estrechamente ligado con el de la interpolación es la aproximación de una función complicada
por una más simple. Si tenemos una función cuyo cálculo resulta costoso, podemos partir de un cierto número
de sus valores e interpolar dichos datos construyendo una función más simple. En general, por supuesto, no
obtendremos los mismos valores evaluando la función obtenida que si evaluamos la función original, si bien
dependiendo de las características del problema y del método de interpolación usado la ganancia en eficiencia
puede compensar el error cometido.
Formalmente, el problema de interpolación consiste en que si conocemos los 𝑁 + 1 puntos:
(𝑥0 , 𝑦0 ), (𝑥1 , 𝑦1 ), … , (𝑥𝑛 , 𝑦𝑛 )
de una función 𝑓(𝑥), donde las abscisas 𝑥𝑘 , se distribuyen en un intervalo [𝑎, 𝑏] de tal manera que
𝑎 ≤ 𝑥0 < 𝑥1 < ⋯ < 𝑥𝑁 ≤ 𝑏 e 𝑦𝑘 = 𝑓(𝑥𝑘 ), 𝑘 = 0,1,2, … , 𝑁
se debe construir una función 𝐹 que los represente y permita calcular 𝑓(𝑥𝑘 ) = 𝐹(𝑥𝑘 ) o 𝑓(𝑥𝑘 ) ≈ 𝐹(𝑥𝑘 )
Si los valores (𝑥𝑘 , 𝑦𝑘 ) tienen un alto grado de precisión, entonces podemos considerar un polinomio 𝑦 = 𝑃(𝑥)
que pase por todos ellos; pero si el error en los valores (𝑥𝑘 , 𝑦𝑘 ) es significativo, entonces es conveniente usar
métodos de regresión. En las imágenes 1 y 2, anexas se muestran los dos casos de interpolación.
8 8
Imagen 1: Interpolación polinómica de ∫1 𝑓(𝑥) 𝑑𝑥 = ∫1 sin (x)ln (𝑥) dx. Imagen 2: Función de regresión 𝑦̂ =
𝑏0 + 𝑏1 𝑋
El polinomio 𝑃(𝑥) y la función de regresión, 𝑦,
̂ pueden luego usarse para interpolar a 𝑓(𝑥) en todo el intervalo
[𝑎, 𝑏] ó estimar un valor 𝑦𝑘 asociado con un valor 𝑥𝑘 , del rango de valores factibles en el experimento.
Los polinomios de interpolación también se utilizan para diseñar algoritmos de aproximación de funciones, para
derivar e integrar numéricamente y para dibujar, mediante un computador, curvas que deben pasar por puntos
especificados de antemano.
Teorema de aproximación de Weierstrass: Para cualquier 𝜖 > 0 y para cualquier función 𝑓 continua sobre
un intervalo [𝑎, 𝑏], existe un polinomio de coeficientes reales, 𝑃, tal que
Este resultado que afirma que las funciones reales continuas, definidas en un intervalo cerrado pueden ser
aproximadas tanto como se quiera por un polinomio. Es decir, los polinomios de coeficientes reales son densos
en el conjunto de las funciones continuas sobre un intervalo cerrado.
Los 𝐿𝑁,𝑘 (𝑥) son los polinomios de Lagrange, que se construyen de la forma siguiente:
𝑁
𝑥 − 𝑥𝑗 (𝑥 − 𝑥0 )(𝑥 − 𝑥1 ). . . (𝑥 − 𝑥𝑘−1 )(𝑥 − 𝑥𝑘+1 ). . . (𝑥 − 𝑥𝑁 )
𝐿𝑁,𝑘 (𝑥): = ∏ =
𝑥𝑘 − 𝑥𝑗 (𝑥𝑘 − 𝑥0 )(𝑥𝑘 − 𝑥1 ). . . (𝑥𝑘 − 𝑥𝑘−1 )(𝑥𝑘 − 𝑥𝑘+1 ). . . (𝑥𝑘 − 𝑥𝑁 )
𝑗=0,𝑗≠𝑘
Ejemplo 1. Ajuste un polinomio de interpolación de Lagrange de segundo grado para estimar 𝑙𝑜𝑔10 (10) = 1,
teniendo en cuenta que, 𝑙𝑜𝑔10 (8) = 0.9030900, 𝑙𝑜𝑔10 (9) = 0.9542425, 𝑙𝑜𝑔10 (11) = 1.0413927
Solución: 𝑓 definida por 𝑓(𝑥) = 𝑙𝑜𝑔10 (𝑥), es 𝑓 ∈ 𝐶 3 [8,11] y 𝑥0 = 8, 𝑥1 = 9, 𝑥2 = 11, entonces 𝑓(𝑥) =
𝑃2 (𝑥) + 𝐸2 (𝑥), donde 𝑃2 (𝑥) es un polinomio que podemos usar para aproximar 𝑓(𝑥), así
𝑓(𝑥) ≈ 𝑃2 (𝑥) = ∑ 𝑓(𝑥𝑘 ) ∗ 𝐿2,𝑘 (𝑥) = 𝑓(𝑥0 ) ∗ 𝐿2,0 (𝑥) + 𝑓(𝑥1 ) ∗ 𝐿2,1 (𝑥) + 𝑓(𝑥2 ) ∗ 𝐿2,2 (𝑥)
𝑘=0
𝑓(𝑥) ≈ 𝑃2 (𝑥) = 𝑙𝑜𝑔10 (8) ∗ 𝐿2,0 (𝑥) + 𝑙𝑜𝑔10 (9) ∗ 𝐿2,1 (𝑥) + 𝑙𝑜𝑔10 (11) ∗ 𝐿2,2 (𝑥)
donde los 𝐿2,𝑘 (𝑥) son los coeficiente polinomios de Lagrange, y son los siguientes:
Entonces:
𝑙𝑜𝑔10 (8) ∗ 𝐿2,0 (𝑥) = 0.9030900(0.3333333𝑥 2 − 6.6666667𝑥 + 33) = 0.30103𝑥 2 − 6.0206𝑥 + 29.80197
𝑙𝑜𝑔10 (9) ∗ 𝐿2,1 (𝑥) = 0.9542425(−0.5𝑥 2 + 9.5𝑥 − 44) = −0.4771212𝑥 2 + 9.0653037𝑥 − 41.98667
𝑙𝑜𝑔10 (11) ∗ 𝐿2,2 (𝑥) = 1.0413927(0.16666667𝑥 2 − 2.8333333𝑥 + 12)
= 0.1735655𝑥 2 − 2.9506126𝑥 + 12.496712
Una cota para el error 𝐸2 (𝑥), se puede calcular del modo siguiente:
(𝑥 − 8)(𝑥 − 9)(𝑥 − 11) 3 𝑙𝑜𝑔10 (𝑒)
𝐸2 (𝑥) = 𝑓 (𝑐), 𝑐 = 𝑐(𝑥), 𝑥 ∈ [8,11], 𝑓 3 (𝑥) = −2
3! 𝑥3
(𝑒) (10−8)(10−9)(10−11)
Haciendo 𝑥 = 8, |𝑓 3 (8)| = | − 2 𝑙𝑜𝑔8103 | = 0.0016965, 𝐸2 (10) ≤ |
3!
𝑓 3 (8)| = 0.0005655 ←Cota
para el error, en 𝑥 = 10
Note que el valor correcto es 1 y el error absoluto es |1 − 𝑃2 (10)| = |1 − 1.000353| = 0.000353 < 0.0005655
En la imagen 1, se muestran las grafica de la función 𝑓(𝑥) = 𝑙𝑜𝑔10 (𝑥), su polinomio de interpolación 𝑃2 (𝑥) y
el punto interpolado.
Imagen 1. Gráfica de la función 𝑓(𝑥) = 𝑙𝑜𝑔10 (𝑥) y el polinomio 𝑃2 (𝑥), en [8, 11]
11
Ejemplo 2: Aproxime el valor de la integral ∫8 𝑙𝑜𝑔10 (𝑥) 𝑑𝑥, mediante el uso de un polinomio en la forma de
Lagrange, 𝑃2 (𝑥).
Solución:
11 11 11
∫ 𝑙𝑜𝑔10 (𝑥) 𝑑𝑥 ≈ ∫ 𝑃2 (𝑥) 𝑑𝑥 = ∫ (−0.0025257𝑥 2 + 0.0940911𝑥 + 0.312012) 𝑑𝑥
8 8 8
11
∫ 𝑙𝑜𝑔10 (𝑥) 𝑑𝑥 ≈ −0.0008419𝑥 3 + 0.04704555𝑥 2 + 0.312012𝑥 |11
8 = 8.00407465 − 5.0759584
8
11
→ ∫ 𝑙𝑜𝑔10 (𝑥) 𝑑𝑥 ≈ 2.92811625
8
La solución exacta es 11 1
∫8 𝑙𝑜𝑔10 (𝑥) 𝑑𝑥 = ln(10) 𝑥(ln(𝑥) − 1)|11
8 = 2.92771619509
Las diferencias divididas de la fórmula (1), se pueden calcular con una tabla de diferencias divididas como la que
se muestra a continuación, para 𝑁 = 4.
Tabla de diferencias divididas de Newtón de orden N=4
xk f[xk] f[xk-1,xk] f[xk-2,xk-1,xk] f[xk-3,xk-2,xk-1,xk] f[xk-4, xk-3, xk-2, xk-1, xk]
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]
Los coeficientes 𝑎𝑘 del polinomio 𝑃𝑁 (𝑥) dependen de los valores de 𝑓(𝑥𝑗 ), con 𝑗 = 0, 1, … , 𝑘. El siguiente
teorema establece que 𝑃𝑁 (𝑥) puede construirse usando las diferencias divididas, 𝑎𝑘 = [𝑥0 , 𝑥1 , … , 𝑥𝑘 ].
Teorema 2: Polinomio interpolador de Newton: supongamos que 𝑥0 , 𝑥1 , … , 𝑥𝑁 son 𝑁 + 1 números distintos en
[𝑎, 𝑏]. Entonces existe un único polinomio 𝑃𝑁 (𝑥) de grado menor o igual a 𝑁 tal que
𝑓(𝑥𝑗 ) = 𝑃𝑁 (𝑥𝑗 ) para 𝑗 = 0,1, … , 𝑁.
La forma de Newton de este polinomio interpolador es:
𝑃𝑁 (𝑥) = 𝑎0 + 𝑎1 (𝑥 − 𝑥0 ) + ⋯ + 𝑎𝑁 (𝑥 − 𝑥0 )(𝑥 − 𝑥1 ) … (𝑥 − 𝑥𝑁−1 )
Siendo 𝑎𝑘 = 𝑓[𝑥0 , 𝑥1 , … , 𝑥𝑘 ] para 𝑘 = 0, 1, … , 𝑁
Error de aproximación de Newton: supongamos que 𝑃𝑁 (𝑥) es el polinomio interpolador de Newton dado en
el teorema 2 y que lo usamos para aproximar la función𝑓(𝑥), esto es,
𝑓(𝑥) = 𝑃𝑁 (𝑥) + 𝐸𝑁 (𝑥)
Si 𝑓 ∈ 𝐶 [𝑎, 𝑏], entonces para cada 𝑥 ∈ [𝑎, 𝑏] existe un número 𝑐 = 𝑐(𝑥) en (𝑎, 𝑏), tal que el término del
𝑁+1
Gráfica: x=8:0.01:11;y=log10(x);y1=0.9030900+0.0511525*(x-8)-0.0025258*(x-8).*(x-9);plot(x,y,'r',x,y1);
xlabel('x');ylabel('y=log10(x)'); title('y=log10(x) Interpolada con P2(x)');
e. Cota para el error: como 𝑓(𝑥) = 𝑙𝑜𝑔10 (𝑥) ∈ 𝐶 3 [8,11], entonces para cada 𝑥 ∈ [8,11] existe un número
𝑐 = 𝑐(𝑥) en (𝑎, 𝑏), tal que el término del error puede escribirse como
(𝑥 − 8)(𝑥 − 9)(𝑥 − 11) (3) 𝑙𝑜𝑔 (𝑒)
𝐸2 (𝑥) = 𝑓 (𝑐); 𝑓3 (𝑐) = 2 103
3! 𝑐
(10−8)(10−9)(10−11) 𝑙𝑜𝑔10 (𝑒)
Haciendo 𝑥 = 10, 𝑐 = 8, se obtiene 𝐸2 (𝑥 = 10) ≤ | 3!
2
83
| ≈ 0.00056548761
e. El error es 𝐸3 (10) = |𝑙𝑜𝑔10 (10) − 𝑃3 (10)| = |1 − 1.000045| = 0.0000450 < 𝐸2 (10) = 0.0003434
es decir, al introducir más puntos para la interpolación se disminuye el error.
Bibliografía
1. https://es.wikipedia.org/wiki/Interpolaci%C3%B3n
2. https://es.wikipedia.org/wiki/Interpolaci%C3%B3n_polin%C3%B3mica_de_Newton