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