Cálculo IV, Matemática Numérica Conferencia #4
Lic. Viviana Cruz Martı́nez. Dpto Matemática, UPR [Link]@[Link]
Lic. Dayron Viera Quintero. Dpto Matemática, UPR d.viera1997@[Link]
Aproximación de funciones. Interpolación Polinomial.
Sumario:
* Introducción.
* El Problema.
* Interpolación Lineal.
* Interpolación Polinomial.
* Método de Lagrange para Interpolación.
* Método de Newton para Interpolación.
* Error de Aproximación del Polinomio Interpolador.
Bibliografı́a:
Manuel Álvarez, Alfredo Guerra, Rogelio Lau. Matemática Numérica, 2da Edición
Timothy Sauer, Numerical Analysis, 2012
Introducción:
El problema de aproximación funcional, trata de hallar una función g que aproxime en cierto conjunto a otra función
f.
La aproximación funcional es fundamental en la matemática aplicada, en la inmensa mayorı́a de los problemas prácticos
de la vida real se desconoce la expresión analı́tica de las funciones, por tanto es necesario buscar aproximaciones para
abordar el problema.
Ejemplo 1 Sea una función f , que cumple que f (x0 ) = y0 , f (x1 ) = y1 , ..., f (xn ) = yn
Fig 1
Obtener una función que describa el comportamiento de esta cantidad finita de puntos.
1
Este tipo de situaciones puede ser abordado por la aproximación funcional. Existen muchos métodos para aproximaar
funciones, algunos de ellos ya fueron abordados en cálculos anteriores, con la utilización del polinomio de Taylor, el
desarrollo en serie de Fourier entre otros. Dentro de la matemática numérica existe un método muy utilizado para la
aproximación funcional conocido como Interpolación.
El Problema:
Existen varios tipos de interpolación, los principales son la Interpolación Lineal, Interpolación Polinomial e Interpola-
ción mediante Splines. En esta clase solo trataremos con los dos primeros. ¿De qué se trata la interpolación?
El Problema de la Interpolación: Dada una función f y un cierto conjunto de valores f (xi ) = yi , i ∈ I un cierto
conjunto de indización, encontrar una función g tal que f (xi ) = g(xi ), ∀i ∈ I. Esto visto geométricamente es buscar
una función que pase por los puntos de la Fig 1, es decir:
Para este caso se utilizó la función g(x) = x sin x
¿Cuándo utilizar interpolación?
En el caso en que solo tenemos puntos aislados como en la Fig 1
Solo se tiene la gráfica de una función y se necesita una expresión analı́tica.
La función no es “cómoda” para trabajar.
Interpolación Lineal:
Definición 1 Dada un conjunto de nodos {x0 , x1 , ..., xn } y una función f tal que f (x0 ) = y0 , f (x1 ) = y1 ... f (xn ) = yn ,
llamaremos interpolación lineal a una función interpoladora compuesta solo de funciones lineales.
Ejemplo 2 Dado los nodos {x0 = −2, x1 = −1, x2 = 0, x3 = 1, x4 = 2} y las imágenes por cierta función y0 = 4, y1 =
1, y2 = 0, y3 = 1, y4 = 4
2
Podemos hacer una interpolación de estos puntos mediante rectas, de la siguiente manera:
con lo que obtendrı́amos la función por tramos:
−3x − 2, x ≤ −1
−x, −1 < x ≤ 0
f (x) =
x, 0<x≤1
3x − 2, 1<x
Usualmente esta función es una función por tramos, lo cual genera picos y puntos en los que no existe la derivada.
Es más útil obtener una función interpoladora que sea suave. Como podemos apreciar justo en ese ejemplo podemos
utilizar para interpolar esos puntos el polinomio p(x) = x2 . El cual al ser un polinomio es una función suave, continua
e infinitamente diferenciable.
Con este ejemplo podemos evidenciar la importancia de utilizar los polinomios apra aproximar funciones.
Interpolación Polinomial:
Llamaremos interpolación polinomial a una función de interpolación compuesta por polinomios.
El caso de la interpolación lineal es un caso particular de la interpolación polinomial por lo tanto solo trabajaremos la
interpolación polinomial.
Teorema 1 (Exitencia y Unicidad) Dado un conjunto de números reales {x0 , x1 , ..., xn }, n ∈ N y una función real
f tal que f (xi ) = yi , i = 0, 1, ..., n , n ∈ N entonces podemos afirmar que ∃! polinomio p(x) de grado menor o igual que
n tal que p(xi ) = yi , i = 0, 1, ..., n, n ∈ N.
3
Ejemplo 3 ¿Por dos puntos cuántas rectas pasan?
Sabemos que por dos nodos pasa una única recta (polinomio de grado 1) que los interpola, lo que corrobora el teorema
anterior.
Ejemplo 4 ¿Se puede asegurar que para 3 nodos podemos encontrar un polinomio de grado 1 que los interpole?
Siempre y cuando estén alineados sı́, de otra manera no.
Si tenemos n + 1 nodos, podemos concluir que:
Si m < n no podemos afirmar que exista polinomio de grado m tal que interpole a esos puntos.
Si m = n podemos afirmar que exsite un único polinomio interpolador de grado m que los interpola.
Si m > n podemos afirmar que existen infinitos polinomios de grado m que los interpola.
Teorema 2 Si f es n+1 derivable en in intervalo I donde se encuentren los nodos de interpolación xi : i = 0, 1...n, n ∈ N
y tenemos un polinomio interpolador p(x) entonces ∃c ∈ I:
f n+1 (c)
R(x) = (x − x0 )(x − x1 ) · · · (x − xn )
(n + 1)!
Donde R(x) es el error de aproximación del polinomio p(x) en el punto x.
Notemos que si encontramos una cota para f n+1 (x), f n+1 (x) ≤ M obtenemos una cota para el error:
M
|R(x)| ≤ (x − x0 )(x − x1 ) · · · (x − xn )
(n + 1)!
π π
Ejemplo 5 Dada f (x) = sin x, obtener su polinomio de interpolación para los nodos x0 = 0, x1 = , x2 = y dé una
4 2
π
cota del el error para 0 ≤ x ≤ .
2
√
π 2 π
sin 0 = 0, sin = , sin = 1
4 2 2
Utilizando el resultado del teorema al tener tres nodos podemos decir que necesitamos encontrar un polinomio de grado
menor o igual que 2. Por lo tanto planteemos el polinomio de forma general:
P (x) = ax2 + bx + c
Como este polinomio tiene que pasar por los puntos dados tiene que satisfacer:
P (0) = c = 0
π π 2 √
π 2
P =a +b =
4 4 4 2
π π 2 π
P =a +b =1
2 2 2
Luego de obtener que c es cero solo resta resolver el sistema
√ compatible determinado
√ de dos ecuaciones con dos variables
−8 + 16 2 −2 + 8 2
(a, b). Donde obtenemos como soluciones a = − y b= . Luego el polinomio obtenido es:
π2 π
√ √
−8 + 16 2 2 −2 + 8 2
P (x) = − x + x
π2 π
4
Sabemos que la derivada n + 1-ésima de la función sin x está acotada entre −1 y 1, por lo que podemos afirmar que
|f n+1 (x)| ≤ 1, luego una cota para el error de aproximación es
3π 2 π 2
1 π π 1 3
|R(x)| ≤ (x − 0) x − x− = x − x + x
3! 4 2 6 4 8
Método 1 (Lagrange para Interpolación Polinomial) Dado un esquema de puntos (xi , yi ) con i ∈ N, 0 ≤ i ≤ n,
el método consiste en encontrar un sistema de polinomios {Li : i = 0, 1, ..., n, n ∈ N} tal que:
L0 (x0 ) = 1 L0 (x1 ) = 0 L0 (x2 ) = 0 ··· L0 (xn ) = 0
L1 (x0 ) = 0 L1 (x1 ) = 1 L1 (x2 ) = 0 ··· L1 (xn ) = 0
L2 (x0 ) = 0 L2 (x1 ) = 0 L2 (x2 ) = 1 ··· L2 (xn ) = 0
.. .. .. .. ..
. . . . .
Ln (x0 ) = 0 Ln (x1 ) = 0 Ln (x2 ) = 0 · · · Ln (xn ) = 1
Luego podemos obtener una expresión para el polinomio interpolador:
n
X
P (x) = yi Li (x)
i=0
Una forma para obtener los polinomios de Lagrange para los nodos {x0 , x1 , ..., xn } es seguir el siguiente patrón:
(x − x1 )(x − x2 ) · · · (x − xn )
L0 (x) =
(x0 − x1 )(x0 − x2 ) · · · (x0 − xn )
(x − x0 )(x − x2 ) · · · (x − xn )
L1 (x) =
(x1 − x0 )(x1 − x2 ) · · · (x1 − xn )
..
.
(x − x0 )(x − x1 )(x − x2 ) · · · (x − xn−1 )
Ln (x) =
(xn − x0 )(xn − x1 )(xn − x2 ) · · · (xn − xn−1 )
Note que cumple con lo requerido para el sistema de polinomios de Lagrange.
Ejemplo 6 Dada una función f y conociendo que f (1) = 2, f (2) = 3 y f (4) = 1
a) Halle el Polinomio interpolador p(x) correspondiente a estos nodos.
Calculemos L0 (x), L1 (x) y L2 (x)
(x − x1 )(x − x2 ) (x − 2)(x − 4) 1
L0 (x) = = = (x − 2)(x − 4)
(x0 − x1 )(x0 − x2 ) (1 − 2)(1 − 4) 3
(x − x0 )(x − x2 ) (x − 1)(x − 4) 1
L1 (x) = = = − (x − 1)(x − 4)
(x1 − x0 )(x1 − x2 ) (2 − 1)(2 − 4) 2
(x − x0 )(x − x1 ) (x − 1)(x − 2) 1
L2 (x) = = = (x − 1)(x − 2)
(x2 − x0 )(x2 − x1 ) (4 − 1)(4 − 2) 6
Luego el polinomio interpolador es:
1 1 1
p(x) = 2 (x − 2)(x − 4) − 3 (x − 1)(x − 4) + (x − 1)(x − 2)
3 2 6
2 1
p(x) = − x2 + 3x −
3 3
5
5
b) Calcule aproximadamente f
2
2
5 2 5 5 1
p =− +3 − =3
2 3 2 2 3
Definición 2 (Diferencias Divididas) Dada una función f y un conjunto de nodos {x0 , x1 , .., xn } llamaremos di-
ferencia dividida de orden i:
Orden 1:
f (x1 ) − f (x0 )
f [x0 , x1 ] =
x1 − x0
Orden 2:
f [x1 , x2 ] − f [x0 , x1 ]
f [x0 , x1 , x2 ] =
x2 − x0
Orden 3:
f [x1 , x2 , x3 ] − f [x0 , x1 , x2 ]
f [x0 , x1 , x2 , x3 ] =
x3 − x0
..
.
Orden n:
f [x1 , x2 , ..., xn ] − f [x0 , x1 , ..., xn−1 ]
f [x0 , x1 , x2 , ..., xn ] =
xn − x0
Método 2 (Newton para Interpolación Polinomial) Sea f función a interpolar y {x0 , x1 , .., xn } los nodos de
interpolación y se conoce que f (xi ) = yi con i = 0, 1, .., n, n ∈ N. Obtendremos como polinomio interpolador:
p(x) = f (x0 ) + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x − 0)(x − x1 ) + · · · + f [x0 , x1 , ..., xn ](x − x0 )(x − x1 ) · · · (x − xn−1 )
Ejemplo 7 Retomando el ejemplo anterior pero ahora utilizando el método de Newton:
3−2
f [x0 , x1 ] = f [1, 2] = =1
2−1
1−3
f [x1 , x2 ] = f [2, 4] = = −1
4−2
f [x1 , x2 ] − f [x0 , x1 ] −1 − 1 2
f [x0 , x1 , x2 ] = = =−
x2 − x0 4−1 3
Luego el polinomio interpolador queda de la forma:
2 2 1
p(x) = 2 + 1(x − 1) − (x − 1)(x − 2) = − x2 + 3x −
3 3 3
Nótese que se obtuvo el mismo polinomio que con el otro método. (Como debiera ser)