UNIVERSIDAD DE GRANADA DEPARTAMENTO DE MATEMÁTICA APLICADA www.ugr.es/local/mateapli INTERPOLACIÓN 2006-2007 José Martínez Aroza Introducción Interpolar (D.R.A.E.): Averiguar el valor aproximado de una magnitud en un intervalo cuando se conocen algunos de los valores que toma a uno y otro lado de dicho intervalo, y no se conoce la ley de variación de la magnitud. Interpolación 2/90 Introducción ventas 800 600 400 200 2 4 6 8 Interpolación meses 3/90 Introducción ventas 800 600 400 200 2 Interpolación 4 6 8 meses 4/90 Interpolación Lagrangiana Problema de Interpolación Lagrangiana (versión previa): “Dados los nodos { x0 , x1 ,…, x n } y sus valores respectivos { y 0 , y1 ,…, y n }, obténgase una función p(x ) “sencilla” que verifique p( xi ) = yi , i = 0,1,…, n .” 10 5 1 2 3 4 -5 Interpolación 5/90 Interpolación Lagrangiana p : función interpoladora o interpolante “Sencilla” = hay que fijar un espacio de funciones F . Problema bien planteado ⇔ dim F = n + 1 = nº de datos. Problema de Interpolación Lagrangiana (P.I.L.): “Dados los nodos { x0 , x1 ,…, x n } y sus valores respectivos { y 0 , y1 ,…, y n }, y dado (o fijado) un espacio de funciones F con dim F = n + 1, obténgase una función p ∈ F que verifique p ( xi ) = yi , i = 0,1,…, n .” Problema de Interpolación Polinomial Lagrangiana (P.I.P.L.): “Dados los nodos { x0 , x1 ,…, x n } y sus valores respectivos { y 0 , y1 ,…, y n }, obténgase un polinomio Interpolación p ∈ Pn tal que p( x i ) = y i , i = 0,1, … , n .” 6/90 Interpolación Lagrangiana Resolución del P.I.L.: Se escoge una base {ϕ 0 , ϕ 1 ,…, ϕ n } de F y se busca n p = ∑ a jϕ j que cumpla las j =0 condiciones de interpolación p( x0 ) = y0 ⇔ a0ϕ 0 ( x0 ) + a1ϕ1 ( x0 ) + + anϕ n ( x0 ) = y0 ⎫ ⎪ p( x1 ) = y1 ⇔ a0ϕ 0 ( x1 ) + a1ϕ1 ( x1 ) + + anϕ n ( x1 ) = y1 ⎬ p( xn ) = y0 ⇔ a0ϕ 0 ( xn ) + a1ϕ1 ( xn ) + + anϕ n ( xn ) = yn ⎪⎭ (Sistema lineal ( n + 1) × ( n + 1) con incógnitas a j .) El P.I.L. es unisolvente (solución única) ⇔ el sistema es C.D. Solución = coeficientes de la función interpoladora. Interpolación 7/90 Interpolación Lagrangiana Ejemplo: x −1 0 1 3 y 1 −2 4 0 Polinomio buscado: , F = P3 = 1, x, x , x 2 3 . p ( x ) = a 0 + a1 x + a 2 x 2 + a 3 x 3 . Sistema: a0 − a1 + a2 − a3 a0 a0 + a1 + a2 + a3 a0 + 3a1 + 9a 2 + 27a 3 = 0⎫ = 1⎪⎪ ⎬ = − 2⎪ = 4 ⎪⎭ ⇒ p ( x ) = x 3 − 2 x 2 − 2 x + 1. Interpolación 8/90 Interpolación Lagrangiana 5 -2 -1 1 2 4 3 -5 - 10 Interpolación 9/90 Interpolación Lagrangiana Unisolvencia del P.I.P.L.: Usando la base {1, x,…, x }, el determinante de la matriz de coeficientes es el det. de Vandermonde n ⎛1 x 0 ⎜ ⎜ 1 x1 det ⎜ ⎜⎜ ⎝1 x n x 02 x12 x n2 x 0n ⎞ ⎟ n x1 ⎟ ⎟ = ∏ ( xi − x j ); i> j ⎟ x nn ⎠⎟ det ≠ 0 ⇔ las abscisas x i no se repiten (no hay dos iguales). Demostración: restando a cada columna la anterior 0 ⎛1 ⎜1 x − x 1 0 = det ⎜ ⎜ ⎝1 xn − x0 Interpolación × x0 , 0 ⎞ ⎛1 x1 ⎟ x ( x1 − x0 ) ⎜ ⎟ = det ⎜ ⎜ 1 xn ⎟ ⎝ xnn −1 ( xn − x0 ) ⎠ n −1 1 x1n −1 ⎞ n ⎟ ( xi − x0 ) . ∏ n −1 ⎟ xn ⎟⎠ i =1 10/90 Interpolación Lagrangiana Para no tener que resolver s.e.l. se emplean fórmulas de interpolación, que dan directamente el polinomio de interpolación. Fórmulas clásicas: la Fórmula de Lagrange y la Fórmula de Newton. Diferentes expresiones, pero el mismo objetivo: el polinomio de interpolación. Interpolación 11/90 Fórmula de Lagrange FÓRMULA DE LAGRANGE Interpolación 12/90 Fórmula de Lagrange Dados los nodos {x0 , x1 ,…, x n }, los polinomios fundamentales de Lagrange 0 , 1 ,…, ∈ Pn son aquellos que verifican n ( x0 ) = 1, 1 ( x0 ) = 0, ( x1 ) = 0, … 1 ( x1 ) = 1, … ( xn ) = 0 ⎫ ⎪ 1 ( xn ) = 0 , es decir, ⎬ ⎪ n ( x0 ) = 0, n ( x1 ) = 0, … n ( xn ) = 1 ⎭ 0 0 0 j 1 si i = j ( xi ) = δ ij = ⎧⎨ ⎩0 si i ≠ j (delta de Kronecker). Una vez obtenidos, la solución del P.I.P.L. es la Fórmula de Lagrange p( x ) = y 0 En efecto, p ( x i ) = ( x ) + y1 1 ( x ) + 0 n ∑y j =0 + yn n n ( x) = ∑ y j j =0 j ( x). n j j ( x i ) = ∑ y j δ ij = y i . j =0 Interpolación 13/90 Fórmula de Lagrange Construcción de los polinomios fundamentales de Lagrange: 0 se anula en x1 , … , x n ⇒ es divisible por ( x − x1 ), ( x − x 2 ), … , ( x − x n ) ⇒ 0 = K ( x − x1 )( x − x 2 ) ( x − x n ) , con K = cte. Se escoge K para que por tanto ( x0 ) = 1 ⇒ K = x − x1 x − x2 ⋅ 0 ( x) = x0 − x1 x0 − x2 n En general 0 j ( x) = ∏ i =0 ( x0 − xn ) , n x − xn x − xi =∏ . x0 − xn i =1 x0 − xi x − xi (hay un error). x j − xi Ejercicio: demostrar que Interpolación 1 ( x 0 − x1 )( x 0 − x 2 ) { 0 , 1 ,… , n } es una base de Pn . 14/90 Fórmula de Lagrange Ejemplo: x −1 0 1 3 y 1 −2 4 0 , unisolvente en P3 . x − 0 x −1 x − 3 ⋅ ⋅ 0 −1− 0 −1−1 −1− 3 x +1 x −1 x − 3 = ⋅ ⋅ 1 0 +1 0 −1 0 − 3 x +1 x − 0 x − 3 = ⋅ ⋅ 2 1+1 1− 0 1− 3 x +1 x − 0 x −1 ⋅ ⋅ 3 = 3 +1 3 + 0 3 −1 = p=0 0 +1 1 − 2 2 +4 1 3 ( x − 4 x 2 + 3x ) 8 1 = ( x 3 − 2 x 2 − x + 4) 3 1 = − ( x 3 − 2 x 2 − 3x ) 4 1 = ( x3 − x) 24 =− = x3 − 2 x2 − 2 x + 1 3 Interpolación 15/90 Fórmula de Lagrange 3 2 1 -2 -1 1 2 3 4 -1 -2 Interpolación 16/90 Fórmula de Lagrange Ventaja de la fórmula de Lagrange: Los polinomios fundamentales sólo dependen de los nodos {x0 , x1 ,…, x n }; varios P.I.P.L. con el mismo conjunto de abscisas comparten los mismos polinomios fundamentales. 600 Crédito 500 400 300 Contado 200 100 Gastos 1 2 3 4 Inconveniente de la fórmula de Lagrange: Si se añade nueva información (un nuevo punto), hay que reconstruir casi todo. Interpolación 17/90 Fórmula de Newton FÓRMULA DE NEWTON Interpolación 18/90 Fórmula de Newton Objetivo: construir el pol. de interp. p (x ) gradualmente, partiendo de un solo dato ( x 0 , y 0 ) e ir añadiendo datos progresivamente. p 0 ∈ P0 : polin. que interpola en {x 0 }, p1 ∈ P1 : polin. que interpola en {x 0 , x1 }, p 2 ∈ P2 : polin. que interpola en {x 0 , x1 , x 2 }, p n = p ∈ Pn : polin. que interpola en {x 0 , x1 , … , x n }. Se trata de obtener pk conocido pk −1 , k = 1,…, n . Interpolación 19/90 Fórmula de Newton 4 3 2 1 1 2 3 4 5 -1 Interpolación 20/90 Fórmula de Newton 4 3 2 1 1 2 3 4 5 -1 Interpolación 21/90 Fórmula de Newton 4 3 2 1 1 2 3 4 5 -1 Interpolación 22/90 Fórmula de Newton 4 3 2 1 1 2 3 4 5 -1 Interpolación 23/90 Fórmula de Newton 4 3 2 1 1 2 3 4 5 -1 Interpolación 24/90 Fórmula de Newton Construcción progresiva p 0 ( x ) = y 0 ∈ P0 interpola en x 0 (cumple p 0 ( x 0 ) = y 0 ). • p1 ( x ) ∈ P1 interpola en {x0 , x1}; q1 = p1 − p0 ∈ P 1 se anula en x 0 ⇒ q1 ( x ) = A1 ( x − x 0 ) , con A1 adecuado para que y − p 0 ( x1 ) . p1 ( x1 ) = p 0 ( x1 ) + q1 ( x1 ) = y1 ⇒ A1 = 1 x1 − x 0 • p 2 = p1 + q 2 ∈ P2 interpola en x0 , x1 , x2 ; q 2 ∈ P2 se anula en x 0 y x1 ⇒ q 2 ( x ) = A2 ( x − x 0 )( x − x1 ) con A2 adecuado para que • p 2 ( x 2 ) = p1 ( x 2 ) + q 2 ( x 2 ) = y 2 ⇒ A2 = y 2 − p1 ( x 2 ) . ( x 2 − x 0 )( x 2 − x1 ) p k = p k −1 + q k ∈ Pk , q k se anula en x 0 , … , x k −1 y k − p k −1 ( x k ) ⇒ q k ( x ) = Ak ( x − x 0 ) ( x − x k −1 ) con Ak = . ( x k − x 0 ) ( x k − x k −1 ) • en general Interpolación 25/90 Fórmula de Newton Conviniendo A0 = y 0 se tiene p( x ) = p n ( x ) = A0 + A1 ( x − x 0 ) + A2 ( x − x 0 )( x − x1 ) + + An ( x − x 0 ) ( x − x n −1 ) es decir n k −1 k =0 i =0 p( x ) = ∑ Ak ∏ ( x − x i ) , que es la fórmula de Newton (preliminar). Interpolación 26/90 Fórmula de Newton Ejemplo: x −1 0 1 3 y 1 −2 4 0 ; A0 = y0 = 0 ⇒ p0 ( x ) = 0; A1 = y1 − p0 ( x1 ) 1 − 0 = = 1 ⇒ p1 ( x ) = 0 + 1( x + 1) = x + 1; x1 − x0 0 +1 A2 = y2 − p1 ( x2 ) −2−2 = = −2 ⇒ ( x2 − x0 )( x2 − x1 ) (1 + 1)(1 − 0) p2 ( x ) = p1 ( x ) − 2( x + 1)( x − 0) = ( x + 1) − 2( x + 1) x; A3 = 4 + 20 y3 − p2 ( x3 ) = =1⇒ ( x3 − x0 )( x3 − x1 )( x3 − x2 ) 4 ⋅ 3 ⋅ 2 p3 ( x ) = p2 ( x ) + 1( x + 1) x ( x − 1) = x 3 − 2 x 2 − 2 x + 1. Interpolación 27/90 Diferencias divididas Notación: Ak = f [ x 0 , … , x k ] diferencia dividida de f en x 0 , … , x k . Fórmula de Newton: (definitiva) n k −1 k =0 i =0 p( x ) = ∑ f [ x 0 , … , x k ]∏ ( x − x i ) . Interpolación 28/90 Diferencias divididas Propiedad de las diferencias divididas: n f [ x0 , … , x n ] = ∑ k =0 f ( xk ) n ∏(x i =0 i ≠k Consecuencia: k . − xi ) f [ x0 ,…, xn ] es simétrica respecto de x0 ,…, xn . Demostración: identificando coef. de gr. n en las fórmulas de Lagrange y Newton: n k −1 n n k =0 i =0 j =0 i =0 i≠ j p( x ) = ∑ f [ x0 ,…, xk ]∏ ( x − xi ) = ∑ y j ∏ x − xi . x j − xi Interpolación 29/90 Diferencias divididas Propiedad de las diferencias divididas: f [ x0 , … , x n ] = f [ x1 ,…, xn ] − f [ x0 ,…, xn −1 ] . x n − x0 Demostración: identificando coef. de gr. inversa de gr. n : n − 1 en las fórmulas de Newton directa e n k −1 n n k =0 i =0 k =0 i = k +1 p( x ) = ∑ f [ x0 ,…, xk ]∏ ( x − xi ) = ∑ f [ xn ,…, xn − k ] ∏ ( x − xi ) n −1 n i =0 i =1 f [ x0 ,…, xn −1 ] − f [ x0 ,…, xn ]∑ xi = f [ xn ,…, x1 ] − f [ x0 ,…, xn ]∑ xi . Interpolación 30/90 Diferencias divididas Tabla de diferencias divididas f [ x0 ] = y0 x0 f [ x0 , x1 ] f [ x1 ] = y1 x1 f [ x0 , x1 , x2 ] f [ x1 , x2 ] f [ x2 ] = y 2 x2 f [ x n −1 , x n ] f [ xn ] = y n xn f [ x0 , … , x n ] Interpolación 31/90 Diferencias divididas Ejemplo: x −1 0 1 3 y 1 −2 4 0 −1 ; 0 1 0 1 1 −2 −3 −2 1 2 3 3 4 p( x ) = 0 + 1( x + 1) − 2( x + 1) x + 1( x + 1) x ( x − 1) . Interpolación 32/90 El error de interpolación EL ERROR DE INTERPOLACIÓN EN EL P.I.P.L. Interpolación 33/90 El error de interpolación Sean zi = f ( xi ) los datos de un P.I.P.L., provenientes de una función f ( x ) . Definición: Error de interpolación E ( x ) = f ( x ) − p( x ) . n Teorema: E ( x ) = f [ x0 , x1 ,…, xn , x ]Π ( x ) , donde Π ( x ) = ∏ ( x − xi ) . i =0 Demostración: Ampliando la fórmula de Newton con f [ x0 ,… , xn +1 ] = yn +1 − p( xn +1 ) n ∏ (x i =0 n +1 − xi ) xn +1 se tiene ⇒ f [ x0 ,… , xn +1 ]Π ( xn +1 ) = E ( xn +1 ) , válido ∀xn +1 . Interpolación 34/90 El error de interpolación Teorema: Sea f ∈ C [a , b] y n x0 ,… , xn ∈ [a, b]. Entonces ∃ξ ∈ [a, b] tal que f ( n ) (ξ ) . f [ x0 ,… , xn ] = n! Demostración: E ( x ) ∈ C [a , b] y se anula en n aplicando el T. de Rolle E ′( x ) ∈ C n −1 x0 ,… , xn → n + 1 veces; [a , b] se anula n veces; ⇒ E ( n ) ( x ) ∈ C 0 [a , b] se anula 1 vez. Consecuencia: Si f ∈ C n +1 [a , b] entonces f ( n +1) (ξ ) E ( x) = Π( x) . ( n + 1)! Interpolación 35/90 Interpolación por recurrencia INTERPOLACIÓN POR RECURRENCIA Interpolación 36/90 Interpolación por recurrencia Interpolación por recurrencia: ∀C ⊂ {x0 , x1 ,…, xn }, sea pC (x ) el interpolante en los puntos de C . Teorema (Lema de Aitken): Sean xi , x j ∉ C . Entonces pC ∪{ x i , x j } ( x ) = ( x − x j ) pC ∪{ x i } ( x ) − ( x − xi ) pC ∪{ x j } ( x ) xi − x j . Demostración: basta comprobar. Principal aplicación: evaluación del interpolante sin construirlo. Interpolación 37/90 Interpolación por recurrencia Método de Neville: x − x0 x − x1 x − x2 x − xn Interpolación p{ x 0 } ( x ) = y0 p{ x1 } ( x ) = y1 p{ x 2 } ( x ) = y2 p{ x n } ( x ) = yn p{ x 0 , x1 } ( x ) p{ x 0 , x1 , x 2 } ( x ) p{ x1 , x 2 } ( x ) p{ x 0 ,…, x n } ( x ) p{ x n −1 , x n } ( x ) 38/90 Interpolación por recurrencia Ejemplo del método de Neville: 3 x −1 0 1 3 y 1 −2 4 en x=2 0 3 2 1 1 −2 −1 0 −5 −9 −1 − 3 ⇒ p ( 2 ) = −3 1 4 Interpolación 39/90 Interpolación por recurrencia Método de Aitken: x − x0 x − x1 x − x2 p{ x 0 } ( x ) = y0 p{ x1 } ( x ) = y1 p{ x 2 } ( x ) = y2 p{ x 0 , x1 } ( x ) p{ x 0 , x 2 } ( x ) p{ x 0 , x1 , x 2 } ( x ) x − xn p{ x n } ( x ) = yn p{ x 0 , x n } ( x ) p{ x 0 , x1 , x n } ( x ) p{ x 0 ,…, x n } ( x ) Ejemplo del método de Aitken: 3 2 1 −1 Interpolación 0 1 3 ⇒ p ( 2 ) = −3 −2 −3 −9 4 3 3 −3 40/90 Resumen de soluciones para el P.I.P.L. RESUMEN DE SOLUCIONES PARA EL P.I.P.L. Interpolación 41/90 Resumen de soluciones para el P.I.P.L. Con la base canónica {1, x, x ,…, x } 2 n Solución: (sistema de ecuaciones lineales) p ( x ) = n ∑a x j =0 Con la base de Lagrange { 0 j j , 1 , …, n } Solución: fórmula de Lagrange p ( x ) = n ∑y j =0 j j ( x) Con base de Newton {1, ( x − x0 ), ( x − x0 )( x − x1 ),…, ( x − x0 ) Solución: fórmula de Newton n k −1 k =0 i =0 ( x − xn −1 )} p( x ) = ∑ f [ x 0 , … , x k ]∏ ( x − x i ) . Interpolación 42/90 Evaluación de polinomios EVALUACIÓN DE POLINOMIOS Interpolación 43/90 Evaluación de polinomios Para evaluar p ( x ) = an x + an −1 x n n −1 + + a1 x + a0 se requieren: n( n − 1) multiplicaciones para potencias 2 n multiplicaciones por coeficientes n sumas de monomios n 2 + 3n operaciones 2 ...y los errores de redondeo se amplifican. Interpolación 44/90 Evaluación de polinomios Expresión equivalente: p( x ) = a0 + x ( a1 + x ( a2 + x ( ( an −1 + x ( an ) ))) . Algoritmo de Horner para evaluar p ( x ) en el punto x = r : s = a[[n]]; For[i=n-1, i>=0, i--, s = s*r+a[[i]] ]; Algoritmo de Horner para la fórmula de Newton p( x ) = A0 + ( x − x0 )( A1 + ( x − x1 )( ( An −1 + ( x − xn −1 )( An ) ))) s = A[[n]]; For[i=n-1, i>=0, i--, s = s*(r-x[[i]]) + A[[i]] ]; Interpolación 45/90 Otros Problemas de Interpolación OTROS PROBLEMAS DE INTERPOLACIÓN Interpolación 46/90 Otros Problemas de Interpolación Problema de Interpolación de Taylor Obténgase p ∈ Pn conocidos los valores de p ( a ), p′( a ), p′′( a ),…, p Solución 1: Con la base canónica {1, x, x 2 ,…, x n } resulta el sistema triangular superior: ⎛ 1 a a2 ⎜ ⎜ 0 1 2a ⎜⎜ ⎝0 0 0 an na n −1 n! (n) (a ) . Solución 2: Con la base de Newton {1, ( x − a ), ( x − a ) 2 ,…, ( x − a ) n } resulta el sistema diagonal: p(a ) ⎞ ⎟ p′( a ) ⎟ ⎟ p ( n ) ( a ) ⎟⎠ ⎛ 0! 0 ⎜ 0 1! ⎜ ⎜ ⎝0 0 p(a ) ⎞ p′( a ) ⎟ ⎟ ⎟ n! p ( n ) ( a ) ⎠ 0 0 Solución: el desarrollo polinomial de Taylor. Interpolación 47/90 Otros Problemas de Interpolación Problema de Interpolación de Hermite clásico Obténgase p ∈ P 2 n +1 conocidos los valores de p( x0 ), p′( x0 ), p( x1 ), p′( x1 ),…, p( xn ), p′( xn ) . Solución: Con la base de Newton {1, ( x − x0 ), ( x − x0 ) 2 , ( x − x0 ) 2 ( x − x1 ), ( x − x0 ) 2 ( x − x1 ) 2 ,… …, ( x − x0 ) 2 ( x − x1 ) 2 x 1 2 3 2 1 2 3 Ejemplo: y 1.5 y ′ −1 − 1 − 1 ( x − xn )} 1 unisolvente en P5 . 0.5 0.5 Interpolación 1 1.5 2 48/90 Otros Problemas de Interpolación Enfoque de Langrange en el caso polinomial con datos tipo Hermite clásico: Datos: z0 , z1 ,… , zn , z0′ , z1′,… , zn′ ; espacio interpolador: V = P 2 n +1 . Base de Lagrange: { A0 , A1 ,… , An , B0 , B1 ,… , Bn } cumpliendo Aj ( xi ) = δ ij , A′j ( xi ) = 0, B j ( xi ) = 0, B ′j ( xi ) = δ ij . n Sean j ( x) = ∏ k =0 k≠ j x − xk los polinomios fundamentales del problema clásico; x j − xk Aj = (1 − 2( x − x j ) ′j ( x j ) ) 2 j ( x ), B j = ( x − x j ) 2j ( x ). Fórmula de Lagrange: p( x ) = ∑ z j Aj ( x ) + ∑ z ′j B j ( x ) . j j Ejercicio: comprobar. Interpolación 49/90 Otros Problemas de Interpolación f ∈ C n [a , b] y x0 ≤ x1 ≤ ≤ xn ; ⎧ f [ x1 ,… , xn ] − f [ x0 ,… , xn −1 ] si x0 < xn ⎪ xn − x0 f [ x0 ,… , xn ] = ⎨ (n) 1 ⎪ si x0 = xn ( x0 ) ⎩ n! f Diferencia dividida generalizada: sup. Enfoque de Newton: cada serie xi f [ xi ] = f ( xi ) xi f [ xi ] = f ( xi ) xi f [ xi ] = f ( xi ) xi f [ xi ] = f ( xi ) Interpolación f ( xi ), f ′( xi ),… , f ( k ) ( xi ) genera el fragmento f [ xi , xi ] = f ′( xi ) f [ xi , xi ] = f ′( xi ) f [ xi , xi , xi ] = 1 2! f ′′( xi ) 1 k! f ( k ) ( xi ) f [ xi , xi ] = f ′( xi ) 50/90 Otros Problemas de Interpolación x Ejemplo: 1 2 3 y 1 2 3 unisolvente en P5 . y ′ −1 − 1 − 1 Base: {1,( x − 1),( x − 1) ,( x − 1) ( x − 2),( x − 1) ( x − 2) ,( x − 1) ( x − 2) ( x − 3)} 2 2 2 2 2 2 Tabla de diferencias divididas generalizadas: 1 1 2 2 3 3 1 −1 1 2 1 −4 2 3 −2 −1 −3 2 −3 2 2 −4 1 −2 3 −1 3 Interpolación 51/90 El Problema General de Interpolación EL PROBLEMA GENERAL DE INTERPOLACIÓN Interpolación 52/90 El Problema General de Interpolación Definición: Dado V espacio vectorial sobre L :V R verificando R , una forma lineal sobre V es L(α f + β g ) = α L( f ) + β L( g ) ∀α , β ∈ R ∀f , g ∈V . Ejemplos: (V = espacio de funciones R → R ) L1 ( f ) = f (7), L2 ( f ) = f ( x0 ), L3 ( f ) = f ′( −2), b L4 ( f ) = ∫ f ( x ) dx, a L5 ( f ) = f ′′′(0). Interpolación 53/90 El Problema General de Interpolación Problema General de Interpolación (P.G.I.): “Sea V un espacio vectorial real de dimensión finita n . Dadas las formas lineales {L1 , L2 ,… , Ln } sobre V y los valores reales {z1 , z2 ,… , zn }, obténgase p ∈ V que verifique Li ( p ) = zi , i = 1, 2,… , n .” Teorema: “Sea {v1 , v2 ,… , vn } una base de V . El P.G.I. es unisolvente si y sólo si el determinante de Gram det( Li ( v j )) es no nulo.” Demostración: Si p = ∑ a j v j , entonces ∑ a j Li ( v j ) = zi , i = 1, 2,…, n es un j j sistema de ecuaciones lineales cuyo determinante es el de Gram. Interpolación 54/90 El Problema General de Interpolación Casos particulares usuales: V = Pn → interpolación polinomial V = 1,cos x,sen x,cos 2 x,sen 2 x,… → interpolación trigonométrica Li ( f ) = f ( xi ) → datos lagrangianos L2i ( f ) = f ( xi ), L2 i −1 ( f ) = f ′( xi ) → datos tipo Hermite clásico Li ( f ) = f ( i ) ( x0 ) → datos tipo Taylor Características del P.G.I.: • el nº de datos es finito • las condiciones de interpolación son lineales • la dimensión del espacio interpolador es igual al nº de datos. Interpolación 55/90 El Problema General de Interpolación Construcción de la solución del P.G.I. • Enfoque directo: con el sistema de Gram ∑ a L (v ) = z , i = 1, 2,…, n . j i j i j • Enfoque de Lagrange: sea una base { entonces p = ∑zj j 1 , 2 ,… , n } de V tal que Li ( j ) = δ ij ; (fórmula de Lagrange). j • Enfoque de Newton: sea una base {w1 , w2 ,… , wn } de V con y L j ( w j ) ≠ 0 ∀j ; entonces Li ( w j ) = 0 ∀i < j p = ∑ a j w j (fórmula de Newton), donde j ⎛ k −1 ⎞ zk − Lk ⎜ ∑ a j w j ⎟ z1 ⎝ j =1 ⎠ , k = 2,… , n . a1 = , ak = Lk ( wk ) L1 ( w1 ) Ejercicio: Comprobar todo. Interpolación 56/90 Interpolación mediante splines INTERPOLACIÓN MEDIANTE FUNCIONES SPLINE Interpolación 57/90 Interpolación mediante splines Los polinomios de alto grado interpolación adoptan comportamientos anómalos. 20 15 10 5 5 Interpolación 10 15 20 58/90 Interpolación mediante splines Los polinomios de alto grado interpolación adoptan comportamientos anómalos. 20 15 10 5 5 10 15 Interpolación 20 59/90 Interpolación mediante splines Los polinomios de alto grado interpolación adoptan comportamientos anómalos. 20 15 10 5 5 Interpolación 10 15 20 60/90 Funciones spline n y clase m con nodos {x0 ,…, x N } es una función s(x ) definida en [a , b] = [ x0 , x N ] verificando: Definición: Un spline de grado 1. si = s [ xi −1 , xi ] es un polinomio de grado ≤ n (i = 1,2,…, N ) 2. s ∈ C m [ a , b] . Convenio: salvo indicación expresa, se sobreentiende m = n − 1. Espacios de splines en los nodos {x0 ,…, x N } n y clase m : S n m ( x0 ,…, x N ) . • de grado n (y clase m = n − 1): S n ( x0 ,…, x N ) . • de grado Casos usuales: spline lineal n = 1: grado 1 (clase 0 = continua) → poligonal n = 2 : grado 2 (clase 1 = derivable) spline cuadrático n = 3: grado 3 (clase 2 = derivable 2 veces) spline cúbico n = 3, m = 1: spline cúbico de clase 1 (caso especial). Interpolación 61/90 Funciones spline 5 4 3 2 1 2 Interpolación 4 6 8 62/90 Funciones spline 5 4 3 2 1 2 4 6 8 Interpolación 63/90 Funciones spline 5 4 3 2 1 2 Interpolación 4 6 8 64/90 Funciones spline 4 3 2 1 1 2 3 4 5 Interpolación 6 65/90 Construcción de splines por trozos CONSTRUCCIÓN DE SPLINES POR TROZOS Interpolación 66/90 Construcción de splines por trozos Expresión a trozos: ⎧ s1 ( x ) ∈ Pn si x ∈ [ x 0 , x1 ] ⎪ s ( x ) ∈ Pn si x ∈ [ x1 , x 2 ] s( x ) = ⎨ 2 ⎪ ⎩ s N ( x ) ∈ Pn si x ∈ [ x N −1 , x N ] Restricciones de suavidad: si( k ) ( xi ) = si(+k1) ( xi ) i = 1,…, N − 1, k = 0,…, m por tanto dim S n m ( x0 ,…, x N ) = ( n + 1) N − ( m + 1)( N − 1) = N (n − m) + m + 1 Interpolación 67/90 Construcción de splines por trozos Caso lineal ( n = 1): Cada trozo si ( x ) = ai x + bi aporta dos incógnitas; dos ecuaciones: si ( xi −1 ) = yi −1 (extremo izdo.) y si ( xi ) = yi (extremo dcho.) → subproblema 2 × 2 . Construcción directa: si ( x ) = yi con x − xi − l x −x + yi −1 i , i = 1,…, N hi hi hi = xi − xi −1 , i = 1,…, N . Ejemplo: x −1 0 1 3 y 1 −2 4 0 s1 ( −1) = 0, s1 (0) = 1 ⇒ s1 ( x ) = x + 1 s2 ( 0) = 1, s2 (1) = −2 ⇒ s2 ( x ) = −3x + 1 s3 ( 1) = −2, s3 (3) = 4 ⇒ s3 ( x ) = 3x − 5 Interpolación 68/90 Construcción de splines por trozos Caso cuadrático ( n = 2 ): Cada trozo → total 3N ; si ( x ) = ai x 2 + bi x + ci aporta tres incógnitas Ecuaciones: • Interpolación (clase 0 ): 2 por trozo (extremos izdo. y dcho.) • Clase 1: si′( xi ) = si′+1 ( xi ) i = 1,…, N − 1 son N − 1 ecuaciones. → total 2 N + N − 1 = 3N − 1 ecuaciones → ¡falta una ecuación!. → Se añade una ecuación adicional para cuadrar el problema. Construcción directa con s′( x0 ) = d 0 : si ( x ) = yi −1 + d i −1 ( x − xi −1 ) + con wi = wi − d i −1 ( x − xi −1 ) 2 , i = 1,…, N hi y i − yi − 1 , d i = 2 wi − d i −1 , i = 1,…, N , d 0 = y0′ . hi Interpolación 69/90 Construcción de splines por trozos Caso cúbico ( n = 3): Cada trozo incógnitas → total 4 N ; si ( x ) = ai x 3 + bi x 2 + ci x + d i aporta cuatro Ecuaciones: • Interpolación (clase 0 ): 2 por trozo (extremos izdo. y dcho.) • Clase 1: si′( xi ) = si′+1 ( xi ) i = 1,…, N − 1 son N − 1 ecuaciones. • Clase 2 : si′′( xi ) = si′′+1 ( xi ) i = 1,…, N − 1 son N − 1 ecuaciones. → total 2 N + 2( N − 1) = 4 N − 2 ecuaciones → ¡faltan dos ecuaciones!. Ecuaciones adicionales típicas: • s′′( a ) = s′′(b) = 0 spline natural prolongable mediante rectas → de clase 2 en todo R . • s′( a ) = y0′ , s′(b) = y ′N spline de extremo sujeto pendientes fijas de entrada y salida. • s′( a ) = s′(b), s′′( a ) = s′′(b) spline periódico prolongable por periodicidad → de clase 2 en todo R . Interpolación 70/90 Construcción de splines por trozos Construcción directa del spline cúbico natural o sujeto: si ( x ) = yi −1 + d i −1 ( x − xi −1 ) + + siendo wi − d i −1 ( x − xi −1 ) 2 hi d i −1 + d i − 2 wi ( x − xi −1 ) 2 ( x − xi ), i = 1,…, N 2 hi d i la solución del s.e.l. tridiagonal simétrico ⎛1 ⎛w 1 1 ⎞ 1 w⎞ d i −1 + 2⎜ + d i +1 = 3⎜ i +1 + i ⎟, i = 1,…, N − 1 ⎟d i + hi hi +1 ⎝ hi hi +1 ⎠ ⎝ hi +1 hi ⎠ con las ecuaciones adicionales d 0 = y0′ , d N = y ′N ; • sujeto: 2d 0 + d1 = 3w1 , d N −1 + 2d N = 3wN . • natural: Interpolación 71/90 Construcción de splines por trozos Caso especial: n = 3, m = 1 para datos tipo Hermite clásico (valor y derivada en cada punto). Para cada trozo si ( x ) se tienen 4 incógnitas y 4 ecuaciones ( 2 valores y 2 derivadas), formando un subproblema 4 × 4 . Caso general (P.I.L. en S n m ( x0 ,…, x N ) ): Hay N ( n + 1) incógnitas; Ecuaciones: • Interpolación+continuidad: 2 N ( = • Suavidad de clase 1: N − 1 • Suavidad de clase 2: N − 1 • Suavidad de clase N + 1 interpolación + N − 1 clase 0 ). m: N −1 Total ecuaciones: 2 N + m( N − 1) = ( m + 2) N − m ; si m = n − 1 entonces siempre faltan m ecuaciones adicionales. Se obtiene un sistema Interpolación N ( n + 1) × N ( n + 1) . 72/90 Construcción de splines por trozos Teoremas de unisolvencia: • P.I.L. en S1 ( x0 ,…, x N ) • P.I.L. en S 2 ( x0 ,…, x N ) con s′( xi ) = d i para algún i ∈ {0,1,…, N } • P.I.L. en S 3 ( x0 ,…, x N ) natural • P.I.L. en S 3 ( x0 ,…, x N ) sujeto • P.I.L. en S 3 ( x0 ,…, x N ) periódico • Hermite clásico en S 3 1 ( x0 ,…, x N ) Interpolación 73/90 Construcción de splines mediante Potencias truncadas CONSTRUCCIÓN DE SPLINES POR POTENCIAS TRUNCADAS Interpolación 74/90 Construcción de splines mediante Potencias truncadas Potencia truncada ⎧xn ( x) = ⎨ ⎩0 n + Ejemplos: si si x≥0 x<0 ( x ) + , ( x − 2) 2+ , ( x 2 − 2) + , ( 2 − x 2 ) + , ( x − 3)3+ , ( x − 4)3+ 5 4 3 2 1 -2 2 4 6 Interpolación 75/90 Construcción de splines mediante Potencias truncadas Ejercicios: Propiedad: x = ( x)+ + (− x)+ , x = ( x)+ − (− x)+ . ( x − r ) n+ es un spline de grado n con un nodo en r . Bases de splines: S1 ( x0 ,…, x N ) = 1, x, ( x − x1 ) + , ( x − x2 ) + ,…, ( x − x N −1 ) + S 2 ( x0 ,…, x N ) = 1, x, x 2 , ( x − x1 ) 2+ , ( x − x2 ) 2+ ,…, ( x − x N −1 ) 2+ S 3 ( x0 ,…, x N ) = 1, x, x 2 , x 3 , ( x − x1 )3+ , ( x − x2 )3+ ,…, ( x − x N −1 )3+ S n ( x0 ,…, x N ) = 1, x, x 2 ,…, x n , ( x − x1 ) n+ , ( x − x2 ) n+ ,…, ( x − x N −1 ) n+ S 31 ( x0 ,…, x N ) = 1, x, x 2 , x 3 , ( x − x1 ) 2+ , ( x − x2 ) 2+ ,…, ( x − x N −1 ) 2+ , ( x − x1 )3+ , ( x − x2 )3+ ,…, ( x − x N −1 )3+ Interpolación 76/90 Construcción de splines mediante Potencias truncadas Ejemplo: Spline cúbico natural para x −1 0 1 3 y 1 −2 4 0 s ( x ) = a + bx + cx 2 + dx 3 + A( x )3+ + B ( x − 1)3+ sistema lineal ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ Solución: s( x ) = 1 −1 1 0 1 1 1 3 0 0 0 0 1 −1 0 0 0⎞ 0 0 0 0 1⎟ 1 1 1 0 − 2⎟ 9 27 27 8 4⎟ 2 −6 0 0 0 ⎟⎟ 2 18 18 12 0⎠ 1 (23 − 37 x − 90 x 2 − 30 x 3 + 88( x )3+ − 72( x − 1)3+ ) 23 Interpolación 77/90 Construcción de splines mediante Potencias truncadas Ejemplo: Spline cúbico sujeto horizontal para x −1 0 1 3 y 1 −2 4 0 s ( x ) = a + bx + cx 2 + dx 3 + A( x )3+ + B ( x − 1)3+ sistema lineal ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ Solución: s( x ) = Interpolación 1 −1 1 −1 0 0 0⎞ 1 0 0 0 0 0 1⎟ 1 1 1 1 1 0 − 2⎟ 1 3 9 27 27 8 4⎟ 0 1 −2 3 0 0 0 ⎟⎟ 0 1 6 27 27 12 0⎠ 1 (22 − 27 x − 120 x 2 − 71x 3 + 152( x )3+ − 120( x − 1)3+ ) 22 78/90 Construcción de splines mediante Potencias truncadas 4 3 2 1 -1 1 2 3 -1 -2 Interpolación 79/90 Construcción de splines mediante Potencias truncadas 4 3 2 1 -1 1 2 3 -1 -2 Interpolación 80/90 Construcción de splines mediante Potencias truncadas 4 3 2 1 -1 1 2 3 -1 -2 Interpolación 81/90 Construcción de splines mediante Potencias truncadas 4 3 2 1 -1 1 2 3 -1 -2 Interpolación 82/90 Interpolación de Hermite con Splines INTERPOLACIÓN DE HERMITE CON SPLINES Interpolación 83/90 Interpolación de Hermite con Splines x Ejemplo: y y′ 0 1 0.5 1 0 0 2 2 0 4 1.5 en S 31 (0,1,2,4) 0 2 1.5 1 0.5 1 2 3 4 - 0.5 Interpolación 84/90 Propiedades extremales de los splines cúbicos PROPIEDADES EXTREMALES DE LOS SPLINES CÚBICOS Interpolación 85/90 Propiedades extremales de los splines cúbicos Condiciones comunes: < x N = b . Sea s(x ) el spline cúbico natural o sujeto que interpola los nodos con datos y 0 , … , y N , y adicionales s′′( a ) = s′′(b) = 0 o bien s′( a ) = y0′ , s′(b) = y ′N . 2 Sea f ∈ C [a , b] cualquier otra función que interpole los mismos datos, incluyendo los adicionales. Sea E ( x ) = f ( x ) − s ( x ) .” “Sean los nodos a = x0 < x1 < Lema: b ∫ s′′( x ) E ′′( x )dx = 0. a Interpolación 86/90 Propiedades extremales de los splines cúbicos Demostración: ∫ b a N (por partes) ⎤ s′′( x ) E ′′( x )dx = ⎡ x i −1 ⎢⎣u = s′′, dv = E ′′dx ⎥⎦ s′′( x ) E ′′( x )dx = ∑ ∫ i =1 N ( xi = ∑ s′′( x ) E ′( x ) xii −1 − ∫ i =1 x xi x i −1 s′′′( x ) E ′( x )dx N xi i =1 x i −1 = s′′(b) E ′(b) − s′′( a ) E ′( a ) − ∑ Ki ∫ si es natural: ) E ′( x )dx s′′( a ) = s′′(b) = 0 , si es sujeto: E ′( a ) = E ′(b) = 0 , y además ∫ xi E ′( x )dx = E ( x ) xi = 0 . x x i −1 i −1 Interpolación 87/90 Propiedades extremales de los splines cúbicos Teorema (propiedad extremal): ∫ b a b s′′( x ) 2 dx ≤ ∫ f ′′( x ) 2 dx . a Demostración: ∫ b a f ′′( x ) 2 dx = ∫ (E ′′( x ) + s′′( x ) ) dx b 2 a b b a a = ∫ E ′′( x ) 2 dx + ∫ s′′( x ) 2 dx + 0 b ≥ ∫ s′′( x ) 2 dx. a Interpolación 88/90 Propiedades extremales de los splines cúbicos Teorema (estudio del error): E ( x) ≤ h 3 2 (∫ f ′′(t)dt ) ∀x ∈ [a, b] 1 2 b a , donde h = max ( xi − xi −1 ) es el diámetro de la partición. 1≤ i ≤ N Demostración: E ′( ci ) = 0 , i = 1,…, N , E ( xi ) = 0 ∀i ⇒ ∃ci ∈ [ xi −1 , xi ] luego ∫ x ci E ′′(t )dt = E ′( x ) ∀x ∈ [a , b]. Interpolación 89/90 Propiedades extremales de los splines cúbicos Por otro lado (abreviando) se tiene ∫ x ci E ′′ 2 ≤ ∫ E ′′ 2 = ∫ ( f ′′ − s ′′) = ∫ f ′′ 2 − ∫ s ′′ 2 − 2 ∫ s ′′E ′′ ≤ ∫ f ′′ 2 ; b b a a 2 por la desigualdad de Cauchy-Schwarz ∫ E ′( x ) ≤ y como ∫ x x i −1 x ci b b b b a a a a u, v ≤ u v → ∫ ∫ fg ≤ x x b ci xi a f 2 ∫ g2 E ′′(t ) 2 dt ⋅ ∫ 12 dt ≤ h ∫ E ′′(t ) 2 dt ≤ h ∫ f ′′(t ) 2 dt E ′(t )dt = E ( x ) − E ( xi −1 ) = E ( x ) , entonces se tiene E ( x) = ∫ ≤h Interpolación x x i −1 3 2 E ′(t )dt ≤ ∫ x x i −1 E ′(t ) dt ≤ h 1 2 (∫ f ′′(t) dt ) ( x − x b a 2 1 2 i −1 ) (∫ f ′′(t) dt ) . b 2 1 2 a 90/90