Está en la página 1de 19

Cálculo y Métodos Numéricos Tema 2: Cálculo Diferencial Sección 2.

5 Interpolación polinómica

Cálculo y Métodos Numéricos


Tema 2: Cálculo Diferencial
Sección 2.5 Interpolación polinómica

Departamento de Matemáticas
Escuela Superior de Ingenierı́a Informática
UCLM, Albacete

1 / 19
Cálculo y Métodos Numéricos Tema 2: Cálculo Diferencial Sección 2.5 Interpolación polinómica

Objetivo

Se suponen conocidos los valores de una función f en los


n + 1 puntos x0 , x1 , . . . , xn :

yj = f (xj ) con j = 0, 1, 2, . . . , n

Normalmente los puntos están ordenados: x0 < x1 < . . . < xn .

Se quiere hallar un polinomio P tal que P(xj ) = yj ,


∀j = 0, 1, 2, . . . , n.

Y, además, queremos que el grado del polinomio sea el


mı́nimo posible.

2 / 19
Cálculo y Métodos Numéricos Tema 2: Cálculo Diferencial Sección 2.5 Interpolación polinómica

3 / 19
Cálculo y Métodos Numéricos Tema 2: Cálculo Diferencial Sección 2.5 Interpolación polinómica

4 / 19
Cálculo y Métodos Numéricos Tema 2: Cálculo Diferencial Sección 2.5 Interpolación polinómica

Objetivo (cont.)

Dados los n + 1 puntos en el plano

(x0 , y0 ), (x1 , y1 ), . . . , (xn , yn )

con xi 6= xj para i 6= j, ¿existe algún polinomio que pase por


todos esos puntos? La respuesta es positiva; de hecho, existen
infinitos polinomios que lo cumplen. Sin embargo, . . .
Existe un único polinomio de grado menor o igual que n
(llamado el polinomio de interpolación que pasa por los n + 1
puntos correspondientes).

5 / 19
Cálculo y Métodos Numéricos Tema 2: Cálculo Diferencial Sección 2.5 Interpolación polinómica

Existencia y unicidad

Teorema
Existe un único polinomio de grado menor o igual que n que pasa por los
n + 1 puntos (x0 , y0 ), (x1 , y1 ), . . . , (xn , yn ), con xi 6= xj if i 6= j.

El polinomio de interpolación que pasa por n + 1 puntos puede


tener grado menor que n. Por ejemplo, para los puntos (1, 1) y
(3, 1), el polinomio interpolador es P(x) = 1, que tiene grado 0.

6 / 19
Cálculo y Métodos Numéricos Tema 2: Cálculo Diferencial Sección 2.5 Interpolación polinómica

Ejemplos sencillos

Ejemplo
(Interpolación lineal: dos puntos, n = 1) El polinomio de interpolación
para (0, 3) y (1, 5) es
P(x) = 2x + 3
(una lı́nea recta).

P(x) = ax + b
P(0) = a · 0 + b = 3
P(1) = a · 1 + b = 5
a = 2, b = 3

7 / 19
Cálculo y Métodos Numéricos Tema 2: Cálculo Diferencial Sección 2.5 Interpolación polinómica

Ejemplo
(Interpolación cuadrática: tres puntos, n = 2) El polinomio de
interpolación para (0, 3), (1, 5) y (2, 3) es

P(x) = −2x 2 + 4x + 3

(una parábola).

P(x) = ax 2 + bx + c
P(0) = a · 0 + b · 0 + c = 3
P(1) = a · 1 + b · 1 + c = 5
P(2) = a · 22 + b · 2 + c = 3
a = −2, b = 4, c = 3

De forma análoga, en la interpolación cúbica se consideran cuatro


puntos.
8 / 19
Cálculo y Métodos Numéricos Tema 2: Cálculo Diferencial Sección 2.5 Interpolación polinómica

Método de Newton del polinomio de interpolación.


Diferencias divididas

Para hallar el polinomio de interpolación respecto a una función f


de la que se conocen sus valores en los puntos x0 , x1 , . . . , xn ,, la
idea es escribirlo como

P(x) = a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 ) + . . .
+an (x − x0 )(x − x1 ) . . . (x − xn−1 )

Y comprobar que los números a0 , a1 , . . . , an puede escribirse como


cocientes de diferencias que se calculan a partir de los valores
y0 , y1 , . . . , yn y x0 , x1 , . . . , xn .

