You are on page 1of 78
390 Cap. 7 INTEGRACION NUMERICA ‘Tabla 7.2 La regla compuesta del trapecio para f(x) = 2+sen(2vz) en [1,6]. M a T(FA) Er(f,h) = O(h) 10 | 0.5 8.19385457 —0.01037540 20 | 0.25 818604926 —0.00257006 40 | 0.125 8.18412019 —0.00064098 80 | 0.0625 | 8.18363936 —0.00016015 160 | 0.03125 18351924 10004003 Ejemplo 7.7. Consideremos f(z) = 2 + sen(2Vz) y vamos a analizar el error cuando usamos la regla compuesta del trapecio en el intervalo [1,6] y el ndmero de subintervalos es 10, 20, 40, 80 y 160. En la Tabla 7.2 se muestran las aproximaciones T(f,h). Una primitiva de f(z) es sen(2V) F(z) = 22 — yeeos(2vz) + as{ que el valor de la integral definida con once cifras significativas es 6 - [ fla) de = F(2)|" = 8.1834792077, le la que es el valor que se usa para calcular los errores E(f,h) = 8.1834792077 — T(f,h) que se muestran en la Tabla 7.2. Es importante observar que conforme fh disminuye en un factor de , los errores sucesivos Er(f,h) disminuyen en un factor de, aproximadamente, +; esto confirma que el orden de aproximacién es O(h”). = Hjemplo 7.8. Consideremos f(z) = 2+ sen(2/z) y vamos a analizar el error cuando usamos la regla compuesta de Simpson en el intervalo [1,6] y el nimero de subintervalos es 10, 20, 40, 80 y 160. En la Tabla 7.3 se muestran las aproximaciones S(f,h). El valor exacto (con once cifras) de la integral 81834792077, calculado antes, es el que usamos para determinar los errores Es(f,h) = 8.1834792077 — S(f,h) que se muestran en la Tabla 7.3. Es importante observar que conforme h disminuye en un factor de 3, los errores sucesivos Es(f,h) disminuyen en un factor de, aproximadamente, iyi esto confirma que el orden de aproximacién es O(A*). . Ejemplo 7.9. Vamos a determinar el niimero M de subintervalos y el incre- mento h de manera que el error Ex(f,h) de la regla compuesta del trapecio en la aproximacién [! dz/z~T(f,h) sea menor que 5 x 10-*. SEC. 7.2 LAS REGLAS COMPUESTAS DEL TRAPECIO Y DE SIMPSON 391 Tabla 7.3 La regla compuesta de Simpson para f(z) = 2+sen(2vz) en [1,6]. M A S(fA) Es(f,h) = O(h*) 5 | 05 8.18301549 0.00046371 10 | 0.25 8.18344750 0.00003171 20 | 0.125 8.18347717 0.00000204 40 | 0.0625 | 8.18347908 0.00000013 80 | 0.03125 | 8.18347920 0.00000001 El integrando es f(x) = 1/z y sus dos primeras derivadas son f(x) = —1/z? y fe) = 2/28; por tanto, el valor méximo de | f©)(z)| en [2, 7] se alcanza en el punto z = 2, lo que nos proporciona la cota | f()(c)| < | (2)| = } para2 k=1 evaluando f(z) en los-M +1 nodos equiespaciados 2, = a+ kh, para k =0, 1, 2, ..., M. Nétese que 29 =a y que zy = 6. function s=traprl(f,a,b,M) % Datos 4 - # es el integrando, dado como una h cadena de caracteres *£’ % - ay b son los extremos inferior y superior del h intervalo de integracién h - Mes el nimero de subintervalos % Resultado % ~ s es la aproximacion obtenida con la % regla compuesta del trapecio h=(b-a) /M; s=0; for M-1) \+h*k | s=s+feval (f,x); end s=h«(feval(f,a)+feval(f,b))/2th+s; | Programa 7.2 (Regla compuesta de Simpson). Construccién de la aproximacién a la integral i ve 7 f[ sede= Fr + 10+ 2D few + ZY Hon a k=1 h=1 evaluando f(z) en los 2M +1 nodos equiespaciados 2, =a+kh, para k =0, 1,2,..., 2M. Notese que to =a y que tay =b. function s=simprl(f,a,b,™) % Datos % - f es el integrando, dado como una % cadena de caracteres ’f” 304 Cap. 7 INTEGRACION NUMERICA % ~ ay b son los extremos inferior y superior del % intervalo de integracién h = Mes el némero de subintervalos % Resultado 4 ~ s es la aproximacién obtenida con la % regla compuesta de Simpson he (b-a) / (244) 5 for k=1: xsath*(2*k-1) 5 si=sitfeval(£,x); end for ket:(M-1) x=ath*2*k; s2=s2+feval (f,x); end s-h*(feval (f,a)+feval(£,b) +4*91+2%82)/3; Ejercicios 1. @ Aproxime cada una de las siguientes integrales usando la regia compuesta del trapecio con M = 10. (@) Aproxime cada una de las siguientes integrales usando la regia compuesi® de Simpson con M = 5. (a) [iQ +22)4dz — (b) fo (2+sen(2vz)) de (o) Sas d2/VE (d) feet de (e) Jo 2xcos(z) dar (f) [Z sen(2z)e-* dz 2, Longitud de una curva. La longitud de una curva y = f(z) definida sobre un intervalo a 1y que los puntos {2 = a+kh} dividen [a, 6] en 27 = 2M subintervalos del mismo tamaiio h = (b— a)/27. Las reglas del trapecio T(f,h) y T(f,2h) verifican la telacién qa T(f,h) = FUL BS) AS fle 1): 400° Cap. 7 INTEGRACION NUMERICA y=fe) @ a 6 a (©) @ Figura 7.8 (a) T(0) es el drea de 2° = 1 trapecio. (b) T(1) es el area de trapecios. (c) T(2) es el drea de 2” = 4 trapecios. (d) T(3) es el area fis 2 = 8 trapecios. Definicién 7.3 (Sucesién de aproximaciones con la regia del trapecio). Se define T(0) = (h/2)(f(a) + f(6)), que es la regla del trapecio con incremento h=b—ay, para cada J > 1, se define T(J) = T(f,h), donde T(f, h) es la veala del trapecio con incremento h = (b — a)/2/. Corolario 7.4 (Regla recursiva del trapecio). A partir del valor inicial T(0) = (h/2)(F(a) + f(0)), la sucesién {T(J)} de aproximaciones dadas por la regla del trapecio viene generada por la férmula recursiva T=) ihc. (2) T(J) = +AS fon) 1) para J=1, 2 oy siendo h = (b—a)/27 y {a, =a+ kh}. Demostracién. En los nodos pares xp < z2 <--- < zaw—2 < tay, usamos la regia del trapecio con tamaiio de paso 2h: (3) T= 1) = Ay + 2p tafe t+ haa + Ohana + fa) i ; f SEC. 7.3 REGLAS RECURSIVAS Y METODO DE ROMBERG. 401 En todos los nodos tp < 2; < 22 <--- < 22y-1 < 22m, usamos la regla del trapecio con tamaiio de paso h: (4) TO) = Bot 2f + 2h ++ Bann + Bhs + fam). Agrupando los subindices pares impares de la expresién (4): M () (I) = Bo + 2fe +--+ Dfanea + faa) +8 fran a y sustituyendo (3) en (5), obtenemos T(J) = T(J—1)/2+h DM, for, lo que concluye la prueba. % Ejemplo 7.11. Vamos a usar la regia recursiva del trapecio para calcular las aproximaciones T(0), T(1), T(2) y T(3) a la integral f° de/z = In(5) — In(1) = 1609437912. En la Tabla 7.4 se muestran los nueve puntos necesarios para calcular T(3) y los puntos medios necesarios para calcular T(1), T(2) y T(3). Las operaciones detalladas son: Cuando h T(0) = $(2.000000 + 0.200000) = 2.400000. Cuando A Tl) = ou + 2(0.333333) = 1.200000 + 0.666666 = 1.866666. T(2)= a + 1(0.500000 + 0.250000) =0: 00839 + 0.750000 = 1.683333. T(3) = le +5 5(0. 666667 + 0.400000 * sari + 0.222222) = 0.841667 + 0.787302 = 1.628968. . Nuestro siguiente resultado establece una relacién muy importante entre la regla del trapecio y la regla de Simpson. Cuando calculamos la aproximacién dada por la regla del trapecio usando incrementos 2h y h, obtenemos T(f, 2h) y T(f,h), respectivamente; pues bien, estos valores pueden combinarse para obtener la aproximacién dada por la regla de Simpson: 6 s(n) = = aT. 2h) 402 Cap. 7 INTEGRACION NUMERICA ‘abla 7.4 Los nueve puntos necesarios para calcular T(3) y los puntos medios necesarios para calcular T(1), T(2) y T(3)- Puntos medios | Puntos medios | Puntos medios 1 | Extremos para para para para z \f(e)=2| calcular T(0) | caleular T(1) | caleular T(2) | calcular T(3) z 1.0 | 1.000000 1.000000 | 1.5 | 0.666667 0.666667 2.0 | 0.500000 0.500000 2.5 | 0.400000 0.400000 3.0 | 0.333333, 0.333333 3.5 | 0.285714 0.285714 4.0 | 0.250000 | 0.250000 4.5 | 0.222222 0.222222 5.0 | 0.200000 0.200000 | ‘Teorema 7.5 (Regla recursiva de Simpson). Supongamos que {T(J)} es la sucesién de aproximaciones obtenidas con la regia del trapecio generada recursivamente como se muestra en el Corolario 7.4. Si J > 1 y S(J) es la aproximacién dada por la regla de Simpson con 27 subintervalos de (a, }], en- tonces S(J) y las aproximaciones obtenidas con la regla del trapecio T(J — 1) y T(J) verifican la relacion @ S(J) para J=1, 2, Demostracién. La regla del trapecio con incremento h proporciona la aproxi- macién —1 + fam) e A ce [ae Sl ah tafe boo Baa a 2 =T(J) y la regia del trapecio con incremento 2h produce : (9) f Feydrw A fo4 Bhat + Bawa fax) =TU -D- Multiplicando la relaci6n (8) por 4: ; 4 fe) dem WOfe taf + fa t+ Afana + Afonnn + 2h) =4T(J) (10) Sec. 7.3 REGLAS RECURSIVAS Y METODO DE ROMBERG 403 y restando (9) de (10) obtenemos b ; af Fla) dx A fo + 4f + 2fa +--+ 2fasea + 4fame—1 + fom) =4T(J)-T(J-1), (a expresién que podemos arreglar un poco para deduciz i ff todd Blot ah + Ba bot Bawa + Afar + fs) 12 a) _ AT(J) -T(J-1) r 3 El término central de la relacin (12) es la aproximacién dada por la regla de Simpson S(J) = S(f,A), lo que concluye la prueba del teorema. . Ejemplo 7.12. Vamos a usar la regla recursiva de Simpson para calcular las aproximaciones 5(1), 5(2) y 5(3) a la integral del Ejemplo 7.11. Usando los resultados del Ejemplo 7.11 y la formula (7) con J = 1, 2 y 3, obtenemos 4T(1)—T(0) _ 4(1.866666) ~ 2.400000 S() = A 7 = 1.688888, 5(2) = arr) = 40.885988) — 1.860008 = 1.622222, -T(2) . sta) 418) T(2) _ 4(1 25968) 83333 _ 5 e086, x En la Seccién 7.1 introdujimos la f6rmula de aproximacién de la regla de Boole en el Teorema 7.1. Para deducirla, lo que hicimos fue integrar el polinomio interpolador de Lagrange de grado cuatro para los nodos zo, £1, £2, £3 ¥ Ts. (Un método alternativo para establecer la regla de Boole se menciona en los ejercicios.) La aplicacion de la regla de Boole M veces sobre 4M subintervalos de [a,8] que tienen todos el mismo tamagio h = (b — a)/(4M), se llama regla compuesta de Boole: 2h (3) BLA =E T Far) SO fies + 32fan—s + 12 fanz + 32fan— = El siguiente resultado muestra la relacién existente entre las reglas recursivas de Boole y Simpson. Teorema 7.6 (Regla recursiva de Boole). Supongamos que {S(J)} es la sucesién recursiva ce las aproximaciones dadas por el método de Simpson generadas como se explica en el Teorema 7.5. Si J > 2y B(J) es la aproximacién 404 Cap. 7 INTEGRACION NUMERICA dada por la regla de Boole con 2 subintervalos de (a, 8], entonces B(J) y las aproximaciones obtenidas con la regla del Simpson S(J—1) y S(J) verifican la relacién (14) Bi) = SSD iparan eoDe ye Demostracién. La demostracién se deja como ejercicio. . Hjemplo 7.18. Vamos a usar la regla recursiva de Boole para calcular las apro- ximaciones B(2) y B(3) a la integral del Ejemplo 7-11. Tsando los resultados del Ejemplo 7.12 y la formula (14) con J = 2 y 3, obte- nemos BQ) = 185) — sl) = 16(1.697070) — 1.688888 _ 1.617778, 5 16518) = S(2) _ 26(1.610846) — 1.622222 _ 1.610088. i 5 B(3) = Puede que usted se pregunte hasta dénde queremos llegar. Vamos @ probar ahora que las formulas (7) y (14) son casos especiales del proceso conocido como método de integracién de Romberg; pero antes anunciemos ya que el siguiente nivel de aproximacién a la integral del Ejemplo 7.11 es 4B) B(2) Sa(1-610088) — 1.617778 = 1.609490, respuesta que tiene una precision de cinco cifras decimales. Método de integracién de Romberg En la Seccién 7.2 vimos que los términos del error Er(f,h) y Es(f,h) de las reglas compuestas del trapecio y Simpson soa de orden Oh’) y O(h#), respee- tivamente. No es dificil probar que el término del error para la regla compuesta de Boole Ex(f, h) es de orden O(h®); asi que tenemos el patron ‘ (18) [ f@)e= 714.0) O08), : (16) [ fea= ste. +00), *» a7) f[ fla) dz = B(f,h) + O(08). El patrén de los restos en las férmulas (15), (16) y (17) puede extenderse en el siguiente sentido: Supongamos que usamos una aproximacién con incremen- tos h y 2h, entonces podemos manipular algebraicamente ambas respuestas pera ANH IENHTS Sec. 7.3 REGLAS RECURSIVAS Y METODO DE ROMBERG 405 obtener una respuesta mejorada, de manera que cada nivel de mejora incrementa el orden del término del error de O(h?”) a O(h?*#). Este proceso, llamado método de integracién de Romberg, tiene sus ventajas pero también sus inconvenientes. Las formulas de Newton-Cotes apenas se usan més allé de la regla de Boole, esto se debe a que en las reglas de cuadratura de Newton-Cotes con nueve o més nodos aparecen pesos negativos que podrian producir errores por pérdidas de cifras significativas en los redondeos. El método de Romberg tiene las ventajas de que todos los pesos son positivos y de que las abscisas equiespaciadas son faciles de calcular. Una de las debilidades computacionales del método de Romberg es que para reducir el orden del error de O(h?) a O(h?" +) es necesario realizar el doble de evaluaciones de la funcién. Sin embargo, el uso de las reglas recursivas permite mantener bajo el nimero de operaciones. El desarrollo del método de Romberg se basa en el hecho tedrico de que si f € C%[a,6] para todo NV, entonces el término del error de la regla del trapecio puede representarse como una serie de potencias de h que s6lo contiene potencias pares; es decir, , as) ff Heyae=TU.0) + Br(Fh), siendo (as) Erp(fyh) = ayh? + agh! +agh? ++: Una deduccién de la formula (19) puede encontrarse en la Referencia [153]. Puesto que en el desarrollo dado en (19) s6lo aparecen potencias pares de h, podemos usar el método de Richardson, que vimos en el capitulo anterior, para ir eliminando a}, a2, a3, ..., ¥ generar formulas de cuadratura cuyos términos del error tengan érdenes de aproximacién O(h*), O(h®), O(h®) y asi sucesivamente. Vamos a probar que la primera mejora que se obtiene es la regia de Simpson con 2M intervalos. Partiendo de T(f,2h) y T(f,h) y de las relaciones 5 (20) if f(z) dx = T(f,2h) + a,4h? + a216h* + a364h® +--- e 4 (21) [ f(a) dx =T(f,h) + ayh? + agh* + ash ++, multiplicamos la relacién (21) por 4, » (22) af f(a) dz = 4T(f,h) + a14h? + ap4h* + a34h® +-- 406 Cap. 7 INTEGRACION NUMERICA y eliminamos a; restando (20) de (22), con lo que obtenemos . (23) af f(c) de = 4T(f,h) — T(f, 2h) — a212h* — ag60h° — + ~~ ‘Ahora dividimos la relacién (23) entre 3 y renombramos los coeficientes de la serie para obtener cf teeyde = ED LED ait tant Como vimos en (6), el primer término del miembro derecho de (24) es la formula de cuadratura de la regia de Simpson S(f,). La relacién (26) prueba, ademés, que el término Es(f,h) contiene s6lo potencias panes de h: (28) ff 1) 40 SUN +b +b + bP to Para probar que la mejora que se obtiene en el segundo paso es la regla de Boole, empezamos con la relacién (25) y con la formula correspondiente al incremento 2h que se obtendria para S(f, 2h): . (26) fs f(a) de = S(f, 2h) + by 164 + b64N8 + 63256h8 +--+ Cuando eliminamos b; usando (25) y (26), lo que obtenemos es la regla de Boole 2 165(f,h) — S(f, 2h) 48n> 240h8 [roe- (fh) — S(F,2h) _ be by (7) - 15 Si. Sa ee 48h b3240h8 15 15 El esquema general para el método de integracién de Romberg se basa en el Lema 7.1. Lema 7.1 (Esquema de Richardson para el método de integracién de Romberg). Dadas dos aproximaciones R(2h,K — 1) y R(h,K ~1) de una cantidad Q que verifican (28) Q= RUA, K —1) + c,h? + oph?X4? +. y (29) Q=R(2h,K-1) 404% PK + 04k tT PK? oe, entonces podemos construir una aproximacién mejor que viene dada por la formula 4 R(h, K — 1) — R(2h,K — (30) ge 2 a K=) , o(n2x+2) La demostracién queda propuesta como ejercicio. SEC. 7.3 REGLAS RECURSIVAS Y METODO DE ROMBERG 407 Tabla 7.5 Esquema de integracién de Romberg. | _R(J,0) RUJ,1) R(J,2) RUJ,3) R(J,4) | Regla del Regla de Regla de ‘Tercera Cuarta J trapecio Simpson Boole mejora mejora 0 | R(0,0). 1| RG,0) =n). 2 R(2, 0) = R, 1) _——= R@2, 2) 3 R(3, 0) (3, 1) = R(3, 2)__-—= R(3, 3). 4] (40) RG, 1) RG, 2)__ = R43) = RGA, 4) Definicién 7.4. Se define la sucesién {R(J,K) : J > K}Pig de formulas de cuadratura para aproximar la integral de f(z) en (a, 6] de la siguiente manera R(J,0)=T(J) para J > 0, que es la regla recursiva del trapecio. (31) -R(J,1)=S(J) para J > 1, que es la regla recursiva de Simpson. R(J,2)=B(J) para J > 2, que es la regla recursiva de Boole. i Las formulas {R(J, 0)} de partida se usan para generar las primeras mejoras {R(J,1)} que, a su vez, se usan para generar las segundas mejoras {R(J,2)}; ya hemos visto como se hace esto: 1 ruy=4 REO = para J>1 (32) E a aye SRIDERI=ED yy roa, que no son més que las relaciones (24) y (27) escritas con la notacién dada en (31). La regla general para construir recursivamente las mejoras es _ 4*R(J,K - 1) - R(J-1,K-1) (33) RU, K)= et En la practica, los valores R(J,K) se disponen en una tabla, que se llama esquema de integracién de Romberg, como la Tabla 7.5. para J>K. Ejemplo 7.14. Vamos a usar el método de integracién de Romberg para calcular aproximaciones a la integral definida = . 2+ > + = 2.038197427067.. «/2 [ (2? + 2+ 1) cos(z) de = 0 Los célculos se muestran en la Tabla 7.6, donde se puede apreciar que, en cada columna, los valores convergen a 2.038197427067... y, también, que los valores 408 Cap. 7 INTEGRACION NUMERICA Tabla 7.6 Esquema de integracién de Romberg para el Ejemplo 7.14. R(J,0) R,1) R(J,2) R(J,3) Regla del Regia de Regla de Tercera trapecio Simpson Boole mejora 0.785398163397 1.726812656758 2040617487878 1.960534166564 2.038441336499 2.038296259740 2018793948078 2.038213875249 2,038198711166 2.038197162776 2.033347341805 2.038198473047 2.038197446234 2.038197426156 2,036984954990 2.038197492719 2.038197427363 2.038197427064 apnervro|S ‘Tabla 7.7 Tabla de los errores del esquema de Romberg para el Ejemplo 7.14. J\ bh E(J,0) = O(h?) | E(J,1) = O(h4) | E(J,2) = O(A*) | E(J,3) = O(A°) b—a | —1.252799263670 | —0.311384770309 | 0.002420060811 —0.077663260503 | 0.000243909432 | 0.000098832673 —0.019403478989 | 0.000016448182 0.000001284099 | —0.000000264291 —0.004850085262 | 0.000001045980 | 0.000000019167 | —0.000000000912 .0.001212472077 | 0.000000065651 | 9.000000000296 | —-0.000000000003 dados por la regla de Simpson convergen més répidamente que los dados por la regla del trapecio; ms generalmente, en este ejemplo la convergencia en cada columna es més répida que en Ja columna adyacente por la izquierda. La convergencia de los valores dados en el esquema de Romberg que se muestra en la Tabla 7.6 se aprecia mejor si miramos los errores E(J, K) = —2+7/2 +07 /4- R(J,K). Sea h = b—a la anchura del intervalo de partida y supongamos que las derivadas de orden superior de f(z) son todas de la misma magnitud. Entonces el error en la columna K-ésima del esquema de Romberg debe ir disminuyendo segiin, mds o menos, el factor 1/22X+? = 1/4%*1 conforme descendemos: Los errores E(J,0) disminuyen segin el factor 1/4, los errores H(J,1) disminuyen segiin 1/16, y asi sucesivamente. Esto puede observarse analizando los elementos {E(J,K)} que se muestran en la Tabla 7.7. 1 i SEC. 7.3 REGLAS RECURSIVAS Y METODO DE ROMBERG 409 eorema 7.7 (Precisién del método de integracién de Romberg). Su- pongamos que f € C?*+2(q,b]. Entonces los errores de truncamiento de las aproximaciones generadas con el método de Romberg vienen dadas por Ve J (2) da = R(J, K) + by h?X+? fOK+9)(0,,) = R(J,K) + O(n?*+?), (34) donde h = (b— a)/2, la constante bx-s6lo depende de K y cnx es un n puto que esté en [a,b] (véase la Referencia [153], pagina 126). Ejemplo 7.15. Vamos a aplicar el Teorema 7.7 para probar que 2 i 10x dz = 1024 = R(4,4). 0 El integrando f(z) = 102° verifica que f(x) = 0; por tanto, para el valor K = 4 el término del error debe ser identicamente cero. Haciendo los célculos se comprueba que R(4,4) = 1024. MATLAB Programa 7.3 (Regla recursiva del Trapecio). Construccién de las | aproximaciones F(z) usando recursivamente la regla del trapecio conforme se incrementa el niimero de subintervalos de (a, 6]. En la iteracién J-ésima se toman los valores dé f(z) | en 27 +1 nodos equiespaciados. | function T=rctrap(f,a,b,n) % Datos h - f es el integrando, dado como una % cadena de caracteres ’f? 4 - ay b son los extremos inferior y superior del 4 intervalo de integracién h - nes el nimero de veces que se hace la recursién % Resultado h - T es la lista de las aproximaciones obtenidas con la % regla recursiva del trapecio 410 Cap. 7 -INTEGRACION NUMERICA M=1; h=b-a; ‘ T=zeros(1,n+1); T(1)=h« (feval (f,a)+feval (f,b))/25 for k=1:M/2 x=ath*(2¥k-1) 5 s=stfeval(f£,x); end T(j+1)=T(j)/2+h*s 5 end Programa 7.4 (Método de Integracién de Romberg). Construccién de la tabla de aproximaciones R(J, K) (para J > K) a la integral j [ t@aexRU.K) | dando R(J +1,J +1) como respuesta final. Las aproximaciones R(J, K) se guardan en una matriz triangular inferior R: los elementos R(J,0) estén en la primera columna de R y son las aproximaciones obtenidas con la regla recursiva del trapecio con 2/-+ subintervalos de {a, b]; los restantes elemen- tos R(J, K) (que se almacena en R(J,K+1) se calculan usando el método de Romberg de manera que los elementos de la fila J-ésima de R son RU, K) = RU,K ~1) + SEK DRED, para 1 < K < J. El criterio de parada del programa es que se termina de iterar en la fila (J +1)-ésima cuando |R(J, J) — R(J +1, J +1)| < tol. function [R,quad,err,h]=romber(f,a,b,n,tol) % Datos - f es el integrando, dado como una cadena de caracteres ’f’ - ay b son los extremos inferior y superior del intervalo de integracién - nes el nimero maximo de filas de la tabla - tol es la tolerancia Resultados - H es el esquema de Romberg SEC. 7.3 REGLAS RECURSIVAS Y METODO DE ROMBERG 411 % - quad es la aproximacién a la integral % - err es una estimacién del error % - h es el menor de los incrementos usados Met; neb-a; err=1; J=0; Rezeros (4,4); R(1,1)=h*(feval(f,a)+feval(f,b))/2; while ((err>tol)&(J wy + Bu. +27wy + dwg = 64 wy + 16we + 8lws + 2564 = we . Establezca la relacién B(J) = (165(J) — S(J — 1))/15 para el caso J = 2 usando los siguientes hechos: s= in +4n+ fo “4 50) =A +4h +2 + 4fe+ fo . Regla 2 de Simpson. Consideremos dos reglas del trapecio sobre el intervalo [to,23]: la primera, T(f,3h) = (3h/2)(fo + fs) con incremento 3h y, la se- gunda, T(f,h) = (h/2)(fo + 2. 2f2 + fs) con incremento h. Pruebe que la combinacién lineal (9T(f,h) — T(f,3h))/8 coincide con la regla 3 de Simpson. SEC. 7.3 REGLAS RECURSIVAS Y METODO DE ROMBERG 413 7. Use las relaciones (25) y (26) para establecer la relacién (27). 8. Use las relaciones (28) y (29) para establecer la relacién (30). 9. Determine el menor ntimero natural K para el que (a) ff 80" dz = 256 = R(K, K). (b) fy L1a!° da = 2048 = R(K, K). 10. Se ha usado el método de integracién de Romberg para aproximar las integrales ( Jp VEde y (ii) Jf 2#? dt y los resultados obtenidos se muestran en la tabla siguiente: ‘Aproximaciones a (i) | Aproximaciones a (ii) (0,0) =0.5000000 | 22(0, 0) = 1.000000 R(1,1)=0.6380712 | R(1, 1) =0.6666667 R(2,2)=0.6577566 | R(2, 2) = 0.666667 R(3,3) =0.6636076 | -R(3, 3) =0.6666667 R(4,4) =0.6655929 | (4,4) =0.6666667 (a) Use el cambio de variable t?, con lo cual dx = 2tdt, para probar que las dos integrales tienen el mismo valor numérico. (b) jPor qué es més lenta la convergencia de la sucesién generada por el método de Romberg en la integral (i) que en la integral (ii)? 11. Método de Romberg basado en la regla del punto medio. La regla compuesta del punto medio es comparable con la regla compuesta del trapecio en lo que respecta al coste computacional y a la velocidad de convergencia. En la regla del punto medio ; ff Se)de= MU,n) + Bul f.h), la formula de cuadratura M(f,h) y su término del error Enc(f,h) vienen dados por .- 1 ba mgm =nS1 (a+ (k-3) 4), siendo h= ¥ Eu(f,h) = arh? + agh* +agh® +--+ (a) A partir de coy = 2524 ( desarrolle la regla del punto medio de forma sucesiva: M(J) = M(f,hy) = ust (e+ (#- 5) a) ; = 414 Cap. 7 INTEGRACION NUMERICA 2 (b) Muestre que la regla sucesiva del punto medio puede usarse en lugar de Ja regla recursiva del trapecio en el método de integracién de Romberg. siendo hy = Algoritmos y programas 1. a Use el Programa 7.4 para dar aproximaciones a las integrales del Ejercicio 1 que tengan una precisién de once cifras decimales. + Use el Programa 7.4 para dar aproximaciones a las dos integrales definidas siguientes que tengan una precisién de diez cifras decimales. Sabiendo que el valor exacto de cada una de ellas es 7, explique las diferencias que puedan aparecer en las velocidades de convergencia de las dos sucesiones generadas por el método de Romberg. (a) [ Var#ee (b) f 4 de I+ - La funcién de densidad para la distribucién de probabilidad normal es f(t) = Q/v2ne"/? y la fancién de distribucién correspondiente viene dada por (2) = 5+ ef en? at. Calcule los valores de (0.5), (1.0), ®(1.5), 8(2.0), (2.5), 6(3.0), (3.5) y (4.0) con una precisién de ocho cifras decimales. |. Modifique el Programa 7.3 de manera que el criterio de parada sea el de ter- minar las iteraciones cuando dos aproximaciones sucesivas T(K — 1) y T(K) de la regla recursiva del trapecio difieran en menos que 5 x 10-8 - Modifique el Programa 7.3 de manera que sirva para calcular las aproxima- ciones dadas por las reglas recursivas de Simpson y Boole - Modifique el Programa 7.4 de manera que sirva para utilizar el método de integracién de Romberg generado a partir de la regla del punto medio (use los resultados del Ejercicio 11). Use su programa para aproximar las siguientes integrales con una precisién de diez cifras decimales, (a) [2a (b) [ Fe ~ En el Programa 7.4, las aproximaciones a la integral definida dada se alma- cenan en la diagonal principal de una matriz triangular inferior. Modifique el Programa 7.4 de manera que las filas sucesivas del esquema de Romberg se almacenen en una matriz columna R de orden n x 1, con el consiguiente ahorro de memoria del computador. Compruebe su programa con las integrales del Ejercicio 1. SEC. 7.4 INTEGRACION ADAPTATIVA 415 Integracién adaptativa Las reglas compuestas de cuadratura necesitan nodos equiespaciados; tfpica- mente, se usa tn incremento pequeiio h de manera uniforme en todo el intervalo de integracién para garantizar una precisién global. Este proceso no tiene en cuenta el hecho de que en algunas porciones de la curva puedan aparecer oscila- ciones més pronunciadas que en otras y, en consecuencia, requieran incrementos més pequefios para conseguir la misma precisién. Seria entonces interesante disponer de un método que vaya ajustando el incremento de manera que sea menor en aquellas porciones de 4a curva en las que aparezcan oscilaciones mas pronunciadas. El método que vamos a presentar, que se basa en la regla de Simpson, se llama integracién adaptativa 0 cuadratura adaptativa. La regla de Simpson utiliza dos subintervalos en [a, bx]: @) Sane) = EC F(an) + 4F (cn) + 106), donde cy = }(a + bg) es el centro de (ax, bs] yh = (by — ax)/2. Es més, si Ff € C4[ax, dy], entonces existe un punto dy € [ax, by] tal que be a ft @) [teas = Sax, 6) - pe) Refinamiento La regla compuesta de Simpson que utiliza cuatro subintervalos de [a,, Bx] se ob- tiene dividiendo este intervalo en dos subintervalos del mismo tamavio (4x1, de] y [ax2, bg] ¥ aplicando la formula (1) en cada trozo, para lo cual sélo necesita- mos dos evaluaciones adicionales de f(z): cy Seu be) + Sua) = B plans) +44(ci) + fbn) + E(saxs) +44 (cia) + f(bn2)) donde ag: = ag, ber = G42 = Ch, bar = be, Cer es el punto medio de [agz, ber] ¥ cx @s el punto medio de {ag2, bj2]. En la formula (3) el incremento es h/2, razén por la cual aparece h/6 en el miembro derecho de la formula. Es més, si f € C¥fa, bj, entonces existe un valor dz € [ax, by] tal que aS f(s) 16. 3” i @) J fe) de= Storsbu)+ Sled) ~ 416 CAP. 7 INTEGRACION NUMERICA Supongamos que f(*)(d;) x f(4)(d2), entonces podemos usar los miembros derechos de las formulas (2) y (4) para obtener la relacién 28 f(a) 16 90 (4), (8) S(axsbn) — HD 2 (041, bus) + 8(0425bx2) — que podemos escribir como 8) (ds 16 6) WL) ns 18 (Santas) + 5042s ra) — (0H, b))- Sustituyendo (6) en (4) obtenemos la estimacidn del error: be f(z) dx — S(ax1, bx) — S(an2, bia) (7) os % 15" ‘S(Gir, dex) + S(ax2, be) — S(axs be)| « Para compensar el uso de la hipétesis de que f“)(d:) = f( (da), ala hora de desarrollar el método, la fraccién < se sustituye por la més conservadora en el miembro derecho de (7). Esto justifica plantearse el siguiente criterio de exactitud. Criterio de exactitud Supongamos que especificamos una tolerancia ¢, > 0 para la aproximacién a la integral en el intervalo [ax, by]. Si 1 (8) Fp (Sana, bt) + S(ai2; Pea) — S (ax, bx)| < ens entonces aceptamos que (9) be f(a) de — S(a41, 041) — S( axa, dk2)| < en- En consecuencia, usamos la regla compuesta de Simpson (3) para aproximar la integral bie (20) [ H(z) de ~ S(ant, bux) + S(ax2, ber) y se asume ¢4 como cota del error de esta aproximaci6n en [ax, dk]- El proceso de integracién adptativa se construye aplicando las reglas de Simpson (1) y (3) de la siguiente manera: Partimos de {[a9, bo],€0}, donde eo mee reg RY em SEC. 7.4 INTEGRACION ADAPTATIVA 417 es la tolerancia para la cuadratura numérica en [ap, bo]. Este intervalo se divide en sus dos mitades, que etiquetamos como [a91, bo1] y [ao2; bo2]. Si el criterio de exactitud (8) se verifica, entonces la formula de cuadratura (3) se aplica en el intervalo [a9, 9] y hemos terminado. Por el contrario, si el criterio de ex- actitud (8) no se verifica, entonces ambos subintervalos se vuelven a etiquetar como [a1, bi] y [az, ba], en los que usamos como tolerancias €: = 3€0 ¥ 2 = }£0; respectivamente. De esa manera, ahora tenemos dos intervalos con sus toleran- cias asociadas a los que tenemos que dividir y aplicar el criterio de exactitud, a saber: {[ai,b1],£1} y {[a2, ba], €2}, siendo <1 +22 = 9. Vamos, entonces, a continuar el proceso de integracién adaptativa con estos dos intervalos y sus tolerancias respectivas. En el segundo paso, consideramos {[a1, 1], €1} en primer lugar: dividimos el intervalo [a;, bs] en (a1, 611] y [aiz, biz] y aplicamos el criterio de exactitud (8). Si el criterio se verifica con la tolerancia €1, entonces aplicamos la formula de cuadratura (3) en [ax, bi] y aceptamos que sobre este intervalo hemos alcanzado la precisién deseada. Si el criterio (8) no se verifica con la tolerancia ¢1, entonces hay que dividir y aplicar el criterio de exactitud a cada subintervalo [ai:, bi] [ax2, br] en un tercer paso con una tolerancia reducida 321. Pero en este segundo paso hay que estudiar también qué pasa con {[a2, ba], €2}: dividimos [a2, ba] en [aa1, bax] ¥ [a22,b22) ¥ aplicamos el criterio de exactitud (8). Si el criterio se verifica con la tolerancia ¢, entonces aplicamos la formula de cuadratura (3) en (a2, b2] y aceptamos que sobre este intervalo hemos alcanzado la precisién deseada. Si el criterio (8) no se verifica con la tolerancia ¢2, entonces hay que dividir y aplicar el criterio de exactitud a cada subintervalo [az1,b21] y [az2, bao] en un tercer paso con una tolerancia reducida }¢2. En resumen, el segundo paso produce dos, tres 0 cuatro intervalos; produce dos si tanto [ay, bi] como [a9,bs] pasan el criterio, produce tres si uno de los dos intervalos de partida pasa el criterio pero el otro no y produce cuatro si ninguno de los dos intervalos de partida pasa el criterio. Si sdlo hay dos intervalos, entonces el proceso ha terminado. Si hay tres intervalos, entonces los volvemos a etiquetar como {{[a1,b1],#1}, {[a2,bs],€2} ¥ {[as,ba],es}}, donde e: +22 +43 = Sy continuamos el proceso de integracién adaptativa en un tercer paso con los dos intervalos de menor tamajio. Si hay cuatro intervalos, entonces los volvemos a etiquetar como {{[a:, 51], £1}, {[a2, b2],€2}; {[as,bs],23} y {[a4. ba], €4}}, donde erteotes £0 y continuamos el proceso de integracién adaptativa en un tercer paso con los cuatro intervalos. El término del error (4) muestra que conforme hacemos refinamientos, el error se reduce en un factor de %, por tanto, el proceso debe terminar en un mimero finito de pasos. Para programar este método, es necesario incluir una variable centinela que nos indique si un cierto subintervalo ha pasado ya el criterio de exactitud. Asimismo, para evitar evaluaciones innecesarias de f(z), los valores de la funcién pueden almacenarse como una lista de datos corres- pondientes a cada subintervalo. Estos detalles se muestran en Programa 7.6. 418 Cap. 7 INTEGRACIGN NUMERICA Tabla 7.8 Célculos del método de integracién adaptativa para F(z) = 13(@ — 2)e*/?., Cota del error: miembro Tolerancia ex ay be S(@x1, bx) + S(ai2,be2) | izquierdo de (8) para [ax, bx) 0.0 0.0625 | 0.02287184840 0.00000001522 0.00000015625 0.0625 | 0.125 | 0.05948686456 0.00000001316 0.00000015625 0.125 | 0.1875 | 0.08434213630 0.00000001137 0.00000015625 0.1875 | 0.25 0.99969871532 0.00000000981 0.00000015625 0.25 | 0.375 | 0.21672136781 0.00000025055 | 0.0000003125 0.375 | 0.5 | 0.20646391592 0.00000018402 | 0.0000003125 0.5 0.625 | 0.17150617231 0.00000013381 0.0000003125 0.625 | 0.75 0.12433363793 0.00000009611 0.0000003125 0.75 | 0.875 | 0.07324515141 0.00000006799 0.0000003125 0.875 | 1.0 0.02352883215 0.00000004718 0.0000003125 1.0 1.125 | —0.02166038952 0.00000003192 0.0000003125 1.125 | 1.25 | —0.06065079384 0.00000002084 0.0000003125 25 | 1.5 | —0.21080823822 0.00000031714 0.000000625 5 2.0 | —0.60550965007 0.00000003195 0.00000125 2.0 2.25 | —0.31985720175 0.00000008106 0.000000625 2.25 | 25 —0.30061749228 0.00000008301 0.000000625 2.5 2.75 | —0.27009962412 0.00000007071 0.000000625 2.75 | 3.0 | —0.23474721177 0.00000005447 0.000000625 3.0 3.5 —0.36389799695 0.00000103699 0.00000125 35 | 40 =0.24313827772 0.00000041708 0,00000125 Totales | —1.54878823413 0.00000296809 0.00001 Ejemplo 7.16. Vamos a usar el método de integracién adaptativa para aproxi- mar numéricamente el valor de la integral definida J} 13(z — 2?)e~**/? dz con una tolerancia inicial de ¢9 = 0.00001. Para llevar a cabo el método fueron necesarios 20 subintervalos y en la Tabla 7.8 se relacionan cada subintervalo (ag, b,], la aproximacién dada por la regla compuesta de Simpson S(a¢i, bei) + S(ae2, be2), la cota del error aceptada para esta aproxi- macién y la tolerancia asociada ¢. El valor aproximado de la integral se obtiene sumando las aproximaciones dadas por la regla de Simpson en cada subintervalo y es “ (11) f 13(x ~ 2?)e75*/? dy ms —1.54878823413. 0 " gec. 7.4 INTEGRACION ADAPTATIVA 419 y 2.0 f 15 } 10} 05 y=f) 0.0 05 -1.0 -15 Figura 7.9 Los subintervalos de [0,4] usados en la cuadratura adaptativa del Ejemplo 7.16. El valor de la integral es ‘ z [ 13( — 22)e3/? de u A _ 41087 eh ae = —1.5487883725279481333; (12) por tanto, el error de la cuadratura adaptativa es (13) | — 154878837253 — (—1.54878823413)| = 0.00000013840, que es menor que la tolerancia especificada ¢9 = 0.00001. En este ejemplo, en el método de integracién adaptativa se generan 20 subintervalos de (0, 4] y se realizan 81 evaluaciones del integrando; en la Figura 7.9 se muestran la grafica de y = f(z) ¥ estos 20 subintervalos y en ella podemos observar que los intervalos son menores alli donde la funcién cambia més répidamente, es decir, cerca del origen. En el proceso de divisién de los intervalos y aplicacién del criterio de exactitud, hubo que dividir cada uno de los cuatro primeros intervalos de longitud 0.25 en ocho subintervalos de longitud 0.03125. Si us4ramos este incremento en el intervalo total [0,4] para aplicar la regla compuesta de Simpson, entonces necesitarfamos ‘M = 128 subintervalos, con los que obtendrfamos la aproximacién ~1.54878844029, cuyo error es 0.00000006776. Aunque el error de la aproximacién dada por la regia compuesta de Simpson es casi la mitad del error que se produce con la integracién adaptativa, hacen falta 176 evaluaciones més; la ganancia en exactitud no compensa el ahorro en el coste computacional que proporciona la integracién adaptative. = MATLAB El Programa 7.5 que damos a continuacién, srule, es una modificacién de la regia de Simpson dada en la Seccién 7.1 y nos proporciona un vector Z que 420 Cap. 7 INTEGRACION NUMERICA contiene los resultados de la aplicacién de la regla de Simpson en el intervalo ‘a, |. El Programa 7.6 que daremos después utiliza srule como subprograma en el que se lleva a cabo la regla de Simpson en cada uno de los subintervalos generados por el proceso de integracién adaptativa. Programa 7.5 (Regla de Simpson). Construccién de la aproximacién a la integral i h [ fayaex FE@ +440 +70) mediante la regia de Simpson, siendo ¢ = (a +6)/2. function Z=srule(f,a,b,tol) % Datos 4 - £ es el integrando, dado como una h cadena de caracteres ’f’ wh - ay b son los extremos inferior y superior del h intervalo de integracién h - tol es la tolerancia % Resultado h - Zes un vector de orden ix 6: [ab S $2 err tol1] h=(b-a)/2; C=zeros(1,3); C=feval(#,(a (atb)/2 b]); S=h* (C(1)+4*C(2)+C(3) )/3; S$2=5; tolistol; err=tol; Z=[a b 8 S2 err tolt]; El Programa 7.6 produce: una matriz SRmat, la aproximacin quad a la integral mediante cuadratura adaptativa y una cota err del error de la aproxi- macién. Las filas de SRmat contienen los extremos del subintervalo correspon- diente, la aproximacién dada por la regia de Simpson sobre dicho subintervalo y las cotas del error generadas por el proceso de integracién adaptativa. SEC. 7.4 INTEGRACION ADAPTATIVA 421 ‘Programa 7.6 (Método de integracién adaptativa con la regla de Simpson). Construccidn de la aproximacién a la integral : if ff Slo) de mY (Hlean-a) + 44lean-s) + 2flea-2) s k=1 +4f(w4n—1) + f(x) mediante la aplicacién de la regla compuesta de Simpson aplicada con 4M subintervalos [144—4;t4x], donde [a, (v0, 24m] ¥ T4k—4ej = Tae-a + Fhe, paracadak=1,...,Myj=1, 4. function [SRmat,quad,err]=adapt(f,a,b,tol) % Datos h - f es el integrando, dado como % una cadena de caracteres ’f’ - ay b son los extremos inferior y superior del intervalo de integracién - tol es la tolerancia Resultados - SAmat es la tabla de valores - quad es la aproximacién a la integral - err el error estimado % Inicializacién de los valores SRmat = zeros(30,6); iterating=0; done=1; SRvec=zeros(1,6); SRvec=srule(f,a,b,tol) ; SRmat (1,1:6)=SRve m1; state=iterating; while(state==iterating) n=n} for jani-i:t Gas SROvec=SRmat (p err=SROvec(5) ; tol=SROvec(6) ; if (tol Es(f) y existe algin punto c € [-1, 1] tal que f(c) (19) BD = ers 428 CaP. 7 INTEGRACION NUMERICA Ejemplo 7.18. Vamos a probar que la regla de Gauss-Legendre con tres puntos es exacta para el polinomio Sz‘; o sea, 1 if 52* dz = 2=G;(f). =1 Puesto que el integrando es f(z) = 52* y f\®)(a) = 0, la expresién (19) nos dice directamente que E3(f) = 0. Pero también es instructivo usar la formula (17) y realizar los céleulos correspondientes: agp) = 5000087 40+ (6)(067 s aa El siguiente resultado muestra cémo debemos cambiar la variable de inte- gracién para que podamos aplicar las reglas de Gauss-Legendre en un intervalo cualquiera (a, 8). =2. # Teorema 7.10 (Traslacién del método de Gauss-Legendre). Suponga- mos que tenemos los nodos {zv,«}{_1 y los pesos {w,e}-1 necesarios para aplicar la regla de Gauss-Legendre con N nodos en [—1,1]. Entonces, para aplicar el método de Gauss-Legendre en un intervalo [a,b], se puede usar el cambio de variable a+b b-a Wath (20) y la relacién (21) [maa fis (4P +t proporciona la formula de cuadratura e b-a& +b (22) ff 10a= 958 anal (3 + Ejemplo 7.19. Vamos a usar el método de Gauss-Legendre con tres nodos para aproximar 8 at [ F =In(6) ~ In(1) ~ 1.600438 L y compararemos el resultado con la aproximacién dada por la regla de Boole B(2) con h=1. En este casoa=1y 5f(3 — 2(0.6)'/? +0) +5, 2(0.6)1/2 Galt) = (2 LE (0.6) + 87 (8- ) + 5F(3 + 2(0.6)+/7) 3.446359 + 2.666667 + 1.099096 = = 602694. 5, asi que la férmula (23) queda f E Sec. 7.5 EL METODO DE INTEGRACION DE GAUSS-LEGENDRE 429 En el Ejemplo 7.13 vimos que la regla de Boole proporciona B(2) = 1.617778. Los errores son 0.006744 y —0.008340, respectivamente, de manera que la regla de Gauss-Legendre es ligeramente mejor en este caso, el error es practicamente el mismo, a pesar de que sdlo necesita tres evaluaciones, frente a las cinco necesarias para la regla de Boole. = Las formulas de integracién de Gauss-Legendre tienen una precision muy alta y deben ser tenidas en cuenta si hay que realizar muchas integrales de funciones parecidas sobre un mismo intervalo. En este caso se procede de la si- guiente manera: Se toman algunas integrales representativas, incluyendo las que se sospechen que puedan comportar mayores errores en su evaluacién numérica. Después, se determina el ntimero N de nodos necesarios para obtener dichas integrales con la precisién deseada y se usa la regla de Gauss-Legendre con N nodos para calcular todas las integrales. MATLAB En el Programa 7.7 que damos a continuacién, donde el ntimero de nodos V esté fijo, hay que proporcionar como datos los nodos y los pesos de la Tabla 7.9, almacenados en sendas matrices de orden 1 x N llamadas A y W, respectiva- mente. Esto puede hacerse directamente en la ventana de trabajo del programa MATLAB o en matrices previamente guardadas en los archivos A.m y W.m. Una posibilidad ms expeditiva es almacenar la Tabla 7.9 como una matriz G de orden 35 x 2 cuya primera columna contenga los nodos y cuya segunda columna contenga los pesos; asi, para cada valor de N las matrices Ay W serfan subma- trices de @. Por ejemplo, si V = 3, entonces A=G(3:5,1)? y W=G(3:5,2)?. Programa 7.7 (Método de integracién de Gauss-Legendre). Cons- | | truccién de la aproximacién a la integral 5 f I(x) dex Le vf (EN) que se obtiene evaluando f(z) en N nodos (desigualmente espaciados) {ty.4}}_, dados por el cambio de variable b-a con dt= dz, | a partir de los nodos {ry.4}¥ {wy,4}i.,, deben ser previamente obtenidos de una tabla de valores. 430 Cap. 7 INTEGRACI function quad=gauss(f,a,b,A,W) qh h % h h h h h Datos - £ es el integrando, dado como una cadena de caracteres ’£’ - ay b son los extremos inferior y superior del intervalo de integracién - A es el vector 1 x N de nodos de la Tabla 7.9 - Wes el vector 1 x N de pesos de la Tabla 7.9 Resultado = quad es la aproximacién al valor de 1a integral Ne=length(A); Tezeros(1,N); T=((atb) /2)+((b-a) /2) *A; quad=((b-a)/2)*sum(W. *feval(f,T)); Ejercicios En los Ejercicios 1 a 5, pruebe que las dos integrales son iguales y calcule la apro- ximacién G2(f). 1 2 a 6(2+1) de 2. [senteat= [ sen(z +1) dr 1 ° Sy 2 i f 6t° dt 0 1 sen(t) ,,_ f° sen((e+1)/2) a. [arn [EDO ae atl 1 2 p—(e+t)?/8 1/2 gp = [ a val, ‘ Vind 2 2 fF aa 5. if cos(0.6s0n(0)) a= 0.5 [cos (0.6sen (@+0§) de 6. Use el término del error En(f) que se muestra en la Tabla 7.9 y realice el cambio de variable dado en el Teorema 7.10 para hallar el menor nimero natural N tal que Ey(f) = 0 para los casos (a) f2 827 dz = 256 = Gf). (b) [2 112! de = 2048 = Gv(f)- 7. Determine las raices de los siguientes polinomios de Legendre y compare sus resultados con los nodos dados en la Tabla 7.9. (a) Pa(z) = (82? — 1)/2 (b) Pa(z) = (52° — 3z)/2 (c) Pa(z) = (352 — 302? + 3)/8 SEC. 7.5 EL METODO DE INTEGRAGION DE GAUSS-LEGENDRE 431 8. El error de truncamiento de la regla de Gauss-Legendre con dos nodos en el intervalo [1,1] es f()(c:)/135. El error de truncamiento de la regla de Simpson en [a, 5] es —A° f+) (c2)/90. Compare ambos términos del error cuando [a, bj = [-1, 1]. {Qué método piensa que es mejor? {Por qué? La regla de Gauss-Legendre con tres nodos es 7 we OF (=(0.6)'/?) + 8F(0) + 5 ((0.6)}/2) [ ; f(a) de x A. 7 Pruebe que la formula es exacta para f(z) = 1, 2, 2, 2°, 2, 2°. Indi- caci6n. Si f es una funcién impar (0 sea, f(—z) = —f(z)), entonces la integral de f en [—1, 1] es cero. 10. El error de truncamiento de la regla de Gauss-Legendre con tres puntos en el intervalo [—1, 1] es f‘®(c,)/15750. El error de truncamiento de la regla de Boole en [a, b] es —8h” f(®)(cz)/945. Compare ambos términos del error cuando (a, 6] =[—1, 1]. :Qué método piensa que es mejor? {Por qué? 11. Deduzca la regia de Gauss-Legendre con tres puntos dando los siguientes pasos y utilizando el hecho de que los nodos son las races del polinomio de Legendre de grado 3: a, =—(0.6)/?, z2=0, 23 = (0.6)*/?. Determine los pesos wi, w2 y ws de manera que la relacién ; J Sle) de = ws 4(—(0.)'!) + waf (0) + wa f((0.6)¥") fe sea exacta para las funciones f(z) = 1, z y 2. Indicacién. Obtenga y resuelva el sistema de ecuaciones lineales w, +w2 +3 =2 —(0.6)!/?w1 + (0.6)'/2w3 = 0 2 0.6 =e 0.6ws 3 12. En la préctica, cuando hay que calcular muchas integrales del mismo tipo, se suele hacer un andlisis preliminar para determinar el ntimero de evaluaciones de la funcién que hay que realizar para obtener la precisién deseada. Supongamos ; que deben realizarse 17 evaluaciones del integrando. Compare la aproximacién R(4,4) dada por el método de Romberg con la aproximacién Gi7(f) dada por la regla de Gauss-Legendre. Algoritmos y programas 1. Use el Programa 7.7 para calcular, hallando Ge(f), Gr(f) y Ga(f), cada una de las integrales de los Ejercicios 1 a 5. t i E k 5 z 432 Cap. 7 INTEGRACION NUMERICA 2. (a) Modifique el Programa 7.7 de manera que vaya calculando Gi(f), Ga(f), «.., Gs(f) y detenga los célculos cuando el error relativo entre dos apro- xdmaciones consecutivas Gv—1(f) y Grv(f) sea menor que el valor fijado para la tolerancia tol, es decir 21Gn-1(f) — Gw(H)| iGval)+en(Al <*™ Indicacién. Como se observé al final de la secci6n, almacene la Tabla 7.9 en un archivo G.m como una matriz de orden 35 x 2. Use su programa del apartado (a) para aproximar las integrales de los (b) Ejercicios 1 a 5 con una precisidn de cinco cifras decimales. 3. (a) Use la regla de Gauss-Legendre con seis puntos para aproximar la solucién de la ecuaci6n integral v(z) = 2? +oa [" Para ello, sustituya su solucién aproximada en el miembro derecho de la ecuacién integral y simplifique. Repita el apartado (a) usando la regla de Gauss-Legendre con ocho pun- tos. ‘x? + t)u(t) dt. (b) Optimizacién numérica La ecuacién de ondas bidimensional se usa en ingenierfa mecdnica para modelar las vibraciones de una placa rectangular. Si las placas estan ancladas por sus cuatro esquinas, las vibraciones sinusoidales pueden describirse mediante una serie de Fourier doble. Supongamos que en un cierto instante de tiempo s Figura 8.1 (a) El desplazamiento z = f(z,y) de una placa vibrante. (b) Las curvas de nivel f(x,y) =C para dicha placa. 434 Cap. 8 OPTIMIZACION NUMERICA la altura del desplazamiento z = f(x,y) sobre el punto (z,y) viene dada por la funcién f(x,y) = 0.02 sen(z) sen(y) — 0.03 sen(2x) sen(y) + 0.04sen(x) sen(2y) + 0.08 sen(2z) sen(2y). {Dénde se localizan los puntos en los que el desplazamiento es mayor? Mirando la grdfica tridimensional y las curvas de nivel correspondientes que se muestran en las Figuras 8.1(a) y (b), respectivamente, vemos que hay dos minimos locales y dos méximos locales en el cuadrado 0 f(z2). ms SEC. 8.1 MINIMIZACION DE UNA FUNCION 435 Teorema 8.1. Supongamos que f(z) es continua en I = [a,}] y derivable en (a, 6). () Si f'(x) > 0 para todo a € (a,5), entonces f(z) es creciente en I. (ii) Si f'(x) <0 para todo x € (a,5), entonces f(z) es decreciente en I. Teorema 8.2. Supongamos que f est definida en un intervalo I = [a, 6] y que tiene un extremo local en un punto p € (a, 6). Si f(z) es derivable en x = p, entonces f"(p) = 0. Teorema 8.3 (Criterio de la derivada primera). Supongamos que /(z) es continua en (a, 6] y derivable en todo punto z € (a, 4), salvo quizds en x = p. ( Si f(z) <0en(a,p) y f(z) > 0 en (p, 8), entonces f(z) tiene un minimo local en p. (ii) Si #"(x) > 0 en (a,p) y f'(x) < 0 en (p,8), entonces f(z) tiene un méximo local en p. ‘Teorema 8.4 (Criterio de la derivada segunda). Supongamos que /(z) es continua en [a,6] y dos veces derivable en (a, 5). Supongamos también que p € (a,b) es un punto critico de f(z), o sea, que f"(p) = 0. Entonces se verifica: (i) Si #"(p) > 0, entonces f(z) tiene un minimo local en p. (ii) Si f"(p) <0, entonces f(x) tiene un méximo local en p. (iii) Si f”(p) = 0, entonces no se puede afirmar nada Ejemplo 8.1. Vamos a usar el criterio de la derivada segunda para clasificar los extremos locales de f(z) = 2° + 2? — 2 +1 en el intervalo [-2, 2] La derivada primera es fl(x) = 32? + 2x — 1 = (3a — 1)(z +1) y la derivada segunda f(x) = 6x +2. Hay dos puntos en los que f'(z) = 0, a saber, 2 = 1/3 y z=-l. Caso (i): En x = 1/3 se tiene que f’(1/3) = 0 y que f"(1/3) = 4 > 0, asf que f(z) tiene un minimo local en ¢ = 1/3. Caso (ii): En z = —1 se tiene que f/(—1) = 0 y que f"(-1) = -4 < 0, asf que f(c) tiene un m&ximo local en z = -1. . Métodos de btisqueda Otro método para hallar el minimo de f(z) es evaluar la funcién en muchos puntos y buscar un minimo local entre ellos. Para reducir el ntimero de eva- Iuaciones de la funcidn es importante tener una buena estrategia que determine donde tenemos que evaluar f(x). Uno de los métodos més eficaces se conoce como el método de biisqueda de la seccién durea y se llama asi porque la estrategia para ir seleccionando los puntos en los que evaluar la funcién f(z) depende de lo que se conoce como la proporcin durea. 436 Cap. 8 OPTIMIZACION NUMERICA m Se recorta por la derecha y Se recorta por la izquierda y el nuevo intervalo es [0, r]. el nuevo intervalo es [1 —r, 1]. Figura 8.2 Los intervalos involucrados en el método de busqueda de la seccion aurea. El Método de busqueda de la razén durea Supongamos que el intervalo inicial es [0,1]. Tomamos un mimero r tal que 0.5 0. ‘Asi que el valor minimo de f se alcanza en p = 0.4501836 y es f(p) = —0.2324656. Usando el método de la seccién aurea. En cada paso, los valores de la funcin f(c) y f(d) se comparan y se decide si la busqueda contintia en (a, d] o bien contintia en (¢, 4). En la Tabla 8.2 se muestran algunos de los célculos. En la iteracion vigésimo tercera, el intervalo se ha estrechado hasta ser [azs, bys] = [0.4501827, 0.4501983]. Este intervalo tiene una anchura de 0.0000156; sin embargo, los valores de la funcién calculados en sus extremos coinciden en ocho cifras deci- 438 Cap. 8 OPTIMIZACION NUMERICA ‘Tabla 8.1 ‘Método de la secante para resolver 2z — cos(z) Tabla 8.2 Método de las f(z) = 2? — sen(z). ——— k Pe__| 2px —cos(Pr) ‘0 | 0.0000000 | —1.00000000 1 | 1.000000 | 145969769 2 | 0.4065540 | —0.10538092 3 | 0.465123 | —0.00893398 4 | 0.4502137 | 0.00007329 5 | 0.4501836 00000005 eccién Aurea para hallar el minimo de T Ne hag & & | » | fe 0 | 0.0000000 | 0.3819660 | 0.6180340 | 1 —0.22684748 1 | 0.000000 | 9.2360680 | 0.3819660 | 0.6180340 =0.22684748 2 | 0.2360680 | 0.3819660 | 0.4721360 | 0.6180340 —0.23187724 3 | 0.3819660 | 0.4721360 | 0.5278640 | 0.6180340 4 | 0.3819660 | 0.4376941 | 0.4721360 | 0.5278640 5 0.3819660 | 0.4164079 | 0.4376941 | 0.4721360 6 | 0.4164079 | 0.4376941 | 0.4508497 | 0.4721360 —0.23246503, 21 | 0.4501574 | 0.4501730 | 0.4501827 | 0.4501983 23246558 | —0.23246558 22 | 0.4501730 | 0.4501827 | 0.4501886 | 0.4501983 23248558 | —0.23246558 23 | 0.4501827 | 0.4501886 | 0.4501923 | 0.4501983 23246558 | —0.23246558 males: f(a) © —0.23246558 = f (bas) y terminamos aqui las iteraciones. Uno de los problemas de los métodos de biisqueda es que la funcién suele ser bastante plana cerca del minimo y esto limita la exactitud que podemos obtener; en este ejemplo, el método de la secante nos proporciona una respuesta més exacta ps = 0.4501836. ‘Aunque el método de brisqueda de la seccién éurea es més lento en este ejemplo, tiene un aspecto deseable y es que puede usarse cuando f(z) no es derivable o cuando su derivada no puede calcularse facilmente. CAlculo de los extremos de f(z,y) La Definicion 8.1 se extiende facilmente a funciones de varias variables. Supon- gamos que f(z, y) esta definida en la regién circular R= {(z,y): (2-p)? +(y-9? <7}. (3) : RPE SEC. 8.1 MINIMIZACION DE UNA FUNCION 439 Se dice que f(x,y) tiene un minimo local en el punto (p,q) cuando (4) f(p,a) < f(y) para cada punto (z,y) € R. Se dice que f(x,y) tiene un méximo local en el punto (p, ) cuando (5) f(z,u) < f(,q) para cada punto (z,y) € R. El criterio de la derivada segunda para determinar los extremos locales de una fancién de dos variables es una extensién del Teorema 8.4. Teorema 8.5 (Criterio de la derivada segunda). Supongamos que f(z, y) asi como sus derivadas parciales primeras y segundas son continuas en la re- gidn R. Supongamos que (p,q) € R es un punto critico, o sea, que fz(p,q) =0 y fy(p,@) = 0. Entonces podemos usar las derivadas de orden superior para determinar la naturaleza de este punto critico: (i) Si fee(P, 9) fyy(p: 9) — f2,(P.a) > Oy fez(P,q) > 0, entonces f tiene un minimo local en (p,q) (ii) Si fea(P, 9) fyy(P, 9) — f2y(p.4) > Oy fex(P,q) < 0, entonces f tiene un maximo local en (p, g)- (iii) Si fee(p, 9) fuy(P. @) — f2,(P, 9) <0, entonces f no tiene un extremo local en (p,q); este punto es un punto de silla. (iv) Si fool. 9) fyy(P; 9) — £2y(P.q) = 0, entonces no se puede afirmar nada. Ejemplo 8.3. Vamos a calcular el mfnimo de f(z,y) = Las derivadas parciales primeras son (6) fe(z.y)=22-4-y y fyle.y) =2y Al igualar estas derivadas parciales a cero, obtenemos el sistema de ecuaciones lineales —42+y?—y—2y. 2. @ Qe -y=4 2+ Qy=1 cuya solucién es (z,y) = (3,2). Ahora, las derivadas parciales segundas de f(z,y) son feo(2,y) fu(tu)=2, ¥ fay(.y) Es fdcil ver que estamos en el caso (i) del Teorema 8.3, esto es, fae (3,2)fyy(3,2) — f2,(3,2)=3>0 and fre(3,2)=2>0 asi que, f(z,y) alcanza en el punto (3, 2) un minimo local cuyo valor es (3,2) = —7 . 440 Cap. 8 OPTIMIZACION NUMERICA El método de Nelder-Mead Nelder y Mead han desarrollado un método de biisqueda para hallar un minimo local de una funcion de varias variables. Este método utiliza un tipo de cuerpo geométrico llamado simplex que en el caso del plano es un triéngulo y en el caso del espacio tridimensional es un tetraedro. En el caso de dos variables, cuando tenemos un tridngulo, el método consiste en comparar los valores de la funcién en los vértices y sustituir el peor vértice, aquel en el que f(x,y) es mayor, por un vértice nuevo. De esa manera, se forma un nuevo triéngulo y la biisqueda contintia. En el proceso se genera una sucesién de tridngulos (que pueden tener formas diferentes), en los que los valores de la funcién van decreciendo. El tamaiio de estos triéngulos se reduce y, cuando los vértices est4n suficientemente juntos, hemos encontrado el mfnimo local. El algoritmo general que presentaremos al final nos permitiré calcular mi- nimos de funciones de N variables. Es un algoritmo efectivo y computacional- mente compacto. El tridngulo inicial OBP Sea f(x, y) la funcién que queremos minimizar. Partimos de un triéngulo inicial cuyos vértices son Vi = (rk, yx), # = 1, 2, 3. Entonces evaluamos la funcién f(z, y) en cada uno de los vértices y obtenemos zt = f(e,yx) para k = 1,2,3 ‘Ahora ordenamos los subindices de manera que 2; < 22 < 23 e introducimos la notacién (8) O=(a1,m), B=(t2,y2) y P= (z3,4s) que nos debe ayudar a recordar que O es el vértice éptimo, B es el vértice bueno (el siguiente al 6ptimo) y P es el vértice peor. El punto medio del lado bueno El siguiente paso en el proceso de construccién es calcular el punto medio del segmento que une O con B, para ello hallamos la media de las coordenadas: O+B_(m+22 wt 2 oe SB (9) M= Refiexién usando el punto R Puesto que la funcién decrece al movernos desde P hasta O a lo largo de ese lado del tringulo inicial y también al movernos desde P hasta B, es de esperar que f(z,y) tome valores menores en puntos alejados del peor vértice P que estén situados al otro lado del segmento que une O con B. Lo que hacemos es tomar un punto de prueba: el punto R que se obtiene “refiejando” el tringulo ad Saasmebun SEC. 8.1 MINIMIZACION DE Figura 8.4 El triéngulo OBP, el punto medio M y el punto re- figjado R en el método de Nelder- Mead. Figura 8.5 El tridngulo OBP y el punto extendido E. a través del lado OB. Para determinar R, usamos el punto medio M del lado OB. Si dibujamos el segmento rectilineo que une P con M y denotamos por d su longitud, entonces extendemos este segmento una distancia d al otro lado de M que nos lleva al punto R (véase la Figura 8.4); en otras palabras, R es el punto simétrico de P respecto de M. El nuevo tridngulo es OBR y la formula vectorial para hallar R es (20) R=M+(M-P)=2M-P. Extensién usando el punto E Si el valor de la funcidn en el punto R es menor que el valor en el punto P, entonces nos hemos movido en la direccién correcta hacia el minimo; quizs el mfnimo esté algo més alld del punto R, as{ que extendemos una distancia adicional d el segmento que une M y R hasta un punto E y, de esa manera, formamos un tridngulo extendido OBE (véase la Figura 8.5). Si el valor de la 442 Cap. 8 OPpTIMIZACION Figura 8.6 El punto de con- traccién C; 0 bien Cz en el método de Nelder-Mead. funcién en E es menor que en R, entonces hemos encontrado un vértice mejor que R; la formula vectorial para calcular E es (11) E=R+(R-M)=2R-M. Contraccién usando el punto C Si los valores de la funcién en Ry P son iguales, o en P es menor que en R, entonces hay que probar otro punto. Quizds la funcién es menor en el punto M, pero no podemos reemplazar P por M porque nos quedariamos sin tridngulo. Consideremos los puntos medios C, y C2 de los segmentos rectilineos PM y MR, respectivamente (véase la Figura 8.6); el punto en el que la funcién tome un valor menor lo llamamos C y el nuevo triéngulo es ahora OBC. Nota: la eleccién entre C; y C2 es importante en dimensiones superiores. Encogimiento hacia O Si el valor de la funcién en C no es menor que el valor en P, entonces tenemos que encoger el triéngulo en la direccién de O (véase la Figura 8.7): El punto B se reemplaza por M y el punto P se reemplaza por $ que es el punto medio del segmento que une O con P Decisiones légicas en cada paso Un algoritmo que sea computacionalmente eficiente deberfa realizar una eva- juaci6n de la funcidn sdlo si es necesario. En cada paso se determina un nuevo vértice que se usa para reemplazar el vértice peor P. Una vez que se encuen- tra este nuevo vértice, no hace falta realizar més evaluaciones; los detalles del proceso de decisién légica en el caso bidimensional se explican en la Tabla 8.3 OE TE Sec. 8.1 MINIMIZACION DE UNA FUNCION 443 ° S Mm P 5, as Figura 8.7 Encogimiento del B tridngulo hacia O. Tabla 8.3 Decisiones légicas en el algoritmo de Nelder-Mead. SI f(R) < f(B), ENTONCES se hace el caso (i) {reflejar 0 extender} SINO, se hace el caso (ii) {contraer o encoger} COMIENZO {Caso (i)} SI #(0) < f(R) ENTONCES se reemplaza P por R | SINO | entonces se calculan By f(E) | St f(E) < f(O) ENTONCES se reemplaza P por E | SINO se reemplaza P por R COMIENZO {Caso (ii)} SI f(R) < f(P) ENTONCES se reemplaza P por R SsINO se calculan C = (P + M)/2 o bien C = (M + R)/2y f(C) SI f(C) < f(P) ENTONCES | ‘se reemplaza P por C | sSINO | se caleulan 3 y f(S) | se reemplaza P por $ | se reemplaza B por M FIN del ST FIN del SI FIN del SI FIN del ST {Caso (i)} FIN {Caso (ii)} Ejemplo 8.: Vamos a usar el algoritmo de Nelder-Mead para hallar el minimo de f(z,y) = 2? — 42 +y? —y — zy. Empezamos con los vértices Vi = (0,0), La funciéa f(z,y) toma los valores (0,0) = 0.0, V2 = (1.2,0.0), (2.2, 0.0) = -3.36, V3 = (0.0,0.8). #(0.0,0.8) = —0.16. Comparando los valores, determinamos O, B y P: O = (1.2,0.0), B = (0.0,0.8), P=(0,0). 444 Cap. 8 OPTIMIZACIGN NUMERICA 1 2 3 Figura 8.8 La sucesién de tridngulos {Ti} que converge al punto (3,2) en el método de Nelder-Méad. Hay que reemplazar el vértice P = (0,0). Los puntos M y Rson O+B 2 M= = (06,04) y R=2M-P=(12,08). El valor de la funcién en Res f(R) = f(1.2, 0.8) = —4.48 que es menor que f(B), asi que estamos en el caso (i). Puesto que f(R) < f(O), nos hemos movido en la direccién adecuada y construimos el vértice E: E =2R—M = 212,08) — (0.6,0.4) = (1.8,1.2). .88 es menor que f(O), asi que los vértices del El valor f(Z) = f(1.8, 1.2) = nuevo triéngulo son Vi =(18,1.2), V2=(12,0.0), Vs =(0.0,0.8). El proceso continéa y genera una sucesidn de triéngulos que converge al punto solucién (3,2) (véase la Figura 8.8). En la Tabla 8.4 se muestran los valores de la funcién en los vértices del tridngulo en algunos pasos de la iteracién. El programa para el computador llega hasta el paso tigésimo tercero, paso en el que se obtiene como vértice dptimo el punto O = (2.99996456, 1.99983839) con Sec. 8.1 MINIMIZACION DE UNA FUNCION 445 ‘Tabla 8.4 Valores de la funcién en los tridngulos sucesivos del Ejemplo 8.4. k| Punto éptimo | Punto bueno Punto peor (0.0, 0.8) 0.00 ‘f (2.58, 2.05) = — 6.7725 (3-15, 2.25) = — 6.9525 f(2.8125, 2.0375) = — 6.95640625 1 2 3 4 5 6 7 8 9 0 Figura 8.9 Comose usa f’(z) para hallar el minimo de una funcién unimodal f(z) en el intervalo [a,6]. Izquierda: Si f’(po) < 0, en- tonces p est en [po, 6]. Derecha: Si f'(pp) > 0, entonces p estd en {e, po]- f(O) = —6.99999998. Estos valores son aproximaciones a la solucién f(3,2) = —7 encontrada en el Ejemplo 8.3. La razén por la cual la iteracién se detiene antes de llegar al punto (3,2) es que la funcién es muy plana cerca del minimo: los valores #(O), f(B) y #(P) son iguales (este es un ejemplo tipico de error de redondeo), ast que el algoritmo no puede seguir. . Métodos de minimizacién mediante derivadas Supongamos que f(z) es unimodal en [a, 6] y que su tinico minimo se alcanza en z =p. Supongamos también que {(z) es derivable en (a, 5). Tomemos un valor inicial po en (a, 6). Si f’(po) < 0, entonces el minimo p esté a la derecha de po; mientras que si f'(po) > 0, entonces p esté a la izquierda de po (véase la Figura 8.9). 446 Cap. 8 OPTIMIZACION NUMERICA Localizacién del minimo ‘Nuestro primer objetivo es obtener tres valores de partida (12) po, Pi=Poth, y pe=pot2h, tales que (13) Fo) > fm) y fle) < F(p2)- Supongamos que f'(po) < 0, entonces po < p y elegimos un incremento h posi- tivo. No es dificil encontrar h de manera que los tres puntos de (12) verifiquen (13): Empezamos con h = 1 en la formula (12) (supuesto que a+1 F(P1) ¥ F(p) > F(p2), entonces po < p y tenemos que buscar més a la derecha: doblamos el incremento y repetimos el proceso. Caso (iii): Si f(po) < f(Pi), entonces hemos ido demasiado lejos a la derecha de p y h es demasiado grande, necesitamos valores mas cercanos a po: reducimos el incremento a la mitad y repetimos el proceso. Cuando f'(po) > 0, entonces tomamos un incremento h negativo y se repite un proceso andlogo al de los casos (i) a (iii) anteriores. Aproximacién cuadratica para calcular p Supongamos que ya tenemos tres puntos como los dados en (12) que verifican las relaciones dadas en (13), vamos a usar interpolacién cuadrética para hallar una aproximacién a p que denotamos por Pmin. El polinomio interpolador de Lagrange para los nodos dados en (12) es yo(t —pi)(z—p2) _ yr( — po)(z — P2) Po)(t =P) 1 vole = pi)(@ Pa) _ yi(@ = Po)( — P2) , Yale — Poh ~ Pr) Gage) 2h? he 2h siendo y; = f(p;) para i = 0,1,2. La derivada de Q(z) es * q yo(2z—pi-Pa2) yi(2e—po- pe) | yo(2x—- Po — Pr) 15) yor Pi Pa) _ Nee pos Ba) | gale PoP Gp. ge 2h? Re 2h Ahora resolvemos Q' (zr) = 0 pero escribiendo esto como Q!(po + hmin) = 0, con Jo cual tenemos yo(2(po + Amin) —Pi—P2) _ yr(4(po + Amin) — 2P0 — 2p2) 2h? =e hie 4. ¥22(Po + hein) Po = Pr) 2h? 0= (16) Sec. 8.1 MINDMIZACION DE UNA FUNCION ‘ 447 Multiplicando cada término de (16) por 2h? y agrupando los términos que con- tienen el factor comtin Am, obtenemos —hrin (2yo — 491 + 242) = yo(2po — Pi — Pa) — y1(4p0 — 2po — 2p2) + y2(2po — Po — P:) = yo(—3h) — yr(—4h) + yo(—A), de donde despejamos facilmente Amin: (4 — 3y0 — v2) 17) Amin = 5 an 4 = 2y0 — 22 El valor pmin = po + hmin €5 una aproximacién a p mejor que pp. Abora reem- plazamos po POF Pmin ¥ Tepetimos los dos procesos descritos antes, obteniendo un muevo incremento h y un nuevo Amin. La iteracién contintia hasta que se obtiene el minimo con la precisién deseada; los detalles se recogen en el Programa 8.3. Método del gradiente o del descenso por la maxima pendiente Yolvamos al problema de minimizar una funcién f(X) de N variables, donde X = (21,22,...,2N). El gradiente de f(X) es la funcién vectorial definida por (18) grad f(X) = (fi, far--+ fy), siendo fx = 0f/Ozy las derivadas parciales evaluadas en X. Recordemos que el vector gradiente (18) sefiala en cada punto la direccién en la que la velocidad de crecimiento de f(X) es mayor; por tanto, — grad f(X) sefiala en cada punto la direccién en la que la velocidad de decrecimiento de la fancién es mayor. Esto sugiere la siguiente estrategia: Empezamos en un punto Pp y buscamos una mejora en la semirrecta que parte de Po en la direccién sefialada por el vector Sy = —G/ ||G||, siendo G = grad f(Po). Este es un problema en una variable (el parametro de la semirrecta) que podemos resolver por cualquiera de los métodos sefialados antes. De esta manera llegamos a un punto Pj, en el que hay un mfnimo local de la funcién f(X) restringida a los puntos X de la semirrecta X = Py +#5q cont > 0. ‘Ahora, calculamos G = grad f(P;) y usamos como nueva direccién de btisqueda la seiialada por el vector S, = —G/ ||G||; llegamos a un punto P2, en el que hay un minimo local de la funcién f(X) restringida a los puntos X de la semirrecta X = P; +tS, con ¢ > 0. Este proceso iterativo produce una sucesién {Px} de puntos que tienen la siguiente propiedad: f(Po) > f(P:) >-- > (Px) > Si limg-soo Pe = P, entonces f(P) es un minimo local de f(X) 448 Cap. 8 OPTIMIZACION NUMBRICA Descripcién del método del gradiente Supongamos que hemos obtenido el punto P, Paso 1. Evaluamos el vector gradiente G = grad f (Px). Paso 2. Calculamos la direccién de busqueda S = —G/||G'|. Paso $. Utilizamos un método de minimizacién en una variable con la funcién W(t) = f(P, +45) en intervalo [0,6], donde 6 es grande. Esto produciré un valor t = hmin en el que Y(t) tiene un minimo local; entonces, la relacién U(hmin) = f(Pi+ Amin S) nos dice que este valor es un minimo local de f(X) restringida a la semirrecta de busqueda X = Py + hminS. Paso 4. Construimos el nuevo punto P+: = Pe +AminS- Paso 5. Aplicamos el criterio de parada: jestdn los valores de la funcién F(Pk) y f(Px+1) suficientemente proximos y es la distancia entre los puntos ||Px+1 — Ps|| suficientemente pequefia? Si no, repeti- mos el proceso. MATLAB Programa 8.1 (Método de biisqueda de la seccién durea para mi- | nimizar). Construcciéa de la aproximacién numérica a un mfnimo de la funcién f(z) en el intervalo [a, b] usando el método de la seccién aurea. Este | método sélo debe usarse si la funcién f(z) es unimodal en el intervalo [a,b]. _ function[S,E,G]=golden(f,a,b,delta,epsilon) % Datos # es la funcién objetivo, introducida como una cadena de caracteres ’f’ ay b son los extremos del intervalo delta es la tolerancia para las abscisas - epsilon es la tolerancia para las ordenadas Resultados - S=(p,yp) contiene la abscisa p y la ordenada yp del minimo - E=(dp,dy) contiene las estimaciones de los errores para pe yp - G es una matriz de orden n x 4 cuya fila k-ésima [ak ck dk bk] contiene los valores a, c, dy b de la k-ésima iteracién ri=(sqrt(5)-1)/2; r2=r172; b=b-a; Bere ae REE RS ' Sec. 8.1 MINIMIZACION DE UNA FUNCION 449 ya=feval(f,a); yb=feval (f,b); caatr2*h; d=atri*h; yo=feval(f,¢); yd=feval (f,4); ket; ‘A(k)=a;B(k)=b;C(k)=c;D(k)=d; while(abs(yb-ya)>epsilon) | (h>delta) kek+t; if (yeY¥(lo)+epsilon&cnt=snorm) snorm=s; end end Q=Q?; VO=V(lo,i:n); © Sec. 8.1 MINIMIZACION DE UNA FUNCION 453 y0=¥(1o) ; dV=snorn; dy=abs (¥(hi)-¥(1o)); if (show==1) disp(P); disp(Q); end Programa 8.3 (Btisqueda de un minimo local mediante interpo- | lacién cuadratica). Btisqueda de un minimo local de la funcién f(z) en el intervalo (a, }], realizada a partir de una aproximacién inicial po. function[p,yp,dp,dy,P]=quadmin(f,a,b,delta, epsilon) % Datos h ' f es la funcién objetivo, introducida como una cadena de caracteres ’f’ ay b son los extremos del intervalo delta es 1a tolerancia para las abscisas epsilon es la tolerancia para las ordenadas Resultados - p es la abscisa del minimo - yp es la ordenada del minimo - dp es la estimacién del error de p - dy es la estimacién del error de yp - Pes el vector de las iteraciones 1 1 if (abs(pO)>1e4) ,h=abs (pO) /1e4;end while (kepsilon&cond~=5) £1=(feval (f,p0+0.00001)-feval (f ,pO-0.00001)) /0. 00002; if (£1>0) ,h=-abs(h) ;end pi=p0th; p2=p0+2* pmin=p0; yO=feval(f,p0); yi=feval(f,pt. 454 Cap. 8 OPTIMIZACION NUMERICA y2=feval(f,p2); ymin=y0; cond: j=0; ¥% CAlculo de h para que yideltakcond==0) if (y0<=y1), pi=p0th; yi=feval(£,p1); else if (y2big| abs (p0) >big) , cond=5; end end if(cond==5) , pmin=p1; ymin=feval (f,p1); else ¥, Interpolacién cuadratica para hallar yp d=4xy1-2*y0-24y2; it(dbigl/abs(pmin)>big) ,cond=5;end 4% Criterio de parada de la minimizacién e0=abs(y0-ymin) ; et=abs(y1-ymin’ e2=abs(y2-ymin if(e0~=0 & eOe4) ,h=len/te4;end err=1;cnt=0; cond=0; P(ent+1,:)=[P0 yo]; while (cntdelta|err>epsilon)) % Calculo de la direccién de busqueda S=feval(G,P0); % Comienzo de la minimizacién unidimensional mediante % interpolacién cuadratica O+h*S 5 P2=P0+2*h*S; ‘eval(F,P1); ‘eval (F,P2); cond=0; j=0; while (jbig|len>big) ,cond=5;end end if (cond==5) Pmin=P1; ymin=y1; else d=4*y1-2*y0-24y2; if (4<0) hmin=h*(4*y1-3*y0-y2)/d; else con hmin=h/3; end % Construccién del préximo punto Pmin=PO+hmin*S; ymin=feval(F,Pmin); % Determinacién de la magnitud del préximo incremento h hO=abs(hmin) ; hizabs(hmin-h) ; hi ibs (hmin-2*h) ; if(hO 0 tal que (8) lf(t.y.) — f(t,y2)| S$ Llyn — yal para cualesquiera (t,y:), (t,y2) € R. La constante L se llama constante de Lipschitz de f. a Teorema 9.1. Supongamos que f(t,y) esta definida en un rectdéngulo R. Si existe una constante L > 0 tal que (9) \filtsy)|

You might also like