Ejercicios para el Tema 4. ! 4.1. Queremos calcular el valor de arctg(x) para cada x = entero/100 ∈ (0, 1) • Si queremos tener errores < 10−6 , estudiar cómo usar la Regla del Punto Medio para conseguirlo: qué longitud h de intervalos escoger. ¿Por qué no usar simplemente el desarrollo de Taylor de arctg(x) , que converge en ese intervalo? Comparar el coste en operaciones. • Si bastase con tener error < 10−4 , el valor! h = 1/100 ya serı́a pequeño de sobra; una posible x alternativa es: calcular aproximadamente la 0 ds/(1 + x2 ) para menos puntos que los pedidos, y luego interpolar linealmente para hallar los restantes valores de arctg(x) . Estudiar esa posibilidad, y comparar el coste en operaciones con el de usar h = 1/100. Usar Matlab para poner a prueba el plan9 , y comparar los resultados con los valores de arctg(x) que da Matlab directamente. ! 4.2. • Hallar los pesos de las Reglas de cuadratura que resultan de interpolar f con 3 ó 4 puntos igualmente espaciados, que incluyan los extremos del intervalo de integración; se las llama respectivamente Regla de Simpson y Regla de los 3/8 (se descubrirá el por qué de este nombre). • Usar el desarrollo de Taylor de f en el punto medio m del intervalo para deducir sus fórmulas de error. Estos son los casos n = 2, 3 de las Reglas de Newton-Cotes; para estas Reglas hay la tradición notacional siguiente: los nodos se llaman xi = x0 + ih , y el intervalo en el que se integra es J = [x0 , xn ] de modo que la longitud de J, que venimos llamando h , será en este caso10 nh ; tenerlo en cuenta, para que las constantes de las fórmulas de error coincidan con las que se encuentran en los libros. • Comprobar que ambas Reglas integran exactamente la función x3 pero no la función x4 (tomar J = [−1, 1] , pero la afirmación vale para cualquier otro). Observar cómo esto permite verificar la constante de las fórmulas de error halladas, pero también deducirla del modo más sencillo. ! 4.3. !1 Suponer que debemos aproximar I = 0 f (x) dx , y que disponemos ya de los 2k + 1 valores f (i/2k ) , que en principio pensamos utilizar con la Regla de Simpson, aplicada a intervalos J de longitud 2/2k . ¿Bajo qué condiciones sobre k será mejor usar esos valores con la Regla Newton-Cotes de 5 nodos, aplicada a intervalos J de longitud 4/2k ? No olvidar cómo intervienen en la respuesta las cotas que tengamos para las derivadas de f , comparar también el coste computacional, y observar lo conveniente que resulta llamar h = 2k en todo el cálculo. ! 4.4. Hallar los nodos de las Reglas Gaussianas con 2 y con 3 nodos (n = 1, 2), de dos maneras: !1 • Imponiendo que cumplan −1 W (x)xk = 0 hasta k = n ; varias de las ecuaciones implicarán algo que era de esperar: que los nodos sean simétricos respecto del 0; las restantes ecuaciones permitirán determinar dónde están. • Buscando los sucesivos polinomios de Legendre Wi con el !algoritmo de Gram-Schmidt aplicado a los monomios 1, x, x2 , . . . y el producto escalar < p, q >J = J p(x)q(x) dx . Observar que no hay que calcular de nuevo, es el mismo cálculo de antes. • Por último, hallar los pesos wi de esas dos Reglas, sus grados y fórmulas de error. 9O una calculadora programable. conveniencia de hacerlo ası́ se entenderá mejor en el Ejercicio siguiente; pero el convenio general es mejor al hablar de Reglas de Cuadratura en general. 10 La 5 POSIBLES RESPUESTAS a los Ejercicios para el Tema 4. (Edición de vı́spera de Reyes; no se garantiza que no tenga más errores de los habituales). ! 4.1. ! • Como se vió en el Ejemplo Inicial de 4.1, el error Ipm (f ) − J f en cada intervalo J de longitud h y centro m es aproximadamente −f "" (m) h3 /24 , y la suma de errores al calcular !x F (x) = 0 f será aproximadamente (f " (0) − f " (x)) h2 /24 . En nuestro caso es f = 1/(1 + x2 ) , y la derivada f " = −2xf 2 alcanza su mı́nimo ≈ −0.65 cuando x2 = 1/3 , con lo que F̃ (x) − F (x) ≈ −f " (x) h2 /24 < 0.65 h2 /24 Esto ya es < 10−6 si tomamos h = 1/200 (para obtener entre otros los 100 valores F (k/100) ). El coste operativo: las 200 evaluaciones11 de h f (mk ) , y 199 sumas. El desarrollo de Taylor de F = arctg es x3 x5 + − ... 3 5 y conseguir precisión es cada vez más caro al acercarse a x = 1 ; pero ya para x = 1/2 , hay que llegar a k = 16 para tener k2k > 106 y garantizar el error deseado. F (x) = x − • Ya hemos visto que el error de cuadratura será F̃ (x) − F (x) ≈ −f " (x) h2 /24 > 0 mientras que el de interpolación lineal en un intervalo J = [a, a + h] será f (x) − P1 (x) = F "" (ξ) W (x)/2 , con W (x) = (x − a)(x − a − h) , F "" = f " < 0 luego será > 0 y de tamaño < 0.65 (h/2)2 /2 = 0.081 h2 . Como P1 (x) usará datos F̃ (x) , los dos errores se restan, y como el primero ya es < 10−4 para h = 1/100 , nos basta garantizar que el segundo también lo sea: que se tenga 0.081 h2 < 10−4 , lo que ya es cierto si h = 3/100 . Coste operativo si usamos ese h : necesitamos 34 valores f (mj ) para calcular las F (jh) , y luego interpolar con pesos 1/3, 2/3 para hallar las restantes F (k/100) . Por lo tanto: – hallar 34 valores h f (mi )/3 , y – hacer 100 sumas, una por cada punto x = /100 . Es obviamente mucho menos que si usamos h = 1/100 . El siguiente código Matlab realiza el plan, y muestra (ver gráfico) su resultado: h= 0.03; m= h∗( 0.5:(1+h)/h ); % puntos medios hf3= h./(1+m.^2)/3; % sumandos Fx= 0; F= 0; for s= hf3, % cuadratura + interpolación F= max(F) + s∗(1:3) ; Fx= [ Fx , F ]; end x= 0:0.01:1; plot( x, Fx(1:length(x)) - atan(x) ) !5 3 x 10 2 1 0 !1 !2 !3 !4 !5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Nótese el efecto de los signos opuestos de ambos tipos de errores, y cómo tanto el error√acumulado de cuadratura como los errores de interpolación van disminuyendo a partir de x = 1/ 3 , que es donde |f " | alcanza su máximo. 11 Un detalle: si tenemos en cuenta que m2 2 2 2 k+1 − mk = 2kh , cada evaluación de hf (mk ) = h/(1 + mk ) cuesta sólo una suma y una división; detalle irrelevante para la potencia de cálculo de un ordenador actual, pero relevante por ejemplo con una calculadora programable. En fin, lo valioso es la idea de que a menudo son posibles este tipo de economı́as. 6 ! 4.2. • En el intervalo I = [−1, 1] , llamemos w0 , w±1 a los pesos de la Regla de Simpson. En este caso es muy fácil escribir e integrar los correspondientes polinomios de Lagrange; los de los nodos ±1 son simétricos respecto de x = 0 , luego tienen en I la misma integral. Los pesos para un J de longitud h serán proporcionales a éstos y con suma h : ! " nodo Li (x) wi = I Li wi cuando i wi = h 0 1 − x2 2(1 − 1/3) 4h/6 1 x(x + 1)/2 2(1/3)/2 h/6 En resumen: los pesos de Simpson son proporcionales a: 1 , 4 , 1 . Con nodos ±1/3, ±1 , el mismo argumento de simetrı́a indica que basta hallar w1/3 , w1 . Lo más simple es exigir que integren exactamente en I los polinomios 1, x2 (la simetrı́a hará que lo hagan con cada función impar): !1 f (x) w1/3 f (1/3) + w1 f (1) = 0 f (x) dx 1 w1/3 + w1 = 1 x2 w1/3 /9 + w1 = 1/3 w1 w1/3 , de donde = 1/4 = h/8 = 3/4 = 3h/8 • Llamando [m − h, m + h] al intervalo12 J , y m + s a la variable, escribimos el desarrollo f (m + s) = f (m) + f " (m)s + f "" (m)s2 /2 + . . . ! y comparamos J f con las dos Reglas Isimp , I3/8 , cuyos pesos acabamos de hallar; los términos impares del desarrollo dan 0 en los tres casos: # f "" (m) 3 f IV (m) 5 f (m + s) ds = f (m) 2h + 2 h /3 + 2 h /5 + . . . 2! 4! J $ % h f "" (m) 2 f IV (m) 4 Isimp (f ) = 2h f (m) + 2 h + h + ... 3 2! 4! $ "" % IV h f (m) 2 f (m) 4 2 4 I3/8 (f ) = 2h f (m) + 2 (h + 3(h/3) ) + (h + 3(h/3) ) + . . . 4 2! 4! Se ve que los términos en h, h3 coinciden en los tres casos, y podemos escribir: # f (m + s) ds ≈ Isimp (f ) + c2 f IV (m) h5 ≈ I3/8 (f ) + c3 f IV (m) h5 J con c2 = 1 1 −1 − = 60 36 90 , c3 = 1 11 3 −2 − (1 + 4 ) = 60 2 4! 3 5 · 34 Con el convenio habitual para estas Reglas, J debe medir 3h en lugar de 2h para la I3/8 (f ), con lo que nuestro h valdrá 3h/2 , que sustituı́do junto con el valor de c3 en la fórmula de error anterior, da la que es tradicional para esta Regla: −3 IV f (m) h5 80 • Podemos verificar esas constantes (y al mismo tiempo los pesos de ambas Reglas) verificando que en J = [−1, 1] se tiene ! 2 x = 2/3 = Isimp (x2 ) , pero J # J x = 2/5 , 4 2 Isimp (x ) = = 3 4 # J x4 + 4 15 , 4 1 d4 (x4 ) = 15 90 dx Para la comprobación de I3/8 (f ) conviene usar J = [−1.5, 1.5] , para tener también h = 1 . 12 Nótese que lo tomamos con longitud 2h , como se hace tradicionalmente para Simpson (ver enunciado). 7 ! 4.3. Con la Regla de Simpson, el error en cada intervalo J de longitud 2h (ver ! 4.2) es ≈ c2 f IV (m) h5 , luego en los 1/2h intervalos que cubren [0, 1] , el error total estará acotado por13 |c2 | K4 h4 /2 , donde o razonando como en ! 4.1, será " J K4 = max |f IV | , IJ (f ) − |c2 | = 1/90 [0,1] ! J f ≈ (f """ (0) − f """ (1)) c2 h4 /2 . Para repetir todo esto con la Newton-Cotes de 5 nodos, podemos aplicarla en I = [−1, 1] a las funciones 1, x2 , x4 , x6 ; dando por sentado que los pesos serán simétricos, y que la Regla integra exactamente hasta grado 4 (además de todas las funciones impares), resulta: ! w0 +2 w1/2 +w1 = !I 1 =2 w1/2 /2 +w1 = !I x2 = 2/3 w1/2 /8 +w1 = !I x4 = 2/5 w1/2 /32 +w1 = I x6 + error = 2/7 + c4 6! h7 de donde salen los pesos y el término de error c4 f 6) (ξ) h7 de esta Regla: (w0 , w1/2 , w1 ) = ( 12, 32, 7 ) /45 , Esto implica un error total ≈ c4 6 5) h |f (1) − f 5) (0)| 4 c4 = 8/945 ≤ c4 6 h K6 4 , K6 = max |f 6) | [0,1] En resumen, Simpson dará menos error total si el cociente K6 /K4 (o el |∆f 5) (0)/∆f """ (0)| ) es > 945/360/h2 = 21 · 22k−3 . El coste computacional es casi igual: con ambas Reglas cada valor f (xi ) (de los que ya disponemos) debe sumarse una vez, y hay unos pocos productos (por los pesos) y sumas finales14 . ! 4.4. • W2 (x) = (x − x0 )(x − x1 ) debe ser “ortogonal” a 1, x en ese intervalo J = [−1, 1] : ! & ' 0 = !J W2 (x) dx = 2/3 + 2x0 x1 , lo que implica −x0 = x1 = 1/3 0 = J W2 (x)x dx = −2(x0 + x1 )/3 . Análogamente, para W3 (x) = (x − x0 )(x − x1 )(x − x2 ) , 0 = −2(x0 + x1 + x2 )/3 − 2x0 x1 x2 0 = 2(x0 + x1 + x2 )/5 + 2(x0 x1 + x0 x2 + x2 x1 )/3 0 = −2(x0 + x1 + x2 )/5 − 2x0 x1 x2 /3 & ' x0 x1 x2 = 0 = x0 + x1 + x2 lo que implica , con lo que los nodos son 0, ± 3/5 . x0 x1 + x0 x2 + x2 x1 = −3/5 W1 = x + c ⊥ 1 , lo que da W1 = x , W2 = x2 + c1 x + c0 ⊥ 1, x , lo que da W2 = x2 − 1/3 , • Lo que buscamos ahora es: W3 = x3 + . . . ⊥ 1, x, x2 , lo que da W3 = x(x2 − 3/5) , como ya hemos calculado antes. • Por el argumento ya repetido, la simetrı́a de los nodos implica la de los polinomios de Lagrange y con ella la de los pesos; luego los de la regla G1 son iguales. Su grado, en lugar de sólo n = 1 (n + 1 nodos) es para una Regla Gaussiana 2n + 1 = 3 , y el error será por lo tanto el que se comete al usarla para integrar f (x) = x4 : # −8 −8 f 4) (ξ) −1 G1 (x4 ) − x4 = 2/9 − 2/5 = = (|J|/2)5 = |J|5 f 4) (ξ) 45 45 4! 45 · 4 · 4! J Los 3 pesos w0 , w± de la Regla G2 serán también simétricos; como es de grado 2n + 1 = 5 , debe integrar bien 1, x2 , x4 , pero no x6 , de donde deducimos los pesos y la fórmula de error: + w + 2w = 2 0 + (8, 5) −8 −|J|7 f 6) (ξ) 2w+ (3/5) = 2/3 ⇒ (w0 , w+ ) = , pero 2w+ (3/5)3 − 2/7 = = 9 175 175 · 16 · 6! 2w (3/5)2 = 2/5 + 13 Nótese 14 Pero que la longitud del intervalo, que aquı́ es =1, entrarı́a como un factor en esta fórmula. alguna linea más de código si usamos esta Regla que con Simpson. 8