9 / 19
Cálculo y Métodos Numéricos Tema 2: Cálculo Diferencial Sección 2.5 Interpolación polinómica

Ejemplo
Hallar por el método de Newton el polinomio interpolador de la
función f (x) = cos x relativo a los puntos (0, 1), (0.2, 0.9801) y
(0.4, 0.9211).
Calculamos la tabla de diferencias divididas:
xi yi
x0 = 0 1
−0.0995
x1 = 0.2 0.9801 −0.48875
−0.2950
x2 = 0.4 0.9211

y obtenemos el polinomio

P2 (x) = 1 − 0.0995x − 0.48875x(x − 0.2)

10 / 19
Cálculo y Métodos Numéricos Tema 2: Cálculo Diferencial Sección 2.5 Interpolación polinómica

Podemos obtener también con la tabla los siguientes polinomios de


interpolación :
Para x0 = 0 y x1 = 0.2: P(x) = 1 − 0.0995x
Para x1 = 0.2 y x2 = 0.4: Q(x) = 0.9801 − 0.2950(x − 0.2)
Si queremos aproximar cos(0.3) mediante estos polinomios:
Interpolación cuadrática con x0 = 0, x1 = 0.2 y x2 = 0.4.
Comprobamos que 0 < 0.3 < 0.4 (x = 0.3 debe estar en el
intervalo de extremos 0 y 0.4): con 4 cifras decimales tenemos

cos(0.3) ≈ P2 (0.3) = 1−0.0995×0.3−0.48875×0.3×(0.3−0.2) = 0.9555

Interpolación lineal con x1 = 0.2 y x2 = 0.4. Comprobamos


que 0.2 < 0.3 < 0.4:

cos(0.3) ≈ Q(0.3) = 0.9801 − 0.2950 × (0.3 − 0.2) = 0.9506

El valor real es cos(0.3) = 0.955336 . . .


11 / 19
Cálculo y Métodos Numéricos Tema 2: Cálculo Diferencial Sección 2.5 Interpolación polinómica

Ventajas del método de Newton

Existen otras posibilidades de hallar el polinomio de interpolación,


pero la forma de Newton tiene algunas ventajas:
Pueden añadirse nuevos puntos y utilizar los cálculos
anteriores.
Las operaciones necesarias para hallar el polinomio son
sencillas (restas y divisiones).
Es sencillo escribir el código que calcula el polinomio.

12 / 19
Cálculo y Métodos Numéricos Tema 2: Cálculo Diferencial Sección 2.5 Interpolación polinómica

Cota superior del error

Teorema
Sean f : [a, b] → R una función con derivada de orden n + 1 en [a, b],
x0 , x1 , . . . , xn puntos distintos de [a, b] y Pn el polinomio de interpolación
para los puntos (xi , f (xi )), i = 0, 1, . . . , n. Entonces, para cada x ∈ [a, b]
existe c ∈ (a, b) tal que

f (n+1) (c)
f (x) − Pn (x) = (x − x0 )(x − x1 ) . . . (x − xn ) .
(n + 1)!

Una cota superior del error |f (x) − Pn (x)| puede calcularse de


forma similar a como se hace en la fórmula de Taylor. Lo que
necesitamos es hallar una cota superior de |f n+1 (c)| donde c
está en un intervalo con extremos conocidos.

13 / 19
Cálculo y Métodos Numéricos Tema 2: Cálculo Diferencial Sección 2.5 Interpolación polinómica

Los errores en las aproximaciones de cos(0.3) (ejemplo anterior):


Interpolación lineal: x1 = 0.2 y x2 = 0.4. Como 0.2 < c < 0.4
tenemos
(2)
f (c)
Error = | cos(0.3) − Q(0.3)| = (0.3 − 0.2)(0.3 − 0.4) =
2!
cos(c) 2 cos(0.2) −2 0.9801 −2
= 0.1 ≤ 10 = 10 = 4.9 · 10−3
2 2 2
El error real es 4.7 · 10−3
Interpolación cuadrática: x0 = 0, x1 = 0.2, x2 = 0.4 y 0 < c < 0.4
(3)
f (c)
Error = | cos(0.3) − P2 (0.3)| = (0.3 − 0)(0.3 − 0.2)(0.3 − 0.4) =
3!
sin(c) sen(0.4) 0.3894 −3
= 0.3 · 0.12 ≤ 3 · 10−3 = 10 = 1.95 · 10−4
6 6 2
El error real es 1.6 · 10−4

