INFORMÁTICA Y PROGRAMACIÓN PRIMER PARCIAL GRUPOS GTM 25 de marzo de 2014, 9 horas. 1. Se considera la función f ( x ) Tiempo: 90 m. sen(2 x 5), x [ / 6, / 3] y el conjunto de puntos: S= Obtén la mínima cota del error de interpolación en el intervalo [ / 6, / 6, / 4, / 3 . / 3] empleando como soporte los puntos del conjunto S. (2 puntos) Solución: La expresión del error de interpolación de Lagrange es: ( x) f ( x) f '''(c) x x x 3! 6 4 3 8cos(2 x 5) , por lo tanto, la expresión del error será: p(x) donde f '''(c ) ( x) 4 cos(2c 5) x 3 x 6 4 x 3 Buscamos ahora la cota de error: | ( x) | | f ( x) 4 max | cos(2 x 5) | max x x [ /6, /3] 3 x [ / 6, /3] p( x) | Para ello, comenzamos tratando de obtener x 6 x 4 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 *) g ( / 3) cos(2 g ( / 6) cos(2 g '( x ) 0 3 6 5) 0.688.62.. 5) 0.97228... 2 sen(2 x 5) 0 2x 5 3 0. 0 De la última expresión obtenemos: 2x 5 0 x 5 / 2( radianes) 143º [ / 3, / 6] 5 2x 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 En lo que respecta a max | g ( x) | 0.97228... x [ / 6, /3] max q ( x ) , siendo q ( x ) x [ / 6, /3] x x 6 obtendrá como: sup(| q ( / 3) |,| q ( / 6) |,| q ( xi *) |), xi * / q '( xi *) son también puntos del soporte, es evidente que q ( / 3) 3 x 2 13 72 2 3 , tendremos que el máximo se 0 . Dado que los extremos del intervalo q ( / 6) buscar los puntos para los que q(x)=0: q’(x)= 3 x2 x 4 0 , por lo que tan sólo será necesario Las raíces de dicha función son: x1 0.93654... q( x1 ) x2 0.63424... q( x2 ) Por lo tanto 0.0069064... 0.0069064... max q ( x) 0.0069064... x [ / 6, /3] Así pues, la cota de error será: | ( x) | | f ( x) 2. p( x) | 4 (0.97228)(0.0069064) 0.00895 3 4 Se considera la función f (x) x(x i ) y el conjunto formado por los puntos 1, 0, 2,3, 6 . Se pide i 0 a) Obtén el polinomio interpolador de Lagrange de f(x). b) (1 punto) 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 (5x 10) 5 x 2 10 x i 0 b) Dado que, tal como se ha indicado en el apartado a), p( x) p '( x ) 3. f '( x) y por lo tanto p '(0) f ( x) , también sucederá que f '(0) 10 y el error cometido sería nulo. 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: 2 2 ( x 1) x , x [ 1, 0] 6 3 x, x [2, 3] 0, x [3, 6] ( x) 0, x [ 1, 2] x 2, x [2,3] x 2 , x [3, 6] 2 ( x) 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 (1) puntos, el tramo polinómico correspondiente a dicho intervalo, p ( x ) , coincide con la función que se interpola: (1) p (1) ( x) 5 x 2 10 x . p ( 0.25) 5( 0.25) 2 10( 0.25) Por 2.1875 . lo 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, x * h] f [ x * 3h, x * h, x * 2h] 4 f ( x * 2 h) 5 f ( x * h) 20h 2 f ( x * 3h) 4h f ( x * 2 h) f ( x * h) h f ( x * h) f ( x * 3h) 4h 5h f ( x * 3h) resulta: p '( x*) f ( x * h) f ( x * 3h) 4h 4 f ( x * 2h ) 5 f ( x * h ) 20h 2 f ( x * 3h) 2h 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 8h3 [8( f ( x*) 2 hf '( x*) f ''( x*) f '''( x * 1h)) 20h 2 6 h2 h3 5( f ( x*) hf '( x*) f ''( x*) f '''( x * 2 h)) 2 6 9h 2 27 h3 3( f ( x*) 3hf '( x*) f ''( x*) f '''( x * 3h))] 2 6 con [0, 2]; 2 [0,1]; 3 [ 3, 0] 1 Despejamos ahora f '( x*) resultando: 8 f ( x * 2 h) 5 f ( x * h) 3 f ( x * 3h) 20h siendo el error de la fórmula: f '( x*) R( f ) h2 (8 f '''( x * 120 1 h) 5 f '''( x * 2 R( f ) h) 81 f '''( x * 3 h)), 1 [0, 2]; 2 [0,1]; 3 [ 3, 0] 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 ) 5. 7h 2 f '''( ); 10 Dada la función [ x * 3h, x * 2h] , calcular la tabla de diferencias divididas para el soporte [ 2, 1, 0.,1, 2] y calcular el polinomio interpolador de Lagrange de dicha función. (1 punto) Solución: Comenzamos construyendo la tabla de diferencias divididas: 2 1 0 1 2 32 31 15 5 0 1 1 0 5 0 1 15 1 31 32 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