Interpolaci´on Universidad Aut´onoma de Quer´etaro Ingenier´ıa f´ısica Isaac Guill´en Castellanos 5 de mayo de 2017
Resumen La interpolaci´on es, en ciencias e ingenier´ıa, el encontrar una funci´on apropiada a partir de datos que proceden de una poblaci´on en la que se ha realizado un registro de informaciones o estudio estad´ıstico, para que cumplan determinadas condiciones que nos interesen, como que sean continuas, derivables, etc. Bas´andose en lo anterior dicho, en el presente reporte se enunciar´a algo de teor´ıa y se resolver´an algunos ejercicios resueltos con algoritmos programados.
´Indice general 1. M´ etodos Num´ ericos para la interpoalci´ on 1.1. Interpolaci´on Polinomial . . . . . . . . . . . . 1.2. Interpolaci´on de Lagrange . . . . . . . . . . . 1.3. Interpolaci´on por Trazadores . . . . . . . . . . 1.4. Problemas . . . . . . . . . . . . . . . . . . . . 1.4.1. Problema de Interpolacion de Newton . 1.4.2. Interpolaci´on de Lagrange . . . . . . . 1.4.3. Interpolaci´on por Trazadores . . . . . . 1.5. Conclusiones . . . . . . . . . . . . . . . . . . .
1
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
3 . 3 . 3 . 4 . 5 . 5 . 7 . 8 . 16
´Indice de figuras 1.1. 1.2. 1.3. 1.4. 1.5. 1.6.
Gr´aficas para el problema 3 . . . . . . . . . . . . . . Gr´afica de Splines Cuadraticos para el problema 6 . . Interpolaci´on por trazadores cubicos del problema 7 . Ilustraci´on de un patito para interpolar . . . . . . . . Ajuste para obtener el patito . . . . . . . . . . . . . . Tiempo contra velocidad para problema de aplicaci´on
2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . en cinem´atica
. . . . . .
. . . . . .
. . . . . .
. . . . . .
6 10 11 13 13 15
Cap´ıtulo 1 M´ etodos Num´ ericos para la interpoalci´ on 1.1.
Interpolaci´ on Polinomial
Con frecuencia se encontrar´a con que tiene que estimar valores intermedios entre datos definidos por puntos. El m´etodo m´as com´ un que se usa para este prop´osito es la interpolaci´on polinomial. Dados n + 1 puntos, hay uno y s´olo un polinomio de grado n que pasa a trav´es de todos los puntos. Por ejemplo, hay s´olo una l´ınea recta (es decir, un polinomio de primer grado) que une dos puntos. De manera similar, u ´nicamente una par´abola une un conjunto de tres puntos. La interpolaci´on polinomial consiste en determinar el polinomio u ´nico de n-´esimo grado que se ajuste a n + 1 puntos. Con el ejemplo del polinomio de primer grado (la recta), la ecuaci´on que aproxima un punto en la recta unida por puntos (x, y) es: f (x1 ) − f (x0 ) (x − x0 ) x1 − x0 que es una f´ormula de interpolaci´on lineal. En el caso de una par´abola: f1 (x) = f (x0 ) +
f2 (x) = b0 + b1 (x − x0 ) + b2 (x − x0 )(x − x1 )
(1.1)
(1.2)
Donde los coeficientes se pueden determinar por: b0 = f (x0 ) b1 =
f (x1 )−f (x0 ) x1 −x0
b2 =
f (x2 )−f (x1 ) f (x )−f (x ) − x1 −x 0 x2 −x1 1 0
x2 −x1
(1.3)
La forma general de los polinomios de inteporlaci´on de Newton es fn (x) = b0 + b1 (x − x0 ) + · · · + bn (x − x0 )(x − x1 ) · · · (x − xn−1 )
1.2.
(1.4)
Interpolaci´ on de Lagrange
El polinomio de interpolaci´on de Lagrange es simplemente una reformulaci´on del polinomio de Newton que evita el c´alculo de las diferencias divididas, y se representa de manera concisa como: 3
fn (x) =
n X
Li (x)f (xi )
(1.5)
i=0
donde n Y x − xj Li (x) = x − xk j=0 i
(1.6)
j6=i
la sumatoria de todos los productos en la ecuaci´on 1.5 es el u ´nico polinomio de n-´esimo grado que pasa exactamente a trav´es de todos los n + 1 puntos, que se tienen como datos.
1.3.
Interpolaci´ on por Trazadores
Los m´etodos anteriores utilizan polinomios de n-´esimo grado para interpolar entre n + 1 puntos que se ten´ıan como datos. Por ejemplo, para ocho puntos se puede obtener un perfecto polinomio de s´eptimo grado. Esta curva podr´ıa agrupar todas las curvas (al menos hasta, e incluso, la s´eptima derivada) sugeridas por los puntos. No obstante, hay casos donde estas funciones llevar´ıan a resultados err´oneos a causa de los errores de redondeo y los puntos lejanos. Un procedimiento alternativo consiste en colocar polinomios de grado inferior en subconjuntos de los datos. Tales polinomios conectores se denominan trazadores o splines. Los trazadores de Primer grado son los mas sencillos de calcular, porque se tiene que encontrar la ecuaci´on de la recta que une a 2 nodos, pero el problema es que no es una curva suave y las derivadas son discontinuas en los nodos. Entonces se utilizan trazadores cuadrados, que son polinomios de segundo orden que unen a 2 nodos, y deben obedecer las condiciones: Los valores de la funci´on de polinomios adyacentes deben ser iguales en los nodos interiores. Esta condici´on se representa como[1] ai–1 x2i–1 + bi–1 xi–1 + ci–1 = f (xi–1 ) ai x2i–1 + bi xi–1 + ci = f (xi–1 )
(1.7) (1.8)
La primera y la u ´ltima funci´on deben pasar a trav´es de los puntos extremos. Esto agrega dos ecuaciones m´as: a1 x20 + b1 x0 + c1 =f (x0 ) an x2n + bn xn + cn =f (xn )
(1.9) (1.10)
y Las primeras derivadas en los nodos interiores deben ser iguales. f 0 (x) = 2ax + b 2ai–1 xi–1 + bi–1 = 2ai xi–1 + bi
4
(1.11) (1.12) (1.13)
y como nos falta si o hay m´as informaci´on que nos pueda ayudar a encontrar el valor de los coeficientes, se d´a por hecho que en el primer punto la segunda derivada es 0, a1 = 0. Debe quedar claro que en las ecuaciones anteriores, i = 2...n Trazadores C´ ubicos Si bien encontrar los coeficientes de los trazadores cuadr´aticos para algunos puntos es dif´ıcil y tedioso, se encontrar los c´ ubicos lo es a´ un m´as, por eso se utilizan algoritmos programados para encontrarlos, pero tienen una ventaja, y es que en los trazadores c´ ubicos, 000 las derivadas en los nodos son continuas hasta en el tercer orden (f (x)) y deben seguir las siguientes codiciones: 1. Los valores de la funci´on deben ser iguales en los nodos interiores (2n – 2 condiciones). 2. La primera y u ´ltima funci´on deben pasar a trav´es de los puntos extremos (2 condiciones). 3. Las primeras derivadas en los nodos interiores deben ser iguales (n – 1 condiciones). 4. Las segundas derivadas en los nodos interiores deben ser iguales (n – 1 condiciones). 5. Las segundas derivadas en los nodos extremos son cero (2 condiciones).
1.4. 1.4.1.
Problemas Problema de Interpolacion de Newton
Problema 1 Estime Estime el logaritmo natural de 10 por medio de interpolaci´on lineal. a) Interpole entre log 8 = 0.9030900 y log 12 = 1.0791812. b) Interpole entre log 9 = 0.9542425 y log 11 = 1.0413927. Para cada una de las interpolaciones calcule el error relativo porcentual con base en el valor verdadero Soluci´ on Utilizando las ecuaci´on 1.1 a) log(10) = 0,991136 r = 0,88644 % b) log(10) = 0,997818 r = 0,21824 %
(1.14)
Problema 2 Ajuste un polinomio de interpolaci´on de Newton de segundo orden para estimar el log 10, con los datos del problema 1 en x = 8, 9 y 11. Calcule el error relativo porcentual verdadero.
5
soluci´ on El polinomio queda de la forma: f (x) = (x − 11)(0,0461009 − 0,0025258(x − 8)) + 1,04139 f (x) = −0,0025258x2 + 0,0940911x + 0,312012
(1.15)
y el punto a interpolar es log(10) = 1,00034 r = 0,03434
(1.16)
Donde podemos apreciar que el error absoluto es menor que en los casos de interpolaci´on lineal, se puede ver el la gr´afica que dentro del intervalo de los valores dados, las aproximaciones son bastante cercanas. Problema 3 Ajuste un polinomio de interpolaci´on de Newton de tercer orden para estimar log 10 con los datos del problema 1. Soluci´ on El polinomio de tercer orden, utilizando 4 puntos, es: f (x) = 0,000149233x3 − 0,00670433x2 + 0,132743x + 0,19382
(1.17)
Y podemos comparar su exactitud con el que utilizaba 3 puntos: Aproximación al Logaritmo 1.2 1
f(x)
0.8 0.6 0.4 0.2 Real Aproximación de segundo grado Aproximación de tercer grado
0 -0.2 0
5
10
15
x
Figura 1.1: Comparaci´on de utilizar polinomios de mayor orden para una mejor proximaci´on
6
Problema 4 Dados los datos x 1.6 2 2.5 3.2 4 4.5 y 2 8 14 15 8 2 Calcule f(2.8) con el uso de polinomios de interpolaci´on de Newton de ´ordenes 1 a 3. Elija la secuencia de puntos m´as apropiada para alcanzar la mayor exactitud posible para sus estimaciones. Soluci´ on Usando primero un polinomio de orden 1, necesitamos 2 puntos, lo m´as adecuado es escoger los 2 puntos m´as cercanos a por la derecha y por la izquierda a 2.8, los cuales son (2.5,14) y (3.2,15). Obtenemos el siguiente polinomio: f (x) = 10,4286 + 1,42857x
(1.18)
f (2,8) = 14,42857
(1.19)
Ajustando polinomio de segundo orden, utilizando los puntos (2,8), (2.5,14) y (3.2 15), se obtiene el siguiente polinomio: f (x) = −8,80952x2 + 51,6429x − 60,0476
(1.20)
f (2,8) = 15,48571
(1.21)
Y finalmente ajustando un polinomio de orden 3 con los 4 puntos (2,8), (2.5,14), (3.2,15) y (4,8) se obtiene el polinomio:
1.4.2.
f (x) = 1,0119x3 − 16,6012x2 + 71,2738x − 76,2381
(1.22)
f (2,8) = 15,38857
(1.23)
Interpolaci´ on de Lagrange
Problema 5 Repita los problemas 1 a 3 empleando el polinomio de Lagrange. Soluci´ on Solucionando el problema 1 con Lagrange Con los puntos (8, log(8)) y (12, log(12)) se obtiene: x L0 (x) =3 − 4 x L1 (x) = − 2 4 7
f (x) = 0,550907 + 0,0440228x f (10) = 0,99113
(1.24)
Con los puntos (9, log(9)) y (11, log(11)) se obtiene: 11 − x 2 x−9 L1 (x) = 4
L0 (x) =
f (x) = 0,562067 + 0,0435751x f (10) = 0,99781
(1.25)
Solucionando el problema 2 con Lagrange Se obtiene un polinomio: f (x) = −0,00252581x2 + 0,0940913x + 0,312011 f (10) = 1,00034
(1.26)
Solucionando el problema 3 con Lagrange Se obtiene el siguiente polinomio: f (x) = 0,000149242x3 − 0,0067046x2 + 0,132745x + 0,193811 f (10) = 1,00004
1.4.3.
(1.27)
Interpolaci´ on por Trazadores
Problema 6 Desarrolle trazadores cuadr´aticos para los cinco datos y pronostique f(3.4) y f(2.2). x 1.6 2 2.5 3.2 4 f(x) 2 8 14 15 8 Soluci´ on Utilizando las ecuaciones de condiciones 1.7, 1.9, 1.11.
8
4a1 + 2b1 + c1 = 8 4a2 + 2b2 + c2 = 8 6,25a2 + 2,5b2 + c2 = 14 6,25a3 + 2,25b3 + c3 = 14 10,24a3 + 3,2b3 + c3 = 15 10,24a4 + 3,2b4 + c4 = 15 2,56a1 + 1,6b1 + c1 = 2 16a4 + 4b4 + c4 = 8 4a1 + b1 − 4a2 − b1 = 0 5a2 + b2 − 5a3 − b3 = 0 6,4a3 + b3 − 6,5a4 − b4 = 0 y como suponemos que a1 = 0 tenemos 11 inc´ognitas y 11 ecuaciones entonces podemos resolver el siguiente sistema:
2 0 0 0 0 0 1,6 0 1 0 0
1 0 0 0 0 0 0 0 0 0 4 2 1 0 0 0 0 0 0 6,25 2,5 1 0 0 0 0 0 0 0 0 0 6,25 2,5 1 0 0 0 0 0 0 10,24 3,2 1 0 0 0 0 0 0 0 0 0 10,24 3,2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 4 0 4 −4 −1 0 0 0 0 0 0 5 1 0 −5 −1 0 0 0 0 0 0 0 6,4 1 0 −6,4 −1
0 8 b1 0 c1 8 0 a2 14 0 b2 14 0 c2 15 1 a3 = 15 0 b3 2 1 c3 8 0 a4 0 0 b4 0 0 c4 0
Utilizando el m´etodo de Gauss-Jordan, se obtiene que los coeficientes son: b1 15 c1 −22 a2 1 b2 7 c2 −11 a3 = −15,813 b3 91,5816 c3 −116,1020 a4 1,1161 b4 −16,7857 c4 57,28 Obteniendo las ecuaciones
9
(1.28)
(1.29)
y1 y2 y3 y4
=15x − 22 =x2 + 7x − 11 = − 15,813x2 + 91,5816x − 116,1020 =1,1161x2 − 16,7857x + 57,28
1,6 ≤ x ≤ 2 2 ≤ x ≤ 2,5 2,5 ≤ x ≤ 3,2 3,2 ≤ x ≤ 4
Entonces, evaluando las funciones: f (3,4) ∈ y4 f (2,2) ∈ y2
y4 (3,4) = 13,1107 y2 (2,2) = 9,24
Se muestra una figura del ajuste por Splines o Trazadores
18
Aproximación por Splines cuadraticos Intervalo 1 Intervalo 2 Intervalo 3 Intervalo 4
16 14 12
f(x)
10 8 6 4 2 0 1.5
2
2.5
3
3.5
4
x
Figura 1.2: Los intervalos 1, 2 y 4 al tener coeficientes tan grandes, no se aprecia que sean una curva, pero en el intervalo 3, se ve claramente que es una cuadr´atica Problema 7 Obtenga trazadores c´ ubicos para los datos y a) pronostique f (4) y f (2,5) y b)Verifique que f (3) = 19 x 1 2 f(x) 3 6
3 5 7 8 19 99 291 444
Soluci´ on Usando Interpolaci´on cubica de Splines de XMGrace, se genera la siguiente gr´afica
10
Interpolación por Trazadores cubicos
450
Datos Trazador
400 350 300 250 200 150 100 50 0 1
2
3
4
5
6
7
8
Figura 1.3: Interpolaci´on de Trazadores C´ ubicos Y obteniendo:
f (4) = 48 f (2,5) = 10,8750 f (3) = 19 Problema sencillo Encuentre el trazador c´ ubico para la funci´on que pasa por los puntos (0,0), (1,1), (2,2): En este ejercicio no se tiene qu´e utilizar ning´ un m´etodo de trazadores, incluso si se utiliza, arrojar´a que es una ecuaci´on lineal con centro en el origen y pendiente 1,(a = 0, b = 0, c = 1, d = 0). Comprobando con XMGrace: f (x) = x Problema 8 Construye un Spline cubico para las siguientes funciones: x f(x) x f(x) x f(x) 0.1 -0.29004996 1 b) -0.25 1.33203 c) a) 0 0.2 -0.56079734 0.5 2.71828 0.25 0.800781 0.3 -0.81401972
11
(1.30)
soluci´ on a) Dado que solo tenemos 2 puntos, tenemos solo un intervalo, y el resultado polinomio que lo define es: f (x) = 3,43656x + 1,0
(1.31)
b) Aqu´ı aun tenemos 2 datos solamente, por lo que solo hay un intervalo. f (x) = 1,06640 − 1,062498x
(1.32)
c) Aqu´ı tenemos 3 puntos por lo tanto tenemos 2 intervalos pero una unica funci´on toca los 3. f (x) = 82,27822x2 − 27,39094x + 1,62626
(1.33)
Problema 9 Determine los coeficientes de la ecuaci´on c´ ubica que pasa por los primeros cuatro puntos del problema anterior. Soluci´ on Si tenemos 4 puntos y nos pide una ecuaci´on cubica, podemos utilizar el m´etodo de Lagranga, que nos d´a: f (x) = x3 − x2 − x + 4
(1.34)
Entonces nuestros coeficientes son:
a=1 b = −1 c = −1 d=4 Ejemplo de Aplicaci´ on En la figura se muestra un patito volando, para aproximarnos a la forma superior de patito, se han escogido puntos mostrados en la tabla.[2]
12
Figura 1.4: Puntos para interpolar la figura de un pato, notese que se han usado m´as puntos cuando las curvas se vuelven m´as bruscas. x 0.9 1.3 1.9 2.1 2.6 3.0 3.9 4.4 4.7 5.0 6.0 f(x) 1.3 1.5 1.85 2.1 2.6 2.7 2.4 2.15 2.05 2.1 2.25 x 7.0 8.0 9.2 10.5 11.3 11.6 12.0 12.6 13.0 13.3 f(x) 2.3 2.25 1.95 1.4 0.9 0.7 0.6 0.5 0.4 0.25 Ajustando los Splines Cubicos obtenemos; Interpolación de trazadores cubicos para el pato
3
Datos Ajuste de Trazadores
2.5
2
1.5
1
0.5
0 0
2
4
6
8
10
Figura 1.5: El ajuste de los trazadores result´o bastante efectivo Problema de coefientes Un Spline cubico en [0, 2] est´a dado por: S0 (x) = 1 + 2x + x3 S1 (x) = 2 + b(x − 1) + c(x − 1)2 + d(x − 1)3 13
0≤x≤1 1≤x≤2
12
14
Soluci´ on Tenemos las condiciones de que en el segundo nodo x = 1, las derivadas deben ser iguales, entonces 2 − 3x2 = b + 2c(x − 1) + 3d(x − 1)2 −1 = b
x=1
Y tambi´en tenemos la condici´on para la segunda derivada −6x = 2c + 6d(x − 1) −6 = 2c ⇒ c = −3
x=1
Y por ultimo tenemos la condici´on de que S100 (2) = 0 2c + 6d = 0 −6 + 6d = 0 d=1 Problema de Cinem´ atica Un autom´ovil viajando en por el camino fue cronometrado a los en los siguientes instantes: t(s) 0 3 5 d(f) 0 225 283 v(f/s) 75 77 80
8 13 623 993 74 72
a) Prediga la posici´on y velocidad al instante t = 10 b) Use la derivada del Trazador para determinar si el autom´ovil excede alguna vez la velocidad de v = 80,66f /s c) Cual es la velocidad m´axima predicha para el autom´ovil Soluci´ on a) Prediciendo la velocidad y la posici´on al tiempo t = 10:
d(10) = 778,4191f v(10) = 68,6151f /s Mientras que la posici´on avanza de manera casi lineal, la velocidad si tiene un comportamiento oscilatorio:
14
Interpolación de la Velocidad Por trazadores
82
Datos Aproximación por trazaodres
80
Velocidad (f/s)
78 76 74 72 70 68 66 0
2
4
6
8
10
12
14
segundos (s)
Figura 1.6: Aunque la posici´on incrementa de una manera casi lineal, la velocidad oscila b) y c) Para construir los trazadores de la velocidad se utilizaron los siguientes polinomios: v(t) = −0,172541t3 + 1,54700t2 − 2,42146t + 75,0 v(t) = −0,17254t3 + 1,54700t2 − 2,42146t + 74,99999 v(t) = 0,11282t3 − 2,73357t2 + 18,98141t + 39,32853 v(t) = 0,11282t3 − 2,73357t2 + 18,98141t + 39,32853
0≤t≤3 3≤t≤5 5≤t≤8 8 ≤ t ≤ 13
Gui´andonos por la gr´afica podemos observar que el m´aximo de la funci´on se encuentra en el final del segundo intervalo, o bien, al principio del tercero. escogiendo el tercer intervalo tenemos qu´e v(t) = 0,11282t3 − 2,73357t2 + 18,98141t + 39,32853 v 0 (t) = 0,33846t2 − 5,46714t + 18,9814
y Utilizando el m´etodo de Newton-Raphson para encontrar raices, tenemos qu´e el cuando la derivada toca el 0, o bien el maximo de la funci´on es:
tmax =5,05192 v(tmax ) =80,0016f /s La velocidad m´axima alcanzada por el autom´ovil es de 80,0016f /s (c) y por lo tanto, nunca alcanza una velocidad de 80,66f /s
15
1.5.
Conclusiones
Los m´etodos de interpolaci´on son realmente u ´tiles para saber como se comporta un fen´omeno del que se tomaron datos experimentales, y as´ı conocer como se comportar´ıa el ese fen´omeno o experimento en alg´ un punto que est´e en medio de los datos tomados. En este reporte se vieron muchos ejemplos de m´etodos cada vez mas complejos de entender y tambi´en de programar pero de la misma forma m´as eficientes y confiables, como por ejemplo los trazadores, aunque es m´as complicado encontrar una funci´on para cada intervalo, es m´as suave en las curvas. se podr´ıa decir que cuando son muchos puntos que se quieren interpolar, la mejor opci´on son los trazadores c´ ubicos, pero si se tienen menos, y el polinomio no ser´a de un orden exagerado, podemos conformarnos con un polinomio de Newton o de Lagrange. Esta claro que los m´etodos de interpolaci´on son una herramienta clave para todo f´ısico, ingeniero y profesionista de cualquier ciencia, ya que tambi´en tienen aplicaciones en campos como la medicina y biolog´ıa (crecimiento de tumores y poblaciones de bacterias), la qu´ımica, la demograf´ıa (comportamiento de un censo), etc.
16
Bibliograf´ıa [1] Chapra, S. C. C., Chapra, R. P. S. C., y Canale, R. P. (2007). M´etodos num´ericos para ingenieros. McGraw-Hill,. [2] Richard, L., and Burden, J. (1988). Douglas Faires, Numerical Analysis.
17