14 / 19
Cálculo y Métodos Numéricos Tema 2: Cálculo Diferencial Sección 2.5 Interpolación polinómica

Ejemplo

Consideramos los siguientes valores de la función f (x) = log(x):

xi 0.8 1.0 1.2 1.4


f (xi ) -0.2231 0 0.1823 0.3365

La tabla de diferencias divididas es:


0.8 -0.2231
1.1155
1.0 0 -0.5100
0.9115 0.2646
1.2 0.1823 −0.35125
0.7710
1.4 0.3365

15 / 19
Cálculo y Métodos Numéricos Tema 2: Cálculo Diferencial Sección 2.5 Interpolación polinómica

Ejemplo
De la tabla, pueden obtenerse varios polinomios, por ejemplo:
Polinomio de interpolación lineal para x0 = 1 y x1 = 1.2:

P1 (x) = 0 + 0.9115(x − 1)

Polinomio de interpolación cuadrática para x0 = 1, x1 = 1.2,


x2 = 1.4:

P2 (x) = 0 + 0.9115(x − 1) − 0.35125(x − 1)(x − 1.2)

Polinomio de interpolación cúbica (correspondiente a los cuatro


puntos):

P3 (x) = −0.2231 + 1.1155(x − 0.8) − 0.51(x − 0.8)(x − 1)+


+0.2646(x − 0.8)(x − 1)(x − 1.2)

16 / 19
Cálculo y Métodos Numéricos Tema 2: Cálculo Diferencial Sección 2.5 Interpolación polinómica

Ejemplo

Podemos obtener varias aproximaciones de f (1.1) = log(1.1)


usando los polinomios anteriores:
Aproximación lineal: P1 (1.1) ≈ 0.09115

Aproximación cuadrática: P2 (1.1) ≈ 0.09466

Aproximación cúbica: P3 (1.1) ≈ 0.09546


Estas aproximaciones están cercanas al valor real

log(1.1) = 0.0953102 . . .

A continuación presentamos una fórmula que nos permite conocer


estimar el error cometido en la aproximación.

17 / 19
Cálculo y Métodos Numéricos Tema 2: Cálculo Diferencial Sección 2.5 Interpolación polinómica

Ejemplo

En el ejemplo anterior, consideramos la función f (x) = log(x) y algunas


aproximaciones de log(1.1). Podemos estimar ahora el error de estas
aproximaciones. Para ello, calculamos las derivadas:
1 −1 2 −6
f 0 (x) = ; f 00 (x) = ; f (3) (x) = ; f (4) (x) =
x x2 x3 x4

Caso lineal: P1 (1.1) ≈ 0.09115 se obtiene con el polinomio de


interpolación de los puntos x0 = 1 y x1 = 1.2. Ası́
(2)
0.12

f (c)
Error1 = (1.1 − 1)(1.1 − 1.2) = con 1 < c < 1.2
2! 2c 2
0.12
de donde Error1 ≤ 2 = 5 · 10−3

18 / 19
Cálculo y Métodos Numéricos Tema 2: Cálculo Diferencial Sección 2.5 Interpolación polinómica

Ejemplo

Caso cuadrático: P2 (1.1) ≈ 0.09115 se obtiene con el polinomio de


interpolación de x0 = 1, x1 = 1.2 y x2 = 1.4, de modo que

f (3) (c) 0.12 · 0.3
Error2 = (1.1 − 1)(1.1 − 1.2)(1.1 − 1.4) = con 1 < c < 1.4

3! 3c 3

0.12 ·0.3
Ası́ Error2 ≤ 3 = 10−3
Caso cúbico: P3 (1.1) ≈ 0.09546 se obtiene con el polinomio de
interpolación de los puntos x0 = 0.8, x1 = 1, x2 = 1.2 y x3 = 1.4,
luego
f (4) (c) 0.12 · 0.32


Error3 = (1.1 − 0.8)(1.1 − 1)(1.1 − 1.2)(1.1 − 1.4) = con 0.8 < c < 1.4

4! 4c 4

0.12 ·0.32
Y ası́ Error3 ≤ 4·0.84 = 5.4932 · 10−4

19 / 19

También podría gustarte