Análisis Numérico y Programación Unidad III -Interpolación mediante trazadores: Lineales, cuadráticos y cúbicos 1 LMM Primavera 2009 LMM Análisis Numérico y Programación Conceptos generales • Problema general: Se tiene un conjunto discreto de valores (mediciones) de una cantidad, se requiere conocer un valor intermedio entre los valores discretos. 1 • 2 • Opciones 1. Obtener una curva que represente la tendencia general de los datos. Vimos regresión por mínimos cuadrados. 2. Una curva que pase por cada uno de los puntos en forma directa. Interpolación, vimos mediante polinomios, ahora veremos trazadores 2 Primavera 2009 LMM Análisis Numérico y Programación Polinomios de Newton (o Lagrange): para n+1 datos, un polinomio de grado n f(x) a orden n f n ( x ) = f ( x0 ) + ( x − x0 ) f [ x1 , x0 ] + ( x − x0 )( x − x1 ) f [ x2 , x1 , x0 ] + ... + ( x − x0 )( x − x1 )...( x − xn −1 ) f [ xn , xn −1 ,..., x0 ] f [ xi , x j ] = Con las diferencias divididas f ( xi ) − f ( x j ) f [ xi , x j , xk ] = Primavera 2009 xi − x j f [ xi , x j ] − f [ x j , xk ] xi − xk 3 LMM Análisis Numérico y Programación Polinomios de interpolación de Lagrange n+1 datos xi, yi, i=0,1,…,n n f n ( x ) = ∑ Li ( x ) f ( xi ) i =0 n Li ( x ) = ∏ j =0 i≠ j x − xj xi − x j 4 Primavera 2009 LMM Análisis Numérico y Programación Trazadores (splines, en inglés) • ¿Qué es un trazador? Cinta semirígida usada para trazar curvas en dibujos, planos. 5 Primavera 2009 LMM Análisis Numérico y Programación Trazadores (splines, en inglés) • • • a) b) Usan polinomios, pero de grado inferior Se ajustan subconjuntos de datos ¿Por qué usarlos? Para funciones que presentan un cambio local abrupto Polinomios de grado superior presentan oscilaciones indeseables, al limitar el grado en el trazador éstas se eliminan. 6 Primavera 2009 LMM Análisis Numérico y Programación Trazadores lineales • Conjunto de funciones lineales (entre cada pareja de datos, la función de interpolación es lineal) f(x) f ( x ) = f ( x0 ) + m0 ( x − x0 ), x0 ≤ x ≤ x1 f ( x ) = f ( x1 ) + m1 ( x − x1 ), x1 ≤ x ≤ x2 =nodo m1 m0 m2 ... f ( x ) = f ( xn −1 ) + mn −1 ( x − xn −1 ), xn −1 ≤ x ≤ xn x No da una función suave En los nodos la primera derivada de f(x) es discontinua Primavera 2009 x0 x1 x x2 x3 7 LMM Análisis Numérico y Programación Ejemplo • Ajuste los datos de la tabla con trazadores de primer grado. • Evalúe la función en x=5 Solución. Se calculan las pendientes de las líneas entre pares de puntos. Para el caso x=5, notamos que se encuentra en el intervalo [4.5,7]. La pendiente en este intervalo es Evaluando con esta pendiente en la función lineal correspondiente x0 x1 x2 x3 x 3.0 4.5 7.0 9.0 f(x) 2.5 1.0 2.5 0.5 2.5 − 1 m= = 0.60 7 − 4.5 f ( x = 5) = f ( x = 4.5) + m(5 − 4.5) = 1. + 0.60 * 0.5 = 1.3 8 Primavera 2009 LMM Análisis Numérico y Programación Trazadores Cuadráticos • • • En general, si las m-ésimas derivadas deben ser continuas, se requiere un trazador de un grado al menos m+1. Los de segundo grado tienen primeras derivadas continuas en los nodos. En cada intervalo f(x) f i ( x ) = ai x + bi x + ci 2 Si n+1 datos, n intervalos Æ 3n constantes (a,b,c) por determinar Æ necesitamos 3n ecuaciones. Notar que hay n-1 nodos interiores, es decir, nodos que no son los extremos. a1,b1, c1 x x0 x1 x x2 x3 9 Primavera 2009 LMM Análisis Numérico y Programación 10 Primavera 2009 LMM Análisis Numérico y Programación ¿Cómo encontrar las ecuaciones? • Los valores de la función de polinomios adyacentes deben ser iguales en los nodos interiores (i = 2,…, n) f(x) f(x)=ai-1 Tenemos 2n-2 ecs. Pues n-1 nodos interiores (2 ecs. para c/nodo) x2+b ai −1 xi2−1 + bi −1 xi −1 + ci −1 = f ( xi −1 ) (I) ai xi2−1 + bi xi −1 + ci = f ( xi −1 ) i-1 x+ci-1 Intervalo i-1 f(x)=aix2+bix+ci Intervalo i xi-1 xi-2 x xi 11 Primavera 2009 LMM Análisis Numérico y Programación ¿Cómo encontrar las ecuaciones restantes? • La primera y la última a1 x02 + b1 x0 + c1 = f ( x0 ) función deben pasar por 2 a x n n + bn xn + cn = f ( xn ) los puntos extremos. • Las primeras derivadas en los nodos interiores f ' ( x ) = 2ax + b o bien deben ser iguales. 2ai −1 xi −1 + bi −1 = 2ai xi −1 + bi • Suponemos que en el primer punto la segunda derivada es cero. Así, trazador del primer a1=0 intervalo es lineal (trazador natural) No. ecs (II) 2 (III) (IV) Total 2n-2+2+n-1+1 = 3n ecuaciones Pero Ec (IV) ya da el valor de una a, entonces 3n-1 ecuaciones Primavera 2009 n-1 1 12 LMM Análisis Numérico y Programación Sistema de ecuaciones resultante • Note que el sistema de ecuaciones para las a, b, c puede escribirse como (Nota: m =3n-1) ⎛ A11 ⎜ ⎜ A21 ⎜ ⎜⎜ ⎝ Am1 A12 A22 ... ... ... Am 2 ... A1m ⎞⎛ χ1 ⎞ ⎛ B1 ⎞ ⎟⎜ ⎟ ⎜ ⎟ A2 m ⎟⎜ χ 2 ⎟ ⎜ B2 ⎟ ⎟⎜ ... ⎟ = ⎜ ... ⎟ ⎟⎟⎜⎜ ⎟⎟ ⎜⎜ ⎟⎟ Amm ⎠⎝ χ m ⎠ ⎝ Bm ⎠ El cual puede resolverse numéricamente. Por ejemplo, la subrutina gauss da un vector de resultados, que corresponden a c1 c2 b1 c3 c4 c5 c6 c7 c8 … c1 a2 b2 c2 a3 b3 c3 … cm-2 cm-1 cm am bm cm a1=0 Intervalo 1 2 3 m 13 Primavera 2009 LMM Análisis Numérico y Programación Ejemplo • • Usar los datos de la tabla de la pag. 8 Notar que tenemos 4 datos y 3 intervalosÆ 9 incógnitas, pero por Ec. (IV) solo quedan 8. • Obtener el sistema de ecuaciones para las a, b, c. • Mostrar que los coeficientes para cada intervalo son a1= 0 b1= -1 c1=5.5 a2=0.64 b2=-6.76 c2= 18.46 a3=-1.6 b3= 24.6 c3=-91.3 • Usar la subrutina gauss (en archivo gauss.for) para resolver el sistema de ecuaciones resultante. • Escribir las expresiones para los trazadores en cada intervalo fi(x)=aix2+bi+ci. • Evaluar la función en x=5 Problema 18.10 del Chapra. 14 Primavera 2009 LMM Análisis Numérico y Programación Trazadores cúbicos Polinomio de tercer grado f i ( x ) = ai x + bi x + ci x + d i 3 2 Se tienen 4n ecuaciones de las condiciones siguientes • • • • • Los valores de la función deben ser iguales en los nodos interiores (2n-2) La primera y la última función deben pasar por los puntos extremos (2). Las primeras derivadas en los nodos interiores deben ser iguales (n-1). Las segundas derivadas en los nodos interiores deben ser iguales (n-1). Las segundas derivada en los extremos son cero. Trazadores en los extremos son lineales (2). 15 Primavera 2009 LMM Análisis Numérico y Programación Pero … mejor formulación alternativa • Los nodos están unidos por una cúbicaÆ la segunda derivada es una línea recta. La escribimos como un polinomio de interpolación de Lagrange f i′′ ( x ) = f i′′ ( xi −1 ) x − xi x − xi −1 + f i′′ ( xi ) xi −1 − xi xi − xi −1 •No conocemos las segundas derivadas. •Integramos dos veces para obtener fi(x) Æ dos constantes de integración. Notar que segundas derivadas de miembro derecho tienen valores dados y vamos a determinarlos. ∫ f i′′ ( x )dx = f i′′ ( xi −1 ) f i′′ ( xi ) ( x − xi )dx + ( x − xi −1 )dx xi −1 − xi ∫ xi − xi −1 ∫ Primera integral, Etc. 16 Primavera 2009 LMM Análisis Numérico y Programación procedimiento Para la primera integral, por ejemplo ∫ f i′′ ( x )dx = f i′( x ) = f i′′ ( xi −1 ) f i′′ ( xi ) ( x − xi )dx + ( x − xi −1 )dx xi −1 − xi ∫ xi − xi −1 ∫ f i′′ ( xi −1 ) 2 f i′′ ( xi ) 2 ( x / 2 − xi x ) + ( x / 2 − xi −1 x ) + C1 xi −1 − xi xi − xi −1 •Las constantes C1 y C2 se obtienen de: igualamos f(x) a f(xi-1) y a f(xi), al evaluarla en xi-1 y xi, respectivamente. •Obtenemos un polinomio de grado 3 (resultado de doble integración de x) con dos incógnitas: las segundas derivadas (ver Ec. C18.3 de Chapra). 17 Primavera 2009 LMM Análisis Numérico y Programación • Derivando la expresión para fi(x) y haciendo que esta primera derivada sea continua en los nodos interiores, se obtienen n-1 ecuaciones con n+1 segundas derivadas de f (evaluadas en los n+1 nodos) desconocidas. • Haciendo cero las segundas derivadas en los extremos eliminamos dos incógnitas Æ se tienen n-1 ecuaciones con n-1 segundas derivadas como incógnitas 18 Primavera 2009 LMM Análisis Numérico y Programación Ecuación cúbica para cada intervalo Rescribimos la ecuación para fi(x) f i′′ ( xi −1 ) f i′′ ( xi ) 3 fi ( x) = ( xi − x ) + ( x − xi −1 )3 6( xi − xi −1 ) 6( xi − xi −1 ) ⎡ f ( xi −1 ) f ′′ ( xi −1 )( xi − xi −1 ) ⎤ +⎢ − ⎥( xi − x ) 6 ⎣ xi − xi −1 ⎦ ⎡ f ( xi ) f '' ( xi )( xi − xi −1 ) ⎤ +⎢ − ⎥( x − xi −1 ) 6 ⎣ xi − xi −1 ⎦ (V) Notar que al sustituir los valores de las segundas derivadas, la función queda perfectamente definida (las cantidades restantes son los datos). 19 Primavera 2009 LMM Análisis Numérico y Programación Sistema de ecuaciones • Con las segundas derivadas como incógnitas, la Ec. C18.3.4 del Chapra queda como ( xi − xi −1 ) f ' ' ( xi −1 ) + 2( xi +1 − xi −1 ) f ' ' ( xi ) + ( xi +1 − xi ) f ' ' ( xi +1 ) 6 6 = [ f ( xi +1 ) − f ( xi )] + [ f ( xi −1 ) − f ( xi )] xi +1 − xi xi − xi −1 (VI) Notar que la matriz del sistema es tridiagonal y simétrica 20 Primavera 2009 LMM Análisis Numérico y Programación Matriz tridiagonal ⎛ f1 ⎜ ⎜ e2 ⎜0 ⎜⎜ ⎝0 g1 f2 0 g2 e3 f3 e4 0 0⎞ ⎟ 0⎟ g3 ⎟ ⎟⎟ f4 ⎠ Se puede definir por tres vectores e, f, g de n elementos, donde e1=gn=0 Si corresponde a un sistema de ecuaciones, los términos independientes se pueden dar en otro vector de n elementos, digamos el vector r. Ver subrutina tridiag. La solución de este sistema de ecuaciones puede obtenerse fácilmente, ver subrutinas decomp_thomas y subst_thomas. 21 Primavera 2009 LMM Análisis Numérico y Programación Comparación entre los distintos trazadores Para los datos de la pag. 8 Aunque la interpolación cúbica es muy parecida al trazador, difieren sobre todo en las derivadas en los extremos. 22 Primavera 2009 LMM Análisis Numérico y Programación Comparación entre los distintos métodos de interpolación Regresión lineal Regresión polinomial Regresión lineal múltiple Interpolación polinomial de Newton en diferencias divididas Interpolación polinomial de Lagrange Trazadores cúbicos 23 Primavera 2009 LMM Análisis Numérico y Programación Ejercicios • Utilice la subrutina spline para interpolar los datos de la pag. 8 • Recuerde que debe leer el número de datos y los arreglos x,y=f(x). Estos últimos se encuentran en un archivo. • Evalúe la función en x=5. Compare con los valores obtenidos usando trazadores lineales y cuadráticos. • Resuelva los ejercicios 11, 21 y 22 del Cap. 18 del Chapra. • Resuelva los ejercicios 3, 9 y 10 del Cap. 20 del Chapra. 24 Primavera 2009 LMM