INFORMÁTICA Y PROGRAMACIÓN PRIMER PARCIAL GRUPOS GTM 25 de marzo de 2014, 9 horas. 1.‐ Tiempo: 90 m. Se considera la función f ( x) sen(2 x 5), x [ / 6, / 3] y el conjunto de puntos: S= / 6, / 4, / 3 . Obtén la mínima cota del error de interpolación en el intervalo [ / 6, / 3] empleando como soporte los puntos del conjunto S. (2 puntos) Solución: La expresión del error de interpolación de Lagrange es: f '''(c) x x x 3! 6 4 3 donde f '''(c) 8cos(2 x 5) , por lo tanto, la expresión del error será: ( x) f ( x) p ( x) ( x) 4 cos(2c 5) x x x 3 6 4 3 Buscamos ahora la cota de error: | ( x) || f ( x) p( x) | 4 max | cos(2 x 5) | max x x x x[ /6, /3] 3 x[ /6, /3] 6 4 3 Para ello, comenzamos tratando de obtener max | g ( x) | siendo g ( x) cos(2 x 5) . El máximo de x[ /6, /3] dicha función se obtendrá: sup(| g ( / 3) |,| g ( / 6) |,| g ( xi *) |), xi * / g '( xi *) 0 . g ( / 3) cos(2 g ( / 6) cos(2 3 6 5) 0.688.62.. 5) 0.97228... 0 g '( x) 0 2 sen(2 x 5) 0 2 x 5 De la última expresión obtenemos: 2 x 5 0 x 5 / 2(radianes ) 143º [ / 3, / 6] 5 2 x 5 x (radianes ) 233º [ / 3, / 6] 2 2 Ninguno de los dos valores de x está dentro del intervalo [ / 3, / 6] , por lo que no los consideramos. Eso significa que: sup(| g ( / 3) |,| g ( / 6) |,| g ( xi *) |) | g ( / 6) | 0.97228... Por lo tanto, tendremos que max | g ( x ) | 0.97228... x[ /6, /3] q ( x) , siendo q ( x) x x x , tendremos que el máximo se 6 4 3 obtendrá como: sup(| q ( / 3) |,| q ( / 6) |,| q ( xi *) |), xi * / q '( xi *) 0 . Dado que los extremos del intervalo En lo que respecta a max x[ /6, /3] son también puntos del soporte, es evidente que q ( / 3) q ( / 6) 0 , por lo que tan sólo será necesario buscar los puntos para los que q’(x)=0: 3 13 q’(x)= 3 x2 x 2 2 72 Las raíces de dicha función son: x1 0.93654... q( x1 ) 0.0069064... x2 0.63424... q ( x2 ) 0.0069064... Por lo tanto max x[ /6, /3] q( x) 0.0069064... Así pues, la cota de error será: 4 | ( x) || f ( x) p( x) | (0.97228)(0.0069064) 0.00895 3 2.‐ Se considera la función f (x) 4 x(x i ) y el conjunto formado por los puntos 1, 0, 2,3, 6 . Se pide i0 a) Obtén el polinomio interpolador de Lagrange de f(x). (1 punto) b) A partir del resultado del apartado a) obtén una fórmula de derivación numérica de tipo interpolatorio que permita aproximar el valor de f '(0) y compara el resultado obtenido con el valor exacto, obteniendo el error cometido. (1 punto) Solución: a) La función f(x) es un polinomio de 2º grado. Dado que el soporte de interpolación está formado por más de 3 puntos (en particular, 5 puntos) el polinomio interpolador coincide con la función. 4 p( x) f ( x) x( x i ) x( x 0 x 1 x 2 x 3 x 4) x(5 x 10) 5 x 2 10 x i 0 b) Dado que, tal como se ha indicado en el apartado a), p ( x) f ( x) , también sucederá que p '( x) f '( x) y por lo tanto p '(0) f '(0) 10 y el error cometido sería nulo. 3.‐ A partir de los datos del ejercicio 2 se desea realizar una interpolación a trozos de f x en el intervalo [1, 6] . La función polinómica a trozos está formada por un tramo polinómico de grado 2 en [1, 2] y dos polinomios de grado 1 en [2,3] y [3, 6] . Se pide: a) Calcula y representa gráficamente, los polinomios de base de Lagrange asociados a los puntos x=2 y x=3. (0.5 puntos) b) Obtén, mediante dicha función, el valor interpolado en x 0.25 . (0.5 puntos) c) Obtén la mínima cota del error de interpolación correspondiente al intervalo [1, 2] . (1 punto) Solución: a) Obtenemos los polinomios de base de Lagrange pedidos: ( x 1) x 6 , x [1, 0] x [2,3] 2 ( x) 3 x, 0, x [3, 6] 0, x [1, 2] 2 ( x) x 2, x [2,3] x 2 , x [3, 6] 2 b) El punto x=‐0.25 pertenece al intervalo [‐1,2]. Dado que la función a interpolar es un polinomio de segundo grado: f ( x) 5 x 2 10 x y en el intervalo [‐1,2] se está realizando una interpolación con un soporte de 3 puntos, el tramo polinómico correspondiente a dicho intervalo, p (1) ( x) , coincide con la función que se interpola: p (1) ( x) 5 x 2 10 x . Por lo p (0.25) 5(0.25) 10(0.25) 2.1875 . (1) 2 tanto, el valor buscado es: c) Dado que en el intervalo [‐1,2] la interpolación es exacta (ver solución del apartado anterior) el error cometido será nulo. 4.‐ Supuestos conocidos los valores que una función f x toma en los puntos x * 3h, x * h, x * 2h , con h>0, se desea: a) Obtener una fórmula de derivación numérica que, utilizando el mencionado soporte, permita aproximar el valor de f x * . (1.5 puntos) b) Determinar el error de derivación numérica de la fórmula hallada en el apartado a). (1.5 puntos) Solución: a) Comenzamos obteniendo el polinomio interpolador, aplicando la fórmula de Newton: p ( x) f ( x * 3h) f [ x * 3h, x * h]( x x * 3h) f [ x * 3h, x * h, x * 2h]( x x * 3h)( x x * h) Derivamos el polinomio interpolador: p '( x) f [ x * 3h, x * h] f [ x * 3h, x * h, x * 2h](2 x 2 x * 2h) Particularizamos ahora la expresión en x=x* resultando: p '( x*) f [ x * 3h, x * h] f [ x * 3h, x * h, x * 2h] 2h Dado que las diferencias divididas que aparecen en la expresión anterior son: f ( x * h) f ( x * 3h) 4h f ( x * 2h) f ( x * h) f ( x * h) f ( x * 3h) h 4h f [ x * 3h, x * h, x * 2h] 5h 4 f ( x * 2h) 5 f ( x * h) f ( x * 3h) 20h 2 f [ x * 3h, x * h] resulta: p '( x*) f ( x * h) f ( x * 3h) 4 f ( x * 2h) 5 f ( x * h) f ( x * 3h) 2h 4h 20h 2 y, simplificando la última expresión, la fórmula buscada será, finalmente: f '( x*) p '( x*) 8 f ( x * 2h) 5 f ( x * h) 3 f ( x * 3h) 20h b) Para estimar el error, partimos de la fórmula obtenida en el apartado anterior y desarrollamos en serie de Taylor alrededor del punto x*: 8 f ( x * 2h) 5 f ( x * h) 3 f ( x * 3h) 20h 1 4h 2 8h 3 f ''( x*) f '''( x * 1h)) [8( f ( x*) 2hf '( x*) 20h 2 6 h2 h3 f ''( x*) f '''( x * 2 h)) 5( f ( x*) hf '( x*) 2 6 9h 2 27 h3 f ''( x*) f '''( x * 3 h))] 3( f ( x*) 3hf '( x*) 2 6 con 1 [0, 2]; 2 [0,1];3 [3, 0] Despejamos ahora f '( x*) resultando: 8 f ( x * 2h) 5 f ( x * h) 3 f ( x * 3h) R( f ) 20h siendo el error de la fórmula: f '( x*) R( f ) 2 h (8 f '''( x * 1h) 5 f '''( x * 2 h) 81 f '''( x * 3 h)), 1 [0, 2]; 2 [0,1];3 [ 3, 0] 120 Así pues, es una fórmula de orden 2. Nota: también se puede expresar el error, de forma más compacta, como: R( f ) 7h 2 f '''( ); [ x * 3h, x * 2h] 10 5.‐ Dada la función el polinomio interpolador de Lagrange de dicha función. , calcular la tabla de diferencias divididas para el soporte [ ‐2, ‐1, 0.,1, 2] y calcular (1 punto) Solución: Comenzamos construyendo la tabla de diferencias divididas: 2 1 0 1 2 32 1 0 1 32 31 15 5 0 1 0 5 1 15 31 Aplicamos ahora la fórmula de Newton para obtener el polinomio interpolador de Lagrange: p( x) 32 31( x 2) 15( x 1) 5 x p ( x) 5 x 3 4 x