You are on page 1of 76
468 Gap. 9 ECUACIONES DIFERENCIALES ORDINARIAS Teorema 9.2 (Existencia y unicidad de soluciones). Supongamos que ‘f(t,y) es continua en el recténgulo R = {(t,y) : to 0 es una solucién. (b) Compruebe que y(t) = #°/? para t > 0 es una solucién. (c) ;Viola este ejemplo el Teorema 9.2? {Por qué? 11. Consideremos el problema de valor inicial v=(i-v)? (0) =0. (a) Compruebe que y(t) = sen(¢) es una solucién en [0,7/4]. (b) Determine el intervalo mas grande en el que la solucién existe. 12. Pruebe que la integral definida [? f(t) dt puede calcularse resolviendo el pro- blema de valor inicial y=f(t) paraa Si el tamaiio de paso h es suficientemente pequefio, entonces podemos des- preciar el término que contiene h? y obtener (5) y(ti) vn = yo + AL (to, Yo): que se llama aproimacién de Euler. 472 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS Repitiendo el proceso generamos una sucesién de puntos que se aproximan a la grafica de la solucién y = y(t). El paso general del método de Euler es (6) test =thth, Yer =Yet+Af(te,ye) para kK=0, 1, ..., M-1, Ejemplo 9.2. Vamos a usar el método de Euler para hallar una solucién aproxi- mada del problema de valor inicial (7) y'=Ry en [0,1] con y(0)=yo y R constante. Debemos elegir un tamafio de paso y, luego, usar la segunda formula de (6) para calcular las ordenadas. A veces, esta segunda formula se llama ecuacién en diferencias y, en nuestro caso, (8) vest =ye(L+hR) para k=0, 1, ..., M-1. Si vamos escribiendo estos valores recursivamente, obtenemos yi = yo(l+hR) Y2 = y:(1 + AR) = yo(1 + AR)? (9) uM =ym-1(1+AR) = yo(1+hR)™. En la mayorfa de los problemas no se puede hallar una férmula explicita para determinar las aproximaciones, de manera que cada punto debe calcularse sucesiva- mente a partir del punto anterior. Sin embargo, con el problema de valor inicial (7) hemos tenido suerte; el método de Euler proporciona una solucién explicita: (20) te=kh ye=yo(L+hR)* para k=0, 1, ..., M. La formula (10) puede entenderse como una formula para calcular el interés compuesto y la aproximacién de Euler proporciona el capital acumulado a partir de un depésito inicial. . Ejemplo 9.3. Supongamos que se depositan 1000 euros durante cinco afios a un interés compuesto continuamente del 10%. ;Cudl es el capital acumulado al cabo de esos cinco afios? Vamos a utilizar las aproximaciones de Euler con tamagios de pasoh = 1, 4 y 30 Para aproximar y(5) en el problema de valor inicial =O0.1y en [0 j] con y(0) = 1000. Los resultados de aplicar la fSrmula (10) con R = 0.1 se recogen en la Tabla 9.1. = sec. 9.2 EL METODO DE EULER 473 . Tabla 9.1 El interés compuesto en el Ejemplo 9.3. Tamatio de paso,| _Nrimero de Aproximacién h iteraciones, M | ya a y(5) | 5 if 5 1000 ( + 2) = 1610.51 0 4 60 1000 (1+24) =1645.31 i 12 ta00 ge 1800 1000 (@ + ax) = 1648.61 Pensemos en los valores ys, yso € yisoo que aproximan el capital acumulado a los cinco afios. Estos valores se han obtenido usando tamafios de paso dife- rentes y realizando un esfuerzo computacional también diferente. La solucién del problema de valor inicial es y(5) = 1000e* = 1648.72. Si no uséramos la formula explicita (10), entonces hubieramos necesitado realizar 1800 iteraciones en el método de Euler para obtener yigo0 y, aun asf, js6lo obtenemos cinco cifras significativas de precisién en nuestra respuesta! Cuando se tiene que aproximar la solucién del problema de valor inicial (7) en un banco, se utiliza el método de Euler porque se dispone de la férmula explicita (10). Otros métodos de aproximacién a la solucién més sofisticados no tienen una formula explicita para calcular yg, pero necesitan un esfuerzo computacional menor. Descripcién geométrica Si partimos del punto (to, yo); calculamos el valor de la pendiente mo = f (to, Yo): nos movemos horizontalmente una distancia A y verticalmente una distancia Af (to, yo), entonces lo que hacemos es desplazarnos a lo largo de la recta tan- gente a la curva y(#) terminando en el punto (¢:,y:) (véase la Figura 9.5). Hagamos notar que j(f,y1) 00 es un punto de la curva deseadal, aunque sea la aproximacién que se genera. Ahora debemos usar (1, y:), como si fuera un punto correcto, para calcular la pendiente m: = f(t, y1) y usar este valor para obtener el siguiente desplazamiento vertical Af(t:,y1), que nos lleva al punto (ta.y2), ¥ asi sucesivamente. Tamafio de paso frente a error Los métodos de aproximacién a la solucién de un problema de valor inicial que vamos a presentar se llaman métodos de diferencia 0 métodos de variable 474 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS 1 Figura 9.5 Aproximaciones de 00 05 10 15 2.0 25 3.0 Ruler yi =yethf(teyn)- discreta. En este tipo de métodos, la solucién se aproxima en un conjunto finito de puntos que lamaremos nodos. Un método elemental de la forma Yewt = Ye + hO(te, yx), para cierta funcién & llamada funcién incremental, se dice que es de paso simple, o de un solo paso, porque en el cdlculo del nuevo punto sdlo interviene de manera explicita el punto inmediatamente anterior. Cuando usamos un método de variable discreta para resolver de manera aproximada un problema de valor inicial, existen dos fuentes de error: la dis- cretizacién y el redondeo. Definicién 9.3 (Error de discretizacién). Supongamos que {(tx, yx) tL es un conjunto finito de aproximaciones a la dnica solucién y = y(t) de un problema de valor inicial. El error de truncamiento global o error de discretizacién global ex se define como (4) ek =v(th)—ye para k=0, 1, ..., M. Este error es la diferencia entre la solucién exacta y la calculada con el método en el nodo correspondiente. El error de truncamiento local o error de discretizacién local se define como +1 (12) 11 = y(ter1) — yk —AP(te, ye) para k=0, 1, - Este error es el que se comete en un solo paso, el que nos lleva desde el nodo tk hasta el nodo th-1- a Cuando se obtiene la ecuacién (6) en la presentacién del método de Euler, el término que se desprecia en cada paso es y”"(ck)(h?/2). Si este fuera el tinico “sec. 9.2 Et METopo DE EULER ars error que se comete en cada paso, entonces en el otro extremo del intervalo, una vez dados los M pasos, el error acumulado seria, M 2 a Gin alt pal TM Sp > u(r) = My"(0)-> =¥ (jh = mA (b=a)y"(c), _ PEGE h = O(n), Podria haber otros errores, pero esta estimacién es la que predomina. Una dis- cusién detallada de este tema puede encontrarse en textos avanzados de métodos numéricos para ecuaciones diferenciales (Referencia [75]). Teorema 9.3 (Precisién del método de Euler). Sea y(t) la solucién del problema de valor inicial (2). Si y(t) € C[to, 5] y {(tks yx) #45 es la sucesién de aproximaciones generada por el método de Euler, entonces lex] = [u(te) — el = O(A), len+1] = ly(te+1) — Ye — Af (tes yx)| = O(R?). El error al final del intervalo se llama error global final y viene dado por (13) (14) E(y(0), h) = |y() — yae| = OCA). Observacién, El error global final E(y(b),h) se usa para estudiar el compor- tamiento del error para tamafios de paso diferentes y nos permite tener una idea del esfuerzo computacional que hay que realizar para obtener aproxima- ciones con la precisién deseada. Los Ejemplos 9.4 y 9.5 ilustran los conceptos que aparecen en el Teorema 9.3. Si calculdsemos las aproximaciones usando como tamafios de paso h y h/2, deberfamos tener (15) E(y(6), A) = Ch para el tamafio de paso més grande y h A ¥ (16) E (vo 3) % OF = 5Ch = SE(U(E),h) Por tanto, el Teorema 9.3 nos dice que si reducimos a la mitad el tamaiio de © paso en el método de Euler, entonces cabe esperar que el error final global se reduzca también a la mitad. Ejemplo 9.4. Vamos a usar el método de Euler para resolver el problema de valor inicial en [0,3] con y(0)=1 y a comparar las soluciones que se obtienen con h=1, 4, } y 476 Cap. 9 EGCUACIONES DIFERENCIALES ORDINARIAS Oo OS “LO Es. BP 25530 Figura 9.6 Comparacién de las aproximaciones de Euler obtenidas con tamaiios de paso diferentes para y' = (t— y)/2 en [0,3] con la condicién y(0) = 1. La Figura 9.6 muestra las gréficas de las cuatro soluciones obtenidas por el método de Euler y la gréfica de la solucién exacta y(t) = 3e-/? -2+¢. En la Tabla 9.2 se muestran los valores de las cuatro aproximaciones en algunos nodos. Para el tamaiio de paso h = 0.25, los célculos son .0 + 0.25 (25+) = 0.875, nh yo = 0.875 + 0.25 (25**) = 0.796875, etc. La iteracion contintia hasta que Ilegamos al otro extremo del intervalo 1.440573) 2 (3) © yi2 = 1.440573 + 0.25 ( ) = 1.604252. . Ejemplo 9.5. Vamos a comparar los errores globales finales cuando se usa el método de Euler para resolver el problema de valor inicial t- tr / ra en [0,3] con y(0) usando como tamafios de paso 1, 3, -.-. g- La Tabla 9.3 muestra los erzores globales finales para los diferentes tamafios de paso; en ella vernos que el error en la aproximacién a y(3) decrece en un factor de 5 cuando el tamaiio de paso se reduce ala mitad. Para los tamafios de paso mas pequefios, también podemos comprobar la, conclusién del Teorema 9.3 E(y(3),h) = (3) — ye = O(h*) Ch, siendo C= 0.256. . “‘$nc. 9.2 Ex Méropo DE EULER ATT "abla 9.2 Comparacién de las aproximaciones de Euler obtenidas con tamafios | de paso diferentes para y' = (t — y)/2 en [0,3] con y(0) = 1. Uk (te) te h= hat aati had Exacto 0 1.0 1.0 1.0 10 10 0.125 0.9375 0.943239 0.25 0.875 0.886719 0.897491 0.375 0.846924 0.862087 0.50 0.75 0.796875 0.817429 0.836402 0.75 | 0.759766 0.786802 0.811868 1.00 05 0.6875 0.758545, 0.790158 0.819592 1.50 0.765625, 0.846386, 0.982855 | 0.917100 2.00 0.75 0.949219 1.030827 1.068222 | 1.103638 2.50 1.211914 1.289227, 1.325176 1.359514 300 | 1.375 1.533936 1.604252 1.637429 1.669390 Tabla 9.3 Relacién entre el tamaiio de paso y el error global final para las aproximaciones de Euler a la solucién de y’ = (t — y)/2 en [0,3] con y(0) = ‘Tamafio | Némero Exror global de paso, | de pasos, | Aproximacién final, O(h) = Ch h M ac 2 y(3) y(3)— um con C = 0.256 1 3 1.375 | 0.294390 0.256 $ 6 1.533936 0.135454 0.128 $ 2 1.604252 0.065138 0.064 é 24 1.637429 0.031961 0.032 4 48 1.653557 0.015833 0.016 Be ell © 168 1.661510 0.007880 0.008 & 192 1.665459 0.003931 0.004 478 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS MATLAB Programa 9.1 (Método de Euler). Construccién de las aproximaciones a la solucién del problema inicial y’ = f(t,y) con y(a) = yo en (a, 6] dadas | Por | Ueer =Yethf(tisye) para k=0, 1, ..., M-1. function E-euler(f,a,b,ya,™) % Datos a - £ es la funcién, almacenada % como una cadena de caracteres ’f’ h - ay b son los extremos derecho e izquierdo h del intervalo % - ya es la condicién inicial y(a) % - Mes el nimero de pasos % Resultado % - E=[T’ ¥’] siendo T el vector de las abscisas e % Y el vector de las ordenadas h=(b-a)/M; T=zeros(1,M+1); Y=zeros(1,M+1); T=a:h:b; Y¥(1)=ya; for j ¥Gj+L) end E=(T? ¥°]; M =Y(j)+h*feval (f,T(j),¥(j))5 Ejercicios En los Ejercicios 1 a 5 resuelva la ecuacién diferencial usando el método de Euler. (a) Tome h = 0.2 y dé dos pasos calculando los valores a mano. Luego tome h=0.1y dé cuatro pasos calculando los valores a mano. (b) Compare la solucién exacta y(0.4) con las dos aproximaciones calculadas en el apartado (a). (c) {Se comporta el error global final de las aproximaciones obtenidas en el apartado (a) como se espera cuando h se divide entre dos? 1. yl =? —y con y(0) =1, y(t) =-e* +? — 242 3y + 3¢ con y(0) y(t) 5b et et —t— 3 9.2 Ex MéTODO DE EULER 479 B/2 . y/ = —ty con y(0) = 1, 9(¢) 2 _ 2y con y(0) = #, y(t) = He-** + te“* . y! = 2ty? con y(0) =1, y(t) = 1/(1-¢?) . Crecimiento logistico de una poblacién. Se supone que la curva de poblacién P(t) para los Estados Unidos de América en el siglo XX obedece la ecuacién diferencial logistica P’ = aP — bP? siendo a = 0.02 y 6 = 0.00004. Denotemos por t los afios transcurridos desde 1900 y tomemos como tamajio de paso h = 10. Determine, haciendo las operaciones a mano o con una calculadora, las aproximaciones de Euler a P(t) (redondeando cada valor Pt a la décima) y rellene la siguiente tabla Pte) P,, aproximacién Afo | ty real de Euler 1900 | 0.0 76.1 76.1 1910 | 10.0 92.4 89.0 1920 | 20.0 | 106.5 ax 1930 | 30.0 | 123.1 1940 | 40.0 | 132.6 138.2 1950 | 50.0 | 152.3 1960 | 60.0 180.7 1970 | 70.0 | 2049 | 202.8 1980 | 20.0 | 2265 | . Pruebe que si se utiliza el método de Euler para resolver el problema de valor inicial f(t) en [a,b] con y(a) =yo = el resultado es wea ul) = DO Filter, = que es la suma de Riemann que aproxima la integral definida de f(t) en el intervalo (a, }]. . Pruebe que el método de Euler falla cuando queremos aproximar la solucién y(t) = 3/2 del problema de valor inicial y' = f(éy) =1.5y*/* con y(0) = 0. Justifique su respuesta. ;Cudl es el problema? |. {Puede usarse el método de Euler para resolver el problema de valor inicial y'=1+y? en [0,3] con y(0) =07 Indicaci6n. La solucién exacta es y(#) = tan(t). 480 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS Algoritmos y programas En los Problemas 1 a 5, resuelva la ecuacién diferencial usando el método de Euler. (a) Tome h = 0.1 y dé 20 pasos con el Programa 9.1. Luego tome h = 0.05 y dé 40 pasos con el Programa 9.1. (b) Compare la solucién exacta y(2) con las dos aproximaciones obtenidas en el apartado (a). (c) ¢Se comporta el error global final de las aproximaciones obtenidas en el apartado (a) como se espera cuando h se divide entre dos? (d) Dibuje las aproximaciones y la solucién exacta en una misma gréfica. Indi- caci6n. La matriz E que se obtiene como resultado en el Programa 9.1 contiene las coordenadas x e y de las aproximaciones y la instruccién del paquete MAT- LAB plot (E(:,1) ,E(:,2)) produciré una dibujo andlogo al de la Figura 9.6. 1. y' =? —y con y(0) = 1, y(t) = —e-* + 2? — 28 +2 2. y! = 3y + 3¢ con y(0) =1, y(t) = $e —t—} 2/2 - y! = —ty con y(0) = 1, y(t) = ig: u(t) = e-*# + te“ - y! = 2ty? con y(0) = 1, y(t) = 1/(1-¢?) - Considere el problema de valor inicial y’ = 0.12y en [0,5] con y(0) = 1000. (a) Aplique la formula (10) para hallar la aproximacién de Euler a y(5) tomando como tamaiios de paso h = 1, + y gig. (b) {Cual es limite en el apartado (a) cuando h tiende a cero? 7. Crecimiento exponencial de una poblacién. La poblacién de ciertas especies crece a una velocidad que es proporcional a la poblacién presente y que res- ponde a un problema de valor inicial como el siguiente 3. 4. y! =e — 2y con y(0) = 5. 6 0.02y en [0,5] con y(0) = 5000. (a) Aplique la formula (10) para calcular la aproximacién de Euler a y(5) usando los tamafios de paso h = 1, + y 345. (b) ;Cuél es lfmite en el apartado (a) cuando A tiende a cero? 8. Un paracaidista salta desde un avién. Hasta el momento en que abre el paracafdas, la resistencia del aire es proporcional a v°/? (v representa la ve- locidad). Supongamos que el intervalo temporal es [0,6] y que la ecuacién diferencial para la velocidad de descenso es v'=10-0.01v/?_ en [0,6] con v(0) = Use el método de Euler con A = 0.05 para estimar u(6). 10. 9. c. 9.2 EL METODO DE EULER ani Modelo de una epidemia. — Vamos a describir a continuacién un modelo matemético para la extensidn de una epidemia. Supongamos que tenemos una comunidad de L personas que contiene incialmente P personas conta- giadas y @ sin contagiar. Sea y(t) el niimero de personas contagiadas en un instante t. Si la enfermedad no es muy grave, como el resfriado comtin, todo el mundo contintia en activo y la epidemia se extiende. Puesto que hay PQ posibles contactos entre personas de uno y otro grupo, la velocidad de cambio Ge y(t) es proporcional a PQ, asi que el problema puede modelarse mediante el problema de valor inicial yl =ky(L—y) con (0) = 40. (a) Tomando L = 25000, & = 0.00003 y h = 0.2 con la condicién inicial y(0) = 230, use el Programa 9.1 para calcular la aproximacién de Euler en el intervalo (0, 60]. (b) Dibuje la grdfica de la solucién aproximada del apartado (a). (c) Estime el ntimero medio de personas contagiadas calculando la media aritmética de las ordenadas obtenidas en el apartado (a) con el método de Euler. (d) Estime el niimero medio de personas contagiadas ajustando una curva a los datos del apartado (a) y usando el Teorema 1.10 (teorema del valor medio para integrales) Consideremos la ecuacién integro-diferencial de primer orden y ‘ 1.3y — 0.25y? — 0.0001y if u(r) dr. ° (a) Use el método de Euler con h = 0.2 e y(0) = 250 en el intervalo [0, 20] (aproxime las integrales mediante la regla del trapecio). Indicacién. El paso general (6) para el método de Euler es te Veet = Yet (230 = 0.25y2 — o.oooiyn y(t) ar) " 0 Si usamos la regla del trapecio para aproximar la integral, entonces esta expresién se transforma en eer = yk + A(13yx — 0.25y2 — 0.0001yxTs(h)), siendo To(h) = 0 y A Te(h) = Te-1(h) + 5(Ye-1 + Ye) para k=0, 1, ..., 99 (b) Repita el apartado (a) con los valores iniciales y(0) = 200 e y(0) = 300. (c) Dibuje las soluciones aproximadas obtenidas en los apartados (a) y (b) sobre un mismo gréfico. 9.3 482 Cap.9 ECUACIONES DIFERENCIALES ORDINARIAS El método de Heun La siguiente técnica que presentamos, el método de Heun, introduce una idea nueva en la construccién de un algoritmo para resolver el problema de valor inicial (1) y()=fey@) en [a,b] con (to) = yo- Para obtener el punto (t1, y1), podemos usar el teorema fundamental del célculo e integrar y'(t) en [to, t1] de manera que @) Htavto)dt = f° v/C) at = v(t:)—vta, to donde hemos usado como primitiva de y'(t) la funcién deseada y(t). Despejando y(t) en la igualdad (2), nos queda @) tt) = ult) + [ Heaw(enat Ahora podriamos usar un método de integracién para aproximar la integral definida en la expresién (3). Si usamos la regla del trapecio con incremento h = ty — to, entonces el resultado es “ v(ts) © v(to) + Beto, uty) + Fe, u(t) Hagamos notar que en la formula del miembro derecho de (4) aparece el valor y(f,) que queremos determinar; lo que hacemos es usar una estimacién de y(t:) y, para nuestro propésito, la aproximacién de Euler es suficiente. Al sustituir ésta en (4), obtenemos una férmula de aproximacién a y(t) que se llama método de Heun: i) as = (to) + Beto, u0) + F(ti,90 + fl to, 0) Repitiendo el proceso se genera una sucesién de puntos que aproximan la solucién y = y(t). En cada paso, la aproximacién dada por el método de Euler se usa como una prediccién del valor que queremos calcular y luego la regla del trapecio se usa para hacer una correccién y obtener el valor definitivo. El paso general del método de Heun es Pasi =Ye thf (tek), tera = te +h, 6 2 Veet = ve + BCS (bes ue) + F(bests Pen) Sec. 9.3 Et MéTopo De HEUN 483 (ty PD oD (to fo) z=flt ¥) (a) Valor predictor: (b) Valor corrector: hk P.= v0 thf to, 90) yn y+ fd Figura 9.7 Las gréficas y = y(t) y z = f(t, y(E)) que se usan en la construccién del método de Heun. Veamos el papel que juegan la derivacin y la integracién en el método de Heun: Dibujamos la recta tangente a la gréfica de la solucién y = y(t) en el punto (tp, yo) y la usamos para construir el punto (ti,p:). Ahora miramos la gréfica de z = f(t,y(é)) y consideramos los puntos (to, fo) y (t1; fi), donde fo = f(to,yo) y fi: = f(ts,pr)- El Area del trapecio con vértices (to, fo) ¥ (ts, fx) se usa como aproximacién de la integral que aparece en (3) que, a su vez, se usa para obtener el valor final dado por la expresin (5). Las gréficas correspondientes se muestran en la Figura 9.7. Taman de paso frente a error El término del error de la regla del trapecio que hemos usado para aproximar la integral de la expresién (3) es aes yc) (7) yen) a5. Si el tinico error que se cometiera en cada paso fuera el que se da en la expre- sién (7), entonces después de M pasos del método de Heun el error acumulado seria @) * (2)/¢)n? = Of?) iY (c)h? = O(h”). 484 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS El siguiente teorema es importante porque establece la relacién entre el error global final y el tamavio de paso y puede usarse para darnos una idea del esfuerzo computacional requerido por el método de Heun si queremos obtener la solucién con una cierta precisién fijada de antemano. ‘Teorema 9.4 (Precisién del método de Heun). Supongamos que y(t) es una solucién del problema de valor inicial (1). Si y(t) € C°{to, 8] y {(tes vx) }#L0 es la sucesion de aproximaciones dadas por el método de Heun, entonces lex] = ly(te) — yx] = O(A?), lensal = ly(te+ra) — ye — h@(te, ve)| = OCF), donde ©(th, yx) = ye + (h/2)(F (tes Ye) + F(tevrs Ue + hf (tes ¥e)))- En particular, el error global final en el extremo derecho del intervalo verifica (10) E(y(b); h) = |y(®) — vae| = O(h?) Los Ejemplos 9.6 y 9.7 ilustran el Teorema 9.4: Si calculdsemos las aproxi- maciones usando como tamajios de paso A y h/2, entonces deberiamos tener (11) E(y(b),h) = Ch? (9) para el tamafio de paso més grande y A A? a 1 ), =) OS = =Ch & 5. hf). (12) 5 (x 4) OF = 70m & GE(u)-h) En consecuencia, el Teorema 9.4 nos dice que si el tamafio de paso en el método de Heun se reduce a la mitad, entonces cabe esperar que el error global final se reduzca a su cuarta parte Ejemplo 9.6. Vamos a usar el método de Heun para resolver el problema en [0,3] con y(0)=1 y a comparar las soluciones obtenidas con h = 1, h, hy}. En la Figura 9.8 se muestran las grdficas de las dos primeras soluciones dadas por el método de Heun y la grafica de la solucion exacta y(t) = 3e-/? —2+t. En la Tabla 9.4 se recogen los valores de las cuatro soluciones en algunos nodos. Un cdlculo tipico, que hacemos con el tamafio de paso h = 0.25, seria f(to, yo) = -0.5, py = 1.0+0.25(—-0.5) = 0.875, 2 F(ts:p:) = 925 0878 = -0.3125, y: = 1.0 +0.125(—0.5 — 0.3128) = 0.8984375. La iteracién contintia hasta que llegamos al tiltimo paso y(3) © yiz = 1.511508 + 0.125(0.619246 + 0.666840) = 1.672269. . ; Sec. 9.3. Ex Méropo ps HEUN 485 * 1 12 1.0 yar) 0.5 t 0.0 05 1.0 15 2.0 Figura 9.8 Comparacién de las soluciones obteni- das con el método de Heun con diferentes tamafios de paso para y' = (t — y)/2 en [0,2] con la condicién inicial y(0) = 1. Tabla 9.4 Comparacién de las soluciones obtenidas con el método de Heun con diferentes tamajios de paso para y' = (¢ — y)/2 en [0,2] con la condicién y(0) = 1. Ve u(te) te h= hai hak Exacto 0 1.0 r 1.0 1.0 | 10 0.125 0.943359 0.943239 0.25 0.398438 0.897717 0.897491, t 0.375 0.862406 0.862087 0.50 0.84375 0.838074 0.836801 0.836402 0.75 0.814081. 0.812395 0.811868 1.00 0.875 0.881055 0.822196 0.820213 0.819592 1.50 0.930511 0.920143 0.917825 0.917100 ft 2.00 1.171875 1.117587 1.106800 | 1.104392 1.103638 2.50 1.373115 1.362593 1.360248 | 1.359514 3.00 1.732422 1.682121 1.672269 1.670076 1.669390 | Ejemplo 9.7. Vamos a comparar los errores globales finales cuando usamos el método de Heun para resolver el problema de valor inicial usando los tamaiios de paso 1, 3, ..., En la Tabla 9.5 se recogen los errores s globales finales y en ella podemos observar que él error de la aproximacién a y(3) decrece a su cuarta parte + cuando reducimos 486 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS abla 9.5 Relacién entre el tamaiio de paso y el error global final de las soluciones obtenidas con el método de Heun para y! = (t—y)/2 en [0,2] con la condicién inicial y(0) = 1. ‘Tamaiio | Ntimero ] Error global | O(#*) = cn de paso, | de pasos, | Aproximacién final, con h M yu a y(3) y(3) — yx c = 0.0432 1 3 1.732422 =0.063032 0.043200 $ 6 1.682121 0.012731 0.010800 : w 1.672269 0.002879 | 0.002700 i 24 1.670076 —0.000686 0.000675 é 48 1.669558 0.000168 0.000169 a 96 1.669432 | 0.000042 0.000042 & 192 1.669401 0.000011 0.000011 el tamaiio de paso a la mitad 3: E(y(3),h) = (3) ya = OCH?) # CH, con C= MATLAB 1 [Programa 9.2 (Método de Heun). Construccién de las aproximaciones | | a la solucién del problem inicial y' = f(ty) eon (2) = yp en (a,b) dads | por h | veer = kt pI (tes ye) + f(teea va + fte-¥e))) | | peek Opt any Wet | function H=heun(f,a,b,ya,¥) % Datos h - £ es la funcién, almacenada como h una cadena de caracteres ’f’ % ~ a yb son los extremes derecho e izquierdo % del intervalo Sec. 9.3 Et METopo DE HEUN 487 - ya es la condicién inicial y(a) - Mes el niimero de pasos Resultado =[T? Y?] siendo T el vector de las abscisas e Y el vector de las ordenadas =(b-a)/M; T=zeros(1,M+1); Y=zeros(1,M+1); Tsa:h:b; ¥(1)=ya; for M ki=feval(£,T(j),¥(j))3 k2=feval (£,T(j+1) ,¥(j)+h*k1) ; YCj+1)=¥ (5) +(h/2)*(k1+k2) ; end Ee(D'Y’]; Ejercicios — En los Ejercicios 1 a 5 resuelva la ecuacién diferencial usando el método de Heun. (a) Tome h = 0.2 y dé dos pasos calculando los valores a mano. Luego tome h=0.1y dé cuatro pasos calculando los valores a mano. (b) Compare la solucién exacta y(0.4) con las dos aproximaciones calculadas en el apartado (a). (c) gSe comporta el error global final de las aproximaciones obtenidas en el apartado (a) como se espera cuando h se divide entre dos? 1. y= —y con y(0) =1, y(t) =-e t+ -2t+2 3y + 3t con y(0) = 1, y(t) = fe*-t-§ —ty con y(0) =1, y(t) =e7*"/? 2 1, y(t) = hen™* + te ty? con y(0) = 1, y(t) =1/(1—¢?) ote que el método de Heun genera una aproximacién de y(1) aunque la solucién no esté definida en t = 1. = 2y con y(0) 6. Pruebe que cuando se usa el método de Heun para resolver el problema de valor inicial y’ = f(t) en [a,6] con y(a) = yo = 0 el resultado es = we (0) = 5 Do (Flte) +f (tess)), =0 nia 488 CaP.9 ECUACIONES DIFERENCIALES ORDINARIAS que es la aproximacién dada por la regla compuesta del trapecio para aprox mar la integral definida de f(t) en el intervalo (a, b}. 7. El método de Richardson para mejorar las aproximaciones, que ya presentamos en el Lema 7.1 (Seccién 7.3), puede usarse en conjuncién con el método de Heun. Si usamos el método de Heun con tamafio de paso h, entonces tenemos y(d) © un + Ch", si ahora lo usamos con tamafio de paso 2h, entonces tenemos u(b) = Yan + 4CK?. Los términos que contienen Ch? pueden eliminarse para obtener una aproxi- macion mejorada a y(b): 4yn — Yar 7. Este esquema de mejora puede usarse con los valores mostrados en el Ejem- plo 9.7 para obtener una aproximacién mejor a 4(3). Calcule las entradas que faltan en la tabla siguiente: y(b) & h yn |[(4yn — yan)/3 ee eS 1 ‘| 1.732422 1/2 | 1.682121 | 1.665354 1/4 | 1.672269 | 1/s_| 1.670076 1/16 | 1.869558 | 1.669385 1/32 | 1.669432 1/64 | 1.669401 8. Prucbe que el método de Heun falla cuando queremos aproximar la solucion y(t) = 13/2 del problema de valor inicial 1/3 (ey) = L.by con y(0) =0. Justifique su respuesta. {Cul es el problema? vs Algoritmos y programas En los Problemas 1 a 5, resuelva la ecuacién diferencial usando el método de Heun. (a) Tome h = 0.1 y dé 20 pasos con el Programa 9.2, Luego tome h = 0.05 y dé 40 pasos con el Programa 9.2. regal SEC. 9.3 Et METODO DE HEUN 489 (b) Compare la solucién exacta y(2) con las dos aproximaciones obtenidas en el apartado (a). (c) {Se comporta el error global final de las aproximaciones obtenidas en el apartado (a) como se espera cuando h se divide entre dos? (d) Dibuje las aproximaciones y la solucién exacta en una misma gréfica. Indi- caci6n. La matriz H que se obtiene como resultado en el Programa 9.2 contiene las coordenadas z e y de las aproximaciones y la instruccién del paquete MAT- LAB plot (H(: ,1),H(: ,2)) produciré una dibujo andlogo al de la Figura 9.8. 1. y! =@ —y con y(0) = 1, y(t) = -e“* +t? — 24 +2 2. y' = 3y + 3¢ con y(0) = 1, y(t) = $e —t-2 22/2 3. y' = —ty con y(0) = 1, y(t) = 4. y! =e7* — 2y con y(0) = 4, y(t) = yen? + te“ 2ty? con y(0) = 1, y(t) = 1/(1-#) 6. Consideremos un proyectil que se dispara hacia arriba y luego cae siguien- do una trayectoria rectilinea. Si la resistencia del aire es proporcional a la velocidad, entonces el problema de valor inicial para la velocidad u(t) es con v(0) =r, siendo vp la velocidad inicial, M la masa y K el coeficiente de resistencia del aire. Supongamos que v = 40 m/s y K/M = 0.1. Use el método de Heun con h = 0.5 para resolver el problema de valor inicial —10-—0.1v en [0,4] con v(0) = 40. v Dibuje su solucién y la solucién exacta v(t) = 140e~*/!° — 100 en una misma gréfica. (Observe que la velocidad limite es —100 m/s.) 7. En psicologta, la ley de estimulo-respuesta de Wever-Fechner establece que la tasa de variacién dR/dE de la reaccién R ante un estimulo E es inversamente proporcional al estimulo. Si llamamos valor umbral al minimo nivel de estimulo So que es posible detectar, entonces el problema de valor inicial que modela esta situacién es Ri== con R(So) Supongamos que Sp = 0.1 y que R(0.1) = 0. Use el método de Heun con = 0.1 para resolver R= 5 en [0.1,5 8. (a) Escriba un programa que sirva para llevar a cabo el método de mejore de Richardson descrito en el Ejercicio 7. (b) Use su programa para aproximar y(2) en cada una de las ecuaciones de los Problemas 1-5 tomando h = 0.05 como tamaiio de paso inicial. El ] con R(0.1) =0. 9.4 490 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS programa deberfa terminar cuando el valor absolute de la diferencia entre dos mejoras consecutivas sea menor que J0=": El método de la serie de Taylor El método de la serie de Taylor es de aplicabilidad general y el método cstdndar con el que se compara la precisién de otros métodos ‘numéricos para resolver problemas de valor inicial, ya que puede ser construido de manera que tenga un grado de exactitud fjado de antemano. Empezames reformulando ti teorema de Taylor de manera adecuada para la resolucién de una ecuacién diferencial. Teorema 9.5 (Teorema de Taylor). Supongamos que ylt) € CX**{[to, 6] y que y(t) tiene el desarrollo de Taylor de orden N alrededor de un punto t= tr € [to, 6] dado por a ylte + h) = ylts) + AT (te, y(te)) = 0h"), donde N ) @) Tw(tn ult) =o a j=l 2 ey(t) = F979 (e,y(t)) denota la derivada (j—1)-ésima de 'a funcién f(t,y(t)) cen respecto 2 t. Las formulas de estas derivadas pueden calcularse recursiva- mente usando la regla de la cadena: (3) yvO=f ya fet fw =h+ hf y(t) = fee + 2hya! + fay" + Sal? = fat Uf + favd? + fulfe> ful) ay () = foee + B fies! + Bfiau W')? + Bfexa" + fa" + 3fyuy'y" + fu’) = (fae + Bfttyl + Sfan tf? + fond) + ful fie + 2nd + fwf?) +3(fet fyffea + ff) + Fide + ff) y, en general, (4) (1) = POY F(t, y()s LATER NT IT Sec. 9.4 EL METODO DE LA SERIE DE TAYLOR 491 donde P es el operador de derivacién Os xO. P= (5+1R)- EI valor numérico aproximado de la solucién del problema de valor inicial y'(t) = f(t,y) en [fo, tu] se calcula usando la formula (1) en cada subintervalo (tk, tk+1], de manera que el paso general del método de Taylor de orden NV es fi 2 dsh3 dyh® (8) wea yet ans BE ape has siendo d; = y'J)(t,) para j = 1, 2,..., N en cada paso k= 0, 1, wey M = 1. El método de Taylor de orden N tiene la propiedad de que el error global final es de orden O(h”*+); por tanto, se puede elegir N de manera que este error sea tan pequefio como queramos. Si fijamos el orden NV entonces es teéricamente posible fijar el tamafio de paso h de forma que el error global final sea tan pequefio como queramos; sin embargo, en la practica lo que se hace es construir dos conjuntos de aproximaciones usando tamaiios de paso h y h/2 y comparar los resultados. Teorema 9.6 (Precisién del método de Taylor de orden N). Supon- gamos que y(t) es la solucién del problema de valor inicial. Si y(t) € C'*{to, 6] ¥ {(tk, 4x) }#L9 es la sucesién de aproximaciones generadas por el método de Taylor de orden N, entonces ler] = [u(te) — yx] =O(AY*4), \ee+a] = ly(te+1) — ye — AT y (te, ye)| = OCA). En particular, el error global final en el extremo derecho del intervalo es (7) E(y(6),h) = |y(0) — ye| = OCA). La demostracién puede hallarse en la Referencia [78]. Los Ejemplos 9.8 y 9.9 ilustran el Teorema 9.6 para el caso NV = 4. Si calcu- lésemos las aproximaciones tomando como tamaiios de paso h y h/2, entonces deberfamos tener (6) (8) E(y(5),h) & Cht para el tamajio de paso més grande y 19) A (eat Se ME (9) E (ve,4) BOT = Gglh = TEE UO) .A). Por tanto, el Teorema 9.6 nos dice que si el tamasio de paso se reduce ala mitad, entonees el error global final deberfa reducirse en un factor del orden de +5. 492 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS Ejemplo 9.8. Vamos a usar ol método de Taylor de orden V = 4 para resolver y= (t—y)/2¢n (0, 3] con y(0) = 1 y a comparar las soluciones obtenidas con h = 1, 1 } ‘pritiero hay que determinar las derivadas de y(#). Recordando que la solucién y(t) es funcion de t y derivando la formula y'(t) = f(t,y(t)) con respecto a t obte- hemos y2)(f). Después, continuamos el proceso para hallar las derivadas de orden superior: VO= d (2)¢4) = — ( —= yO=F ( d (2- 3) = — IO) = ( 4 ane ) d —(t-y)/2_ 2-t+y (4) =— eS Se WO = & ( 3 162° Para hallar ys, debemos evaluar las derivadas que acabamos de calcular en el punto (to,4o) = (0, 1), obteniéndose 4=¥O0=—%5 -0.5, dp ay(0) = 22> ty +10 _g 75, =2.0+0.0— 1. dy = (0) = ZO FO0= 19 _ 0.375 5 2.0 - dg =y (0) = “Ahora sustituimos las derivadas {d;} en la expresién (5) con h = 0.25 y usamos el esquema de Horner-Ruffini para calcular el valor y:: 1.0 + 0.25 (-05 +0.25 CE +0.25 eo +0.25 = 0.8974915. El punto calculado es pues (f1,y2) = (0.25, 0.8974915). Para determinar y2, hay que evaluar las derivadas {dj} en el punto (t1, ys) = (0.25, 0.8974915). Los célculos empiezan a requerir un esfuerzo computacional con- ene i Sib dinres anid Sec. 9.4 EL METODO DE LA SERIE DE TAYLOR 493 Tabla 9.6 Comparacién de las soluciones obtenidas con el método de Taylor de orden N = 4 para el problema de valor inicial y’ = (t — y)/2 en [0,3] con y(0) = Ue u(te) h=} h=d Exacto 1.0 10 1.0 10 0.9432392 0.9432392 0.8974915, 0.8974908 | 0.8974917 0.8620874 | 0.8620874 0.8364258 0.8364037 0.8364024 0.8364023 0.8118696 0.8118679 0.8118678 0.8203125 0.8196285 0.8195940 0.8195921 0.8195920 0.9171423 0.9171021 0.9170998 0.9170997 11045125 1.1036826 1.1036408 1.1036385 1.1036383 1.3595575 1.3595168 1.3595145 1.3595144 1.6701860 1.6694308 | 1.6693928 1.6693906 1.6693905 siderable y resulta muy tedioso el hacerlos a mano: 25 — 0.8974915 4; = y'(0.25) = = = -0.3237458, 2.0 — 0.25 + 0.8974915 dy = y (0.25) = yo 0.6618729, =2.0 + 0.25 — 0.8974915 } ds = y(0.25) 20+ 0.25 — 08874018 0.309364, t 2.0 — 0.25 + 0.8974915 F dg = y (0.25) = 200-25 + 0.8974915 _ 9 s 654682. } 16 ' Ahora sustituimos estas derivadas en la expresién (5) con h = 0.25 y usamos el esquema de Horner-Rufini para caleular yo: Y2 = 0.8974915 + 0.25 (-o.s237488 0.6618729 +£0.28 ( 2 +0.25 ( 3 om 0.3309364 - ( 0.1654682 —— + 0.25 | —— = 0.8364037. Por tanto, el nuevo punto es (tz, y2) = (0.50, 0.8364037). En la Tabla 9.6 se muestran las aproximaciones obtenidas en algunas abscisas con tamafios de paso diferentes. = Ejemplo 9.9. Vamos a comparar el error global final de las soluciones obtenidas con el método de Taylor en el Ejemplo 9.8 para el problema de valor inicial y' (t—y)/2 en [0,3] con y(0) = 1. 494 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS abla 9.7 Relacin entre el tamafio de paso y el error global final para las zoluciones obtenidas con el método de Taylor para el problema y! = (t—)/2 en [0,3] con y(0) = 1 Tamafio | Numero Error global O(n?) = Ch* de paso, | de pasos, | Aproximacién final con C h M ym a y(3) (3) — ye = —0.000614 1 3 1,6701860 —0.0007955 —0.0006140 3 6 1.694308 —0.0000403 —0.0000384 4 2 1,6693928 —0.0000023 —0.0000024 3 24 1.693906 —0.0000001 —0.0000001 | En la Tabla 9.7 se recogen los erzores globales finales para los correspondientes tamafios de paso y en ella podemos ver que las aproximaciones a y(3) decrecen en var tctor del orden de > cuando el tamafio de paso se reduce a la mitad: E(y(3),4) = y(3) — yw = OCH) © cht, con C = —0.000614. . MATLAB Para usar el programa que damos a continuacién, hace falta que las derivadas y!, y', yl e yl” estén almacenadas en un archivo llamado; por ejemplo, éf-m; asi, el siguiente archivo serviria para almacenar las derivadas del Ejemplo 9.8 segrin el formato requerido por el Programa 9.3. function z=df(t,y) zaL(t-y)/2, (2-t+y)/4, (-2+t-y)/8, (2-tey)/16] 5 [Programa 9.3 (Método de Taylor de Orden 4). Construccién de las | aproximaciones a la solucién de y’ = f(t,y) con y(a) = Yo en [a,b] evaluando | [yt yey y usando el polinomio de Taylor en cada paso. | function Té=taylor(df,a,b,ya,10 % Datos % - af=[y? y?? y??? y????] almacenada como una ’ cadena de caracteres "éf’, siendo y’=f(t,y) - ay b son los extremos derecho e izquierdo h del intervale Sec. 9.4 EL METODO DE LA SERIE DE TAYLOR 495 h - ya es la condicién inicial y(a) 4 - Mes el niimero de pasos % Resultado h - T4=[T’ Y’] siendo T el vector de las abscisas e % Y¥ el vector de las ordenadas Defeval (at ,T(3) s¥(9))5 Y(j+1)=¥(j) +h* (D(1) +h*(D(2) /2+h*(D(3) /6+h*D(4)/24))); end T4=(T? ¥°]; Ejercicios a En los Ejercicios 1 a 5 resuelva la ecuacién diferencial usando el método de Taylor de orden N = 4. (a) Tome h = 0.2 y dé dos pasos calculando los valores a mano. Luego tome A =0.1y dé cuatro pasos calculando los valores a mano. (b) Compare la solucién exacta y(0.4) con las dos aproximaciones calculadas en el apartado (a). (c) {Se comporta el error global final de las aproximaciones obtenidas en el apartado (a) como se espera cuando h se divide entre dos? y! =f? —y con y(0) = 1, y(t) = et + 2? — 28 +2 ! = 3y + 3¢ con y(0) = 1, y(t) = $e —t- 3 ~13/2 —ty con y(0) =1, y(t) = 7 — 2y con y(0) = 3, y(t) = hen + te ty? con y(0) = 1, y(t) = 1/(1— #7) El método de mejora de Richardson, presentado en el Lema 7.1 (Seccién 7.3) puede usarse en conjuncidn con el método de Taylor. Si en el método de Taylor de orden NV = 4 se usa un tamafio de paso h, entonces y(b) = ya+Ch', pero si uusamos un tamazio de paso 2h, entonces y(b) © yen + 16Ch*. Los términos que contienen Ch‘ pueden eliminarse para obtener una aproximacién mejorada: 16yn — yan y(e) x 496 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS Este esquema de mejora puede usarse con los valores mostrados en el Ejem- plo 9.9 para obtener una aproximacién mejor a y(3). Calcule las entradas que faltan en la tabla siguiente: A ya |(L6yn — yan)/15 1.0 | 1.6701860 0.5 | 1.694308 | 0.25 | 1.6693928 | 0.125 | 1.6693906 7. Pruebe que cuando se utiliza el método de Taylor de orden V con tamafios de paso h y h/2, entonces el error global final se reduce, aproximadamente, en un factor de 2-". 8. Pruebe que el método de Taylor falla cuando queremos aproximar la solucién y(t) = #2/2 del problema de valor inicial y! =f(t,y) =1.5y'/8 con (0) = Justifique su respuesta. ,Cuél es el problema? 9. (a) Verifique que la solucién del problema de valor inicial y= y?. y(0) = en el intervalo (0, 1) es y(t) = 1/(1-#). (b) Verifique que la solucién del problema de valor inicial y! = 1+y?, y(0) = 1 en el intervalo (0, 7/4) es y(t) = tan(¢ + 7/4). (c) Use los resultados de los apartados (a) y (b) para deducir que la solucion del problema de valor inicial y’ = ¢? + y?, y(0) = 1 tiene una asintota vertical entre /4 y 1 (localizada cerca de t = 0.96981). 10. Consideremos el problema de valor inicial y’ = 1+y?, y(0) =1 (a) Determine las expresiones de y?)(t), y(t) e y(t). (b) Evaliie las derivadas en t = 0 y tiselas para calcular los cinco primeros términos del desarrollo de Maclaurin de tan(t) Algoritmos y programas En los Problemas 1 a 5, resuelva la ecuacién diferencial usando el método de Taylor de orden VN =4. (a) Tome h =0.1'y dé 20 pasos con el Programa 9.3. Luego tome h = 0.05 y dé 40 pasos con el Programa 9.3. (b) Compare la solucién exacta y(2) con las dos aproximaciones obtenidas en el apartado (a). 5 Sec. 9.5 Los méropos Dé RUNGE-KUTTA 497 (c) {Se comporta el error global final de las aproximaciones obtenidas en el apartado (a) como se espera cuando h se divide entre dos? (d) Dibuje las aproximaciones y la solucién exacta en una misma gréfica. In- dicacién. La matriz T4 que se obtiene como resultado en el Programa 9.3 contiene las coordenadas z e y de las aproximaciones y la instruccién del pa~ quete MATLAB plot (T4(: 1) ,T4(:,2)) producir un dibujo andlogo al de la Figura 9.6. 1. y! =? —y con y(0) = 1, y(t) =e“ +? — 2t +2 2. y! = 3y + 3¢ con y(0) = 1, y(t) = e*-t- 4 —ty con y(0) = 1, y(t) = e*/? e-®* — 2y con y(0) = 2ty? con y(0) = 1, y(t) = 1/(1 - #?) Escriba un programa que sirva para llevar a cabo el método de mejora de Richardson descrito en el Ejercicio 6. (b) Use su programa del apartado (a) para hallar una aproximacién a y(0.8) para el problema de valor inicial y’ = ¢? + y, y(0) = 1 em el intervalo [0, 0.8]. Se sabe que la solucién en t = 0.8 vale (con ocho cifras significa tivas) y(0.8) = 5.8486168. Empiece con un tamafio de paso h = 0.05 y haga que el programa se detenga cuando el valor absoluto de la diferencia entre dos mejoras consecutivas sea menor que 10~*, 7. (a) Modifique el Programa 9.3 de manera que sirva para llevar a cabo el método de Taylor de orden N = 3. (b) Use su programa del apartado (a) para resolver el problema de valor inicial y' = t?+y?, y(0) = Lenel intervalo (0, 0.8]. Determine las aproximaciones correspondientes a los tamafios de paso h = 0.05, 0.025, 0.0125 y 0.00625 y dibuje dichas aproximaciones en una misma gréfica. Los métodos de Runge-Kutta Los métodos de Taylor de la seccién precedente tienen la caracteristica deseable de que el error global final es de orden O(h™), de manera que podemos escoger N tan grande como queramos para que el error sea tan pequefio como deseemos. Sin embargo, los métodos de Taylor presentan dos inconvenientes: la necesidad de determinar N a priori y el célculo de las derivadas de orden superior. que puede ser bastante complicado. Los métodos de Runge-Kutta se construyen a partir de un método de Taylor, digamos de orden V, de tal manera que el error global final sea del mismo orden O(h-”) pero se evite la evaluacién de las derivadas parciales; esto puede conseguirse a cambio de evaluar, en cada paso, la funcién en varios puntos. Aunque estos métodos se pueden construir para cualquier orden NV, nosotros nos centraremos en el método de Runge-Kutta de 498 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS orden N = 4, que es el més popular y es también, para propésitos generales, una buena eleccién ya que es bastante preciso, estable y facil de programar. Atin més, la mayoria de los expertos dicen que no es necesario trabajar con métodos de orden superior porque el aumento del coste computacional no compensa la mayor exactitud; si es necesario obtener mayor precisin en la solucién aproxi- mada, entonces es mejor usar un tamafio de paso menor o un método adaptativo. FI] método de cuarto orden de Runge-Kutta (que llamaremos RK4) simula la precision del método de la serie de Taylor de orden N = 4 y consiste en calcular la aproximacién y,+1 de la siguiente manera: (1) Ue+t = Ye + wiky + wake + waks + wake, donde ky, ke, ks y k4 son de la forma (2) ky = hf (ths Ye)» keg = hf (tk + aah, ye + bak + bake), ka =hf (te + ain, ye thik), ke =Af(te + aah, ye + bak + bske + boks)- Emparejando estos coeficientes con los del método de la serie de Taylor de orden N = 4 de manera que el error de truncamiento local sea de orden O(h*) (nosotros veremos luego cémo se hace esto para el método de orden N = 2), Runge y Kutta fueron capaces de obtener el siguiente sistema de ecuaciones: bj = a1, bg + b3 = a2, wy + we + ws + 4 = wea, + w3a2 + Wag wea? + w3a} + W493 wa? + wsal + weal w3aib3 + wa(arbs + aab_) 1 w3a1a2b3 + waas(arbs + abs) = 3. 1 wyazbs + wa(azbs + 456) = F5: 1 waar bsbs = 57- Este sistema tiene 11 ecuaciones con 13 incdgnitas, asi que debemos afiadir dos E = SEc. 9.5 Los méTopos DE RUNGE-KUTTA 499 condiciones adicionales para resolverlo. La eleccién més itil resulta ser by pe 1 (5) alee 1, 1 wy, =F, w=s a 3 wa Sustituyendo en las expresiones (1) y (2) los valores dados en (4) y (5), obtenemos la formula para el método de Runge-Kutta de orden N = 4 esténdar: A partir del punto inicial (to, yo) se genera la sucesién de aproximaciones usando la formula recursiva 6) nes = n+ MAP Bat Bhat 1) donde Fr = F(t Ue): h A fr=fltet+ suet sh), : (u+m+3n) nat (e+ Fm+$h), f= Kirt hae thf) Algunos aspectos relevantes del método El desarrollo completo del método hasta que se obtienen las expresiones dadas en (7) esté més alld de los objetivos de este libro y puede encontrarse en textos més avanzados; no obstante, si podemos profundizar en algunos aspectos de interés. Consideremos la gréfica de la solucién y = y(t) en el primer subintervalo [to, t]- Los valores de la funcién que se recogen en (7) son aproximaciones a valores de la derivada en algunos puntos de dicha gréfica: El valor f, es la derivada en el extremo derecho del subintervalo, los valores fz y fs son estimaciones de la derivada en el punto medio y f, es la derivada en el extremo derecho (véase la Figura 9.9(a)). El nuevo punto (;, yx) se obtiene integrando la funcién derivada ‘6 8) vies) ~via) = f° steno) ae 500 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS x y= y(t) (ty x) fo ha 4 (a) Aproximaciones m, a la derivada (b) Aproximacién integral: = h de la soluciéa y = y(0) He) == BG +h +H Figura 9.9 Las gréficas y = y(t) y método de Runge-Kutta de orden. N f(t,y(t)) que aparecen en el desarrollo del $i aplicamos aqui la regla de Simpson con incremento h/2, entonces la apro- ximacién a la integral de (8) que obtenemos es ty (wf Heouny de = Fs vale) + 44 tymaltya) + Heal) siendo ty/z el punto medio del subintervalo. Necesitamos, entonces, ‘res valo- res de la funcién f, asi que hacemos las elecciones obvias F(to.y (to) = fry f (ty, y(ts)) % fa, mientras que para el valor en el punto medio hacemos la media de fo y fs: Heya vltva)) = 2S fa Sustituyendo estos valores en (9) y dicha aproximacién a la integral en (8) obtenemos y1: (10) wri (n+ See +n): Simplificando esta formula, obsenemos la ecuacién (6) con k = 0. En la Figura 9.9(b) se muestra la gréfica de la integral que aparece en (9). Sec. 9.5 Los méTopos DE RUNGE-KUTTA 501 Tamafio de paso frente a error El término del error de la regla de Simpson con incremento h/2 es “o (4) (o.) 5585 a0 Si el tinico error que apareciera en cada paso fuera el dado en la expresién (11), entonces, después de M pasos, el error acumulado al llevar a cabo el método RK4 seria S689.) HO wy OH 8 anne 4 (22) ~LY (ce) 5g55 © Brag YA = O(F"). El siguiente teorema establece la relacién que hay entre el error global final y el tamaiio de paso y nos sirve para darnos una idea de cual es el esfuerzo computacional que se realiza al utilizar el método RK4. Teorema 9.7 (Precisién del método de Runge-Kutta). Supongamos que y(t) es la solucién del problema de valor inicial. Si y(t) € C®[to,d] y { (tes Ye) Hho es la sucesién de aproximaciones generada por el método de Runge- Kutta de orden 4, entonces (a3) ex| = |y(te) — ye| = O(A4), i \ex+t| = |y(ter1) — ye — AT (te, yir)| = O(A*). En particular, el error global final verifica (14) E(y(6), h) = |y) — ysa| = O(h*) Los Ejemplos 9.10 y 9.11 ilustran el Teorema 9.7. Si calculdsemos las apro- ximaciones usando como tamaiios de paso h y h/2, entonces deberfamos tener (13) E(y(b),h) = Chi para el tamajio de paso mds grande y (16) E(y@,2) wo% = Lon = Laye),n i Yay) Se 6 LO B(y(e),h). Luego el Teorema 9.7 nos dice que si el tamaiio de paso en el método RK4 se reduce a la mitad, entonces debemos esperar que el error global final se reduzca, aproximadamente, en un factor de 502 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS Tabla 9.8 Comparacién de las soluciones de y’ = (t — y)/2 en [0,3] con y(0) = 1 obtenidas con el método RK4 para diferentes tamafios de paso. ve rc) th nai | =i nai n=l Exacto oO 1.0 1.0 1.0 10 10 0.125 0.9432392 0.9432392 0.25 0.8974915 0.8974908 0.8974917 0.375 0.8620874 0.8620874 0.50 0.8364258 0.8364037 0.8364024 0.8364023 0.75 | 0.8118696 0.8118679 0.8118678 1.00 0.8203125 0.8196285 0.8195940 0.8195921 0.8195920 1.50 0.9171423 0.9171021 0.9170998 0.9170997 2.00 1,1045125 1.1036826 1.1036408 1.1036385 1.1036383 2.50 1.3595575 1.3595168 1.3595145 1.3595144 3.00 | 16701860 1.6694308 1.6693928 1.6693906 1.6693905 Ejemplo 9.10. Vamos a usar el método RK4 para resolver el problema de valor inicial y! = (t — y)/2 en [0,3] con y(0) = 1 y a comparar las soluciones obtenidas i parah=1, 4,494. En la Tabla 9.8 se muestran los valores de la solucién en algunas abscisas es- cogidas. Para el tamafio de paso h = 0.25, un célculo tfpico es el siguiente: fs ies guns FOO) E0D)) = —0.40625, a 0.125 — (1 + 0:25(0.5)(—0.40675)) = -0.4121094, a 9.28 = (1 +0:25(-0.4991008)) = ~0.3234863, = 0.8974915. 7 Ejemplo 9.11. Vamos a comparar el error global final cuando se usa el método RK4 para resolver y' = (t — y)/2 en [0,3] con y(0) = 1 con tamafios de paso h = 1, PRS ees y Daye ‘En [a Tabla 9.9 se muestran los errores globales finales para los distintos tamajios de paso: en ella podemos ver que el error de la aproximacién a y(3) decrece, més 0 menos, en un factor 3 cuando el tamaiio de paso se reduce a la mitad: E(y(3),h) = y(3) ym = O(h*) & Ch* con = C = —0.000614. . i ; ' SEC. 9.5 Los méropos DE RUNGE-KUTTA a 503 Tabla 9.9 Relacidn entre el error global final y el tamaiio de paso en las soluciones de y' = (t — y)/2 en [0,3] con y(0) = 1 obtenidas con el método RK4. Tamaio | Nimero Error global | O(h*) = Ch* de paso, | de pasos, | Aproximacién final, con C= h M ym ay(3) y(3) — yar —0.000614 ri 3 1.6701860 | —0.0007955 0.006140 | | + || 6 1.694308 | —0.0000403 0.000384 3 | 12 1.693928 | —0.0000023 0.000024 3 | 24 1.6693906 —0.0000001 —0.0000001 | Comparando los resultados obtenidos en los Ejemplos 9.10 y 9.11 y en los Ejemplos 9.8 y 9.9 vemos lo que se quiere decir en la frase escrita antes “El método de cuarto orden de Runge-Kutta (RK4) simula la precisién del método de la serie de Taylor de orden N = 4”. En estos ejemplos, ambos métodos generan soluciones idénticas {(tk,y)} en el intervalo dado. La ventaja del método RK4 es obvia: no hay que calcular las formulas de las derivadas de orden superior ni hay que incluirlas en el programa, No es facil el determinar la precisién con la que se calcula una solucién obtenida por el método de Runge-Kutta; podriamos estimar la magnitud de y(*)(c) y usar la formula (12), o bien repetir el algoritmo con un tamaiio de paso menor y comparar los resultados. Una tercera via es la deverminacién adaptativa del tamaiio de paso, como se hace en el Programa 9.5. En la Seccidn 9.6 veremos como se realiza el cambio de tamafio de paso en los métodos multipaso. Los métodos de Runge-Kutta de orden N = 2 El método de Runge-Kutta de segundo orden (que llamaremos RK2) simula la precisién del método de la serie de Taylor de orden N = 2. Aunque no es un método tan bueno como el RK4, los razonamientos que nos conducen a su de- sarrollo son més faciles de entender y sirven para ilustrar las ideas involucradas en los métodos de Runge-Kutta. Empezamos escribiendo el desarrollo en serie de Taylor para y(t +h): an ult =h) = ult) + hy’ + $hPy"(0) + Crh + donde Cr es una constante que incluye la derivada tercera de y(t) y los demés términos corresponden a las potencias h? para j > 3. 504 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS ‘Vamos a expresar las derivadas y/(t) e y(t) de la ecuacién (17) en términos de f(t,y) y de sus derivadas parciales: recordando, que (28) y'() = fy) y derivando la igualdad (18) con respecto a t usando la regla de la cadena para funciones de dos variables, obtenemos y"() = felt.y) + fot w)y'(O- Esto podemos escribirlo, usando la igualdad (18), como (19) y(t) = felts) + fut. wf (e9)- Sustituyendo las derivadas (18) y (19) en la expresién (17), obtenemos una nueva expresién del desarrollo de Taylor para y(t + A): se yen) =u) + hile) + 5 AED) + 5h Alty)f(t.y) + Crh +o 2 se utiliza una combinacién En el método de Runge-Kutta de orden V lineal de dos funciones que nos permita expresar y(t + A): (21) y(t +h) = y(t) + Ahfo + Bhh, donde fo = f(t,y): ae fia fit+ Phy + Qhfe): Usando la formula de Taylor para una funcién de dos variables (véanse los Ejercicios 8 y 9), podemos aproximar f(t, y) obteniendo la siguiente repre- sentacion de fi: (23) f= flty) + Phfet.y) + Qhfy (tu) fey) + Oph? +++ en Ja cual el coeficiente Cp incluye las derivadas parciales segundas de f(t, y). Sustituyendo la expresién (23) en (21) obtenemos la representacion de y(¢ =f) que se usa en el método RK2: (24) y(t-+h) = y(t) + (A+ B)Af (ty) + BPH filt.y) + BQh? fy(t,y)f (ty) + BCaR + * care lA tnt leer naam Able t fy SPREE II PRE Sec. 9.5 Los MéTODOs DE RUNGE-KUTTA 505 Comparando los términos correspondientes en las expresiones (20) y (24) llegamos a las siguientes conclusiones: Af(t,y) =(A+B)hf(y) implica que 1 = A+B, Shs y) = BPH f.(t,y) implica que ; = BP, FHAltv)s eu) = BON y(t )F(t.u) implica que + = BQ. Por consiguiente, si exigimos que A, B, P y Q verifiquen las relaciones (25) A+B=1 BP=3 BQ=5, entonces el método RK2 dado en (24) tendré. el mismo orden de precisién que el método de Taylor dado en (20). Puesto que hay sdlo tres ecuaciones para cuatro incégnitas, el sistema de ecuaciones (25) est subdeterminado, lo que nos permite elegir libremente uno de los coeficientes; vamos a presentar dos de entre las varias elecciones posibles que aparecen en la literatura. Caso (i): Elegimos A = 4, lo que nos llevaa B= 4, P=1yQ=1. Escribiendo la ecuacién (21) con estos pardmetros, nos queda la formula (26) y(E+h) =yO+ Bene, Wt Flt+hy +hf(ty))) y cuando usamos este esquema para generar la sucesién {(tx, yx)}, lo que obte- nemos es el método de Heun. Caso (ii): Blegimos A = 0, lo que nos llevaa B=1,P=}yQ=3}. Escribiendo la ecuacién (21) con estos pardmetros, nos queda la formula (27) ve+n =vo+ns (1+ 4.04 B70) y cuando usamos este esquema para generar la sucesién {(tx,yx)}, lo que obte- nemos se conoce como método de Euler modificado 0 método de Cauchy. El método de Runge-Kutta-Fehlberg (RKF45) Una forma de garantizar la exactitud de la solucién aproximada de un pro- blema de valor inicial es resolver el problema dos veces, con tamaiios de paso h y h/2, y comparar las respuestas en los nodos correspondientes al tamaiio de paso més grande. Sin embargo. la segunda resolucién supone un coste computacional significativo y, ademés, hay que hacer una tercera si se establece que la precisién no es atin la adecuada. 506 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS FI método de Runge-Kutta-Feblberg (que denotaremos RKF45) es una forma de resolver este problema ya que incluye un criterio para determinar en cada momento si estamos utilizando el tamaiio de paso h apropiado. En cada paso se calculan dos aproximaciones distintas de la solucién y se com- paran. si 10s dos valores son suficientemente parecidos, entonces se acepta Ja gproximacién y, ademés, se aumenta el tamafio de paso si coinciden en més tives significativas que las requeridas; mientras que si los valores no coinciden con la precisién especificada, entonces se reduce el tamafio de paso En cada paso se calculan los siguientes seis valores: ky = hf (tes Ye)» 1 1 koa =hf (0 cs qh vat a) i 3 3 9 ky = hf (te + ghia + gah + 3") , (28) i” 12 1932, 7200, , 7296 ky = hf (4 + igh + ort — a97 + ai97"8)* 439 3680 845 os & ee OH a ks = hf (te + hive + igh — 8k2 + Say hs S80) ; 1 8 3544, 1859, 11 = tise =e oO a Oe ke =hf (t - 3% Uk a7 + 2kz 3563" +i ka 0 :) Entonces se calcula una aproximacién a la solucién del problema de valor jnicial usando un método de Runge-Kutta de orden 4: 25 1408, , 2197 ( i ake (29) vest = uk + aight + a565" * ror 5° donde se utilizan cuatro valores de la funci6n: fi, fa, fa y fs; hagamos notar que tl valor fy no se emplea en la formula (29). Ahora se calcula una aproximaci6n mejor que (29) usando un método de Runge-Kutta de orden 5: 16 6656 28,561 9 2 (0) san =ue + Gy5h + pgp" + 55,490" 50" * st El tamafio de paso éptimo sh se determina, entonces, multiplicando el tamaiio de paso en uso h por un escalar s dado por 1/4 Wa th 31) 3= = 0.84 ( + GD (Gees zai) aw siendo 7 la tolerancia especificada para controlar el error. Le deduccién de la formula (31) puede hallarse en libros de texto avanzados de célculo numérico. Es importante aprender que el uso de un tamaiio de paso LT a Ie TSI Sec. 9.5 Los MéToDOs DE RUNGE-KUTTA 507 Tabla 9.10 Solucidn de y' = 1+ y?, y(0) = 0 obtenida por el método RKF45. | Aproximacién RK45. | y(tx) exacta, Error k th | Ue tan(te) y(tk) — ye 0 | 00 0.000000 0.0000000 0.000000 1 | 02 0.2027100 0.2027100 0.000000 2 0.4 0.4227933 0.4227931 —0.0000002 3 | 06 0.6841376 0.6841368 —0.0000008 4 | 08 1.0296434 1.0296386 0.000048 5 | 10 1.574398 15774077 | —0.0000321 6 |) Ad, 1.9648085 1.9647597 0.000488 T| he 2.5722408 | 25721516 0.000892 e@) 13 | 3.6023295, | 3.021024 0.000271 9 | 135 | 44555714 | 44552218 —0.0003496 to | 14 | 5.7985045 5.797837 —0.0006208 fijo no es la mejor estrategia aunque proporcione mejor apariencia a una tabla de valores; si es necesario conocer el valor de la solucién en un punto que no est en la tabla, entonces se puede usar la técnica de interpolacién polinomial. Hjemplo 9.12. Vamos a comparar las soluciones obtenidas con los métodos RKF45 y RK4 para el problema de valor inicial y=lty? con y(0)=0 en [0,14]. Usando un programa para el método RKF45, con el valor 7 = 2 x 10-5 para la tolerancia, se generan aproximaciones en 10 puntos que se muestran en la Tabla 9.10, donde podemos ver que el tamayio de paso ha ido cambiando automaticamente. Usando un programa para el método RK4, con tamajio de paso fijo h = 0.1, se ge- neran 14 aproximaciones en nodos equiespaciados que se muestran en la Tabla 9.11. Las aproximaciones en el extremo derecho del intervalo para los métodos RKF45 RK4 son, respectivamente, (1.4) © pio = 5.7985045 ey (14) © yra = 5.7919748 con errores Exp = —0.0006208 y Ey, = 0.059089. Puede observarse que el método RKF45 proporciona una aproximacién mejor. = 508 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS Tabla 9.11 Solucién de y’ = 1+’, y(0) = 0 obtenida por el método RK4. Aproximacién RK4 u(te) exacta, Error k te | Ue tan(te) (th) ~ ye 0 | 00 0.000000 0.000000 0.000000 1] O21 0.103346 0.1003347 0.000001 2 | 02 0.2027099 0.2027100 0.000001 3 0.3 0.3093360 0.3093362 0.0000002 4] 04 | 0.4227930 0.4227932 0.0000002 6] os | 0.5463023 0.5463025 0.000002 6 0.6 | 0.6841368 0.6841368 0.0000000 1 oz? | 0.842886 | 0.8422884 —0.0000002 a | os | 1.0296391 | 1.0296386 —0.0000005 9} 09 | 1.2601588 1.2601582 —0.0000006 wo | 10 1.5574064 1.557407 0.0000013 die |) toe |} 1.964746 1.9647597 0.0000131 de) | gis |} 2.720718 | 2.5721516 0.0000798 qg.)|] 1:85 |] 3.6015634 | 3.6021024 0.005390 u | 14 5.7919748 5.797837 0.0059089 MATLAB Programa 9.4 (Método de Runge-Kutta de orden 4). Aproximacién a la solucién del problema de valor inicial y' = f(t, y) con y(a) = yo en (a, 6] usando la férmula h aot = Ye + G (ki + 2ka + 2ks + ka). | function Rerk4(f,a,b,ya,4) Datos £ es la funcién, almacenada como una cadena de caracteres ’f? - ay b son los extremos derecho e izquierdo del intervalo - ya es la condici6n inicial y(a) - Mes el mimero de pasos Resultado - Ra[T? Y?] siendo T el vector de las abscisas e ¥ el vector de las ordenadas b=(b-a) /M; Tszeros(1,M+1); asiscseaianssinasuniibdthie il f r Sec. 9.5 Los MéToDOs DE RUNGE-KUTTA 509 Yezeros(1,M+1); *feval(f,T(j),¥(5)); =h*feval (f,T(j)+h/2,¥(j)+k1/2) ; *feval (£,T(j)+h/2,¥(j)+k2/2) ; £eval (£,1(j)+h, ¥(j)+3) 5 Y(j+1) =¥(j)+(k1+2¥c2+24k3+14) /6; end R=[T? ¥°]; En el siguiente programa se implementa el método de Runge-Kutta-Fehlberg (RKF45) descrito en las expresiones (28) a (31). | Programa 9.5 (Método de Runge-Kutta-Fehlberg). Aproximacién a la solucién del problema de valor inicial y’ = f(t,y) con y(a) = yo en (a,)] controlando el error para estimar el tamaiio de paso. function R=rkf45(f,a,b,ya,M,tol) % Datos ¥ - f es la funcién, almacenada como % una cadena de caracteres ’*£? % - ay b son los extremos derecho e izquierdo 4 del intervalo h - ya es la condicién inicial y(a) h - Mes el niimero de pasos % - tol es la tolerancia % Resultado % - R=[T’ Y’] siendo T el vector de las abscisas e h Y el vector de las ordenadas %, Coeficientes necesarios para calcular las % aproximaciones (28) y (29) a2=1/4;b2=1/4;a3=3/8 | b3=3/32 ; c3=9/32;a4=12/13; 4=1932/2197 ; c4=-7200/2197 ;d4=7296/2197 ; a5= 5=439/216 ; c5=-8 ; d5=3680/513; e5=-845/4104;a6=1/2; 6=-8/27 ; c6=2; 46=-3544/2565 ; €6=1859/4104; £6=~11/40;r1=1/360 ;r3=-128/4275 ;r4=-2197/75240 ;r5=1/50; ¥6=2/55 ;n1=25/216 ;n3=1408/2565 ;n4=2197/4104;n5=-1/5; big=ie15; h=(b-a)/! 510 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS -0 .00001*abs (b) ; while (T(j)br) h=b-T(j) 5 end 4% CAlculo de las aproximaciones (28) y (29) kishefeval (f,T(3),¥(4)): y2=¥(j)+b20k1; if bigbr) T(j+1)=b; else T(j+1)=1(j) +h; end Jai+ts end else 8=0.84+(tol*h/err)” (0.25); sensei | | Sec. 9.5 Los METODOS DE RUNGE-KUTTA 511 end if((s<0.75)&(h>2*hmin) ) h=h/2; end if ((s>1.50)&(2*hT(j)) jth; else Me end end Re(T? Y7]; Ejercicios ee En los Bjercicios 1 a 5 resuelva la ecuacién diferencial usando el método de Runge- Kutta de orden N = 4. (a) Tome h = 0.2 y dé dos pasos calculando los valores a mano. Luego, tome h = 0.1 y dé cuatro pasos calculando los valores a mano. (b) Compare la solucién exacta y(0.4) con las dos aproximaciones calculadas en el apartado (a). (c) 4Se comporta el error global final de las aproximaciones obtenidas en el apartado (a) como se espera cuando h se divide entre dos? 1. y' = —ycony(0) =1, y(t) =e + 7 — 2t+2 2. y! = 3y + 3t con y(0) =1, y(t) = $e -—t- 3 3. y! =—ty con y(0) =1, y(t) =e? 4. y! = e-* — 2y con y(0) = Fy, y(t) = e-™* + te 5. y! = 2ty? con y(0) = 1, y(t) = 1/(1-#) 6. Pruebe que cuando se usa el método de Runge-Kutta de orden para resolver el problema de valor inicial y/ = f(#) en [a,] con y(a) = 0 el resultado es Ave ud) & & Yo Pte) + Af (tessa) + Flter)), to 512 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS donde h = (b—a)/M, te = @+KAY tesa = a+ (k+3)A, que os la aproximacién dada por la regia de Simpson (con incremento h/2) a la integral definida de f(t) en el intervalo [a, 5]. 7. El método de mejora de Richardson, presentado en el Lema 7.1 (Seccién 7.3) puede usarse en conjuncién con el método de Runge-Kutta. Si en el método de Runge-Kutta de orden N = 4 se usa un tamafio de paso h, entonces y(®) © un + CAS, pero si usamos un tamaiio de paso 2h, entonces y(®) © yan + 16Ch'. Los términos que contienen Ch‘ pueden eliminarse para obtener una aproxi- macién mejorada a y(b): 16 Yh — yah b) me Uh 0) ® 5 Este esquema de mejora puede usarse con los valores mostrados en el Ejem- plo 9.11 para obtener una aproximacién mejor a y(3). Calcule las entradas que faltan en la tabla siguiente: A Ya (6yn — yan) /15 1 | 1.6701860 4 | 1.694308 4 | 1.693928 | 3 | 1-6693906 | Para los Ejercicios 8 y 9: el polinomio de Taylor de grado N = 2 de una funcion f(t,y) de dos variables te y desarrollado alrededor de (a, 3) es P2(t,y) =f(a,5) + fe(a, b)(t — a) + fy(a, B)(y — 6) f(a, 6)(t =) oa 2 H fglabe— any ~6) + Sato — 8. (a) Halle e! polinomio de Taylor de grado N = 2 de la funcién f(t,y) = y/t desarrollado alrededor de (1, 1). (b) Calcule P;(1.05,1.1) y compare su valor con f(1.05, 1.1). 2 de la func 9. (a) Determine el polinomio de Taylor de grado } fey) = (1 +t—y)*/? desarrollado alrededor de (0, 0). (b) Calcule P2(0.04,0.08) y compérelo con (0.04, 0.08). SEc. 9.5 Los méropos DE RUNGE-KuTTA 513 Algoritmos y programas ee En los Problemas 1 a 5, resuelva la ecuacién diferencial usando el método de Runge- Kutta de orden N = 4. (a) Tome h = 0.1 y dé 20 pasos con el Programa 9.4. Luego, tome h = 0.05 y dé 40 pasos con el Programa 9.4. (b) Compare la solucién exacta y(2) con las dos aproximaciones obtenidas en el apartado (a). (c) {Se comporta el error global final de las aproximaciones obtenidas en el apartado (a) como se espera cuando h se divide entre dos? (d) Dibuje las aproximaciones y la solucién exacta en una misma gréfica. Indicacion. La matriz R que se obtiene como resultado en el Programa 9.4 contiene las coordenadas x e y de las aproximaciones y la instruccién del paquete MATLAB plot (R(:,1),R(:,2)) produciré un dibujo andlogo al de la Figura 9.6. . y =? —y con y(0) =1, y(t) = -e . y! = By + 3t con y(0) = 1, y(t) = ge —t— P= 2+2 2 3 1 2 3. y! = —ty con y(0) = 4. e~t — 2y con y(0) 5. y' = 2ty? con y(0) = 1, y(t) = 1/(1— En los Problemas 6 y 7, resuelva la ecuacién usando el método de Runge-Kutta- Fehlberg. (a) Useel Programa 9.5 con un tamatio de paso inicial h = 0.1 y con una tolerancia r= 10- (b) Compare la solucién exacta y(b) con la aproximacién obtenida. (c) Dibuje las aproximaciones y la solucién en una misma grafica. 6. y/ = Ste, y(0) =0 en (0, 3], y(t) = 3te* — eo +1 7. y =2tan-*(t), y(0) =0 en (0, 1], y(t) = 2¢tan-7(#) — In(1 + ¢?) 8. En una reaccién quimica, una molécula de una sustancia A se combina con una molécula de una sustancia B para formar una molécula de una sustancia C. Se sabe que la concentracién y(t) de la sustancia C en el instante ¢ es la solucién del problema de valor inicial y'=ka-y)(b-y) con y(0)= donde & es una constante positiva y a y 6 son las concentraciones iniciales de las sustancias A y B, respectivamente. Supongamos que k = 0.01, a = 70 milimoles/litro y 6 = 50 milimoles/litro. Use el método de Runge-Kutta de orden N = 4 con A = 0.5 para hallar la solucién en el intervalo (0, 20]. Observacién. Compare la solucién dada por el computador con la solucién 514 Cap, 9 ECUACIONES DIFERENCIALES ORDINARIAS 10. 11. exacta y(t) = 350(1 —e~°*) /(7—5e-©*). Observe que el valor limite cuando t > +00 es 50. Resolviendo un problema de valor inicial adecuado, haga una tabla de valores de la funcién de distribucién normal f(t) definida por la integral: V2 de para O< 2 <3. 1 Z » 1=s+ se / Utilice en sus célculos el método de Runge-Kutta de orden N = 4 con h = 0.1. Su solucién deberfa coincidir con los valores que se muestran en la siguiente tabla. Observacién. Esta es una manera bastante aceptable de generar una tabla de valores de la funcién de distribucién normal esténdar. = | #2) 0.0) 0.5 0.5 | 0.6914625 1.0 | 0.8413448 1.5 | 0.9331928 2.0 | 0.9772499 2.5 | 0.9937903 3.0 | 0.9986501 (a) Escriba un programa para el método de mejora de Richardson descrito en el Ejercicio 7. (b) Use su programa del apartado (a) para aproximar y(0.8) en el problema de valor inicial y' = + y?, y(0) = 1 en (0,0.8]. Se sabe que el valor de la solucién exacta en t = 0.8 es y(0.8) = 5.8486168. Empiece con un tamafio de paso h = 0.05 y utilice como criterio de parada el que el valor absoluto de la diferencia entre dos mejoras de Richardson consecutivas sea menor que 1077. Considere la ecuacién {ntegro-diferencial de primer orden: ¢ y! = 1.38y — 0.25y? — o.oooty f y(t) dr. 0 (a) Use el método de Runge-Kutta de orden V = 4 con h = 0.2, el valor inicial (0) = 250 en el intervalo (0, 20] y la regla del trapecio para calcular una solucién aproximada de la ecuacién (vea el Problema 10 de la subseccién “Algoritmos y programas” de la Seccidn 9.2). (b) Repita el apartado (a) usando como valores iniciales y(0) = 200 e (0) = 300. (c) Dibuje las soluciones aproximadas calculadas en los apartados ( sobre una misma grdfica. y (b) 9.6 SEC. 9.6 METODOS DE PREDICCIGN Y CORRECCION 515 Métodos de prediccién y correccién Los métodos de Euler, Heun, Taylor y Runge-Kutta se llaman métodos de paso simple, 0 métodos de un sélo paso porque en el cdlculo de cada pinto s6lo utilizan la informacién del punto previo; esto es, tinicamente se usa el punto inicial (to, yo) para calcular (t,y:) y, en general, s6lo se necesita conocer yz para calcular y,1. Sin embargo, una vez calculados varios puntos, seria posible usar varios de los puntos que ya tenemos en el célculo del punto siguiente. Para ilustrar esta técnica vamos a desarrollar el método de cuatro pasos de Adams-Bashforth, en el que se necesitan los valores yz—a, Yk—2) U1 e yx para calcular yy +1. Naturalmente, al comienzo necesitaremos conocer por adelantado cuatro puntos (to, yo); (¢1,92); (t2,¥2) y(ts,ya) para poder generar la sucesion {(t,, yx) : # > 4} (esto puede hacerse dando tres pasos con alguno de los métodos de paso simple). Un aspecto atractivo de los métodos multipaso es que se puede estimar el valor del error de truncamiento local y luego incluir un término de correccién, lo cual mejora la precisién de la respuesta en cada paso. Asimismo, es posible determinar si el tamaiio de paso es suficientemente pequeiio como para obtener una buena aproximacién de x1 y, a la vez, suficientemente grande como para evitar céleulos innecesarios que consuman tiempo de computacién. El uso de la combinacién de un valor predictor con otro corrector sdlo requiere que se realicen dos evaluaciones de la funcién f(t,y) en cada paso. El método de Adams-Bashforth-Moulton El método de prediccién y correccién (0 predictor-corrector) de Adams- Bashforth-Moulton es un método multipaso que se genera a partir del teorema fundamental del célculo: yeulis)= [ewer te a) (te. Para calcular el valor predictor se utiliza el polinomio de interpolacién de Lagrange de f(t,y(t)) que pasa por los puntos (ty=3; fea), (te-2: fe-2)- (tet; fet) ¥ (te, fe). Integrando este polinomio en el intervalo (tx, tk-1] ¥ sustituyendo el resultado en la expresidn (1) obtenemos lo que se conoce como valor predictor de Adams-Bashforth: A ap - es Yk + 5q(—9fk-3 + 37 fe-2 — 59fe-1 + 55 fx) (2) Prot a El valor corrector se calcula de manera parecida. sdlo que ahora usamos el predictor pz-1 que acabamos de calcular: Construimos un segundo polinomio 516 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS z= f(t ¥() z= f(r y)) Tes tea fea te het (a) Los cuatro nodos para el valor (a) Los cuatro nodos para el valor predictor de Adams-Bashforth corrector de Adams-Moulton (se extrapola). (se interpola). Figura 9.10 Integraciones en el intervalo [ts,ty+1] en el método de Adams- Bashforth-Moulton. interpolador de Lagrange de f(t, y(t)), el que pasa por (tk—2, fx—2), (tk-1, fet); (tk, fu) y también por el nuevo punto (te+1, feet) = (te+1, f(the1, Pet). In- tegrando este polinomio en el intervalo [t,, t.+1] y sustituyendo el resultado en (2) obtenemos lo que se conoce como valor corrector de Adams-Moulton (3) Uert = Ye + Aes —5fe—-1 +19fk + 9fe+1)- La Figura 9.10 muestra los nodos de interpolacién para los polinomios de La- grange que se usan en el desarrollo de las formulas (2) y (3), respectivamente. Estimacién del error y correccién Los términos del error de las formulas de integracién numérica que se usan para obtener los valores predictor y corrector son de orden O(h®). Los errores de truncamiento local de las formulas (2) y (3) son, de hecho, 251 (5) oa 4) u(teer) — Past = Foqy(cees)A® (para el valor predictor), (5) (tent) — gar = ‘)(dyi1)h® (para el valor corrector). 720 Supongamos que h es pequefio y que y(°)(#) es précticamente constante en el intervalo; entonces podemos eliminar los términos de las formulas (4) y (3) que contienen la derivada quinta para obtener -19 (6) U(te=t) — Yarr © Fry Yara — Pa+t)- SEC. 9.6 METODOS DE PREDICCION Y CORRECCION 517 La raz6n de la importancia del método de prediccién y correccién se ve ahora claramente: La formula (6) proporciona una estimacién aproximada del error que se basa en dos valores calculados p.+1 € yx+1 Y que no requiere conocer la derivada quinta y(°)(t) Consideraciones practicas Para calcular y,+1 en la formula del valor corrector (3) se usa la estimacién fart © f(te-1,Pk+i)» Puesto que yx1 es también una aproximacién de y(t,+1), podrfamos emplear ahora este valor en la formula del corrector (3) para generar una nueva aproximacién f,+1 que, a su vez, generarfa un nuevo valor yp. Sin embargo, cuando se repite esta iteracién sobre el valor corrector, lo que ocurre es que los valores calculados convergen a un punto fijo de (3) més que a la solucién de la ecuaci6n diferencial. Si es necesario conseguir una precisién mayor, entonces es més eficiente reducir el tamaiio de paso. También podemos usar la frmula (6) para determinar cudndo debe cambiar el tamajio de paso. Aunque hay otros métodos més elaborados, vamos a mostrar cémo decidir si dejamos el tamafio de paso como esté, lo reducimos a la mitad h/2 0 lo aumentamos al doble 2h. Por ejemplo, sea ¢ = 5 x 10-® nuestra tolerancia para el error relativo y tomemos p = 10-*: E é ; f 19 |ye+1 — Pest! h o mh an eee entonces se toma h= <=. 1) 270 veri +P 2 * 19 | € (3) Si entonces se toma h = 2h. 270 Iyeril+p ~ 100° Cuando los valores predictor y corrector no coinciden en al menos cinco cifras significativas, entonces el criterio (7) nos dice que debemos reducir el tamafio de paso; mientras que si coinciden en siete o mds cifras significativas, entonces el criterio (8) nos dice que debemos aumentar el tamaiio de paso. (Le aconsejamos que realice un ajuste fino de estos pardmetros ¢ y p para adecuarlos a su computador.) Al reducir el tamaiio de paso, hacen falta cuatro valores de partida nuevos. Para ello, interpolamos f(t, y(#)) mediante un polinomio de cuarto grado que nos aproxima los valores, que no tenfamos antes, de dicha funcién en los puntos medios de los intervalos [ty-2, te-1] y [te-1, ta]. Los cuatro nodos ty-3/2, th-1, ty-1/2 ¥ tk que se usan en los cdlculos posteriores se muestran en la Figura 9.11. Estos valores interpolados necesarios para disponer de cuatro valores de partida separados por un tamafio de paso h/2 son 3 fea +28 fig — TOfie2 + 140 fia + 35 3 128 - ’ — 3fk—4 — 20fe—3 + 90fe~ fr-32 = 128 518 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS Nodos nuevos—~ an fe fein te ee Nodos viejos —~ 5 tes tgs te Figura 9.11 Reduccién del tamaiio de paso @ h/2 en un método adap- tativo. n6 vos tha ty +— Nodos nuevos oe hed > tee te te, AS ER ey A Nodon vlefon Figura 9.12 Aumento del tamafio de paso a 2h en un método adaptativo. ‘Aumentar el tamaiio de paso al doble no presenta tantas complicaciones: tomando los siete puntos anteriores obtenemos los cuatro necesarios omitiendo uno de cada dos, como se muestra en la Figura 9.12. El método de Milne-Simpson Otro esquema popular de prediccién y correccién es el llamado método de Milne- Simpson. Su valor predictor se construye integrando numéricamente f(t, y(t)) en el intervalo [t,—s, th+1]: (10) y(teat) = y(te—s) + ; f(t,y(t) at; 3 para ello se utiliza el polinomio de interpolacién de Lagrange de f(t,y(t)) ave pasa por los puntos (tks; fe—3), (th—2»fe-z), (th-1:fr—1) ¥ (th fx) que, al integrarlo en (t,-3,tk+1], proporciona la formula para lo que se conoce como predictor de Milne: 4h (11) Pasi = Yk-3 + (2fa-2 — fat + Fe) El valor corrector se calcula de manera parecida, sdlo que ahora usamos también el predictor pki que acabamos de calcular: Construimos un segundo polinomio interpolador de Lagrange de f(t,y(t)), el que pasa por (ta—1, fa-1)> (te: fe) ¥ también por el nuevo punto (ty-1, feet) = (tee1, f(ter1,Pe+t))- [otegrando este polinomio en el intervalo [t,—1, tx-1) obtenemos el valor corrector mediante la ya familiar regia de Simpson: (12) veer = nt + Bat +4fa + fie: £ i SEC. 9.6 M£TODOS DE PREDICCION Y CORRECCIGN 519 Estimacién del error y correccién Los términos del error de las formulas de integracién numérica que se usan para obtener los valores predictor y corrector en el método de Milne-Simpson son de orden O(h®). Los errores de truncamiento local de las formulas (11) y (12) son, de hecho, 28 (13) utes) — evr = GGy'(carr)h® (ara el valor predictor), -1 FpY (dess)h® (para el valor corrector). (14) u(tet1) — vert Supongamos que h es pequefio y que y°)(t) es practicamente constante en el intervalo [t.—s, tx1]; entonces podemos eliminar los términos de las formulas (13) y (14) que contienen la derivada quinta para obtener 28 (15) u(te+t) — Peo © 55 (art — Prot): La formula (15) proporciona una estimacién aproximada del error que se basa en dos valores calculados py+1 € Yk+1 ¥ Que no requiere conocer la derivada quinta y)(t). Podemos usar esta f6rmula para mejorar el valor del predictor: Si suponemos que la diferencia entre los valores predictores y correctores cambia lentamente de un paso a otro, entonces hacemos jugar a px e yx el papel de py. © ya+1 en (15) para obtener la siguiente formula modificada: Yr (16) Mat = Prot + 28Se Ahora usamos este valor modificado en la formula de correccién en p+, con lo que la ecuacién (12) queda como an) dees = tat + Efe + Ate + Fltecisment))- Podemos resumir, entonces, el método de Milne-Simpson mejorado (0 modifi- cado) en los siguientes célculos: 4h Phi = Ye-a + (2fe-2— fea +2fe) (valor predictor) (as) MATES Pest + opt Pe (valor modificadoz) Feat = f(te=1,Me=1) A - Yew = Yeo + gfe +4fgt fe-1) (valor corrector) Otro procedimiento de prediccién y correccién muy utilizado es el método de Hamming. Aunque no vamos a mostrar su desarrollo, al final de la seccién 520 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS Tabla 9.12 Comparacién de los métodos de Adams-Bashforth-Moulton, Milne-Simpson y Hamming para resolver y' = (t — y)/2, y(0) = 1. Adams- Bashforth- Milne- ‘Método de k Moulton Error Simpson, Error | Hamming — Error 0.0 1,00000000 0-8 | 1.00000000 o£—8 | 1.00000000 0E-8 0.5 | 0.83640227 8E—8 | 0.83640231 4E—8 | 0.83640234 1B-8 0.625 | 0.81984673 16E-8 | 0.81984687 2E-8 | 0.81984688 1E-8 0.75 | 0.81186762 22H—8 | 0.81186778 6E—8 | 0.81186783 1E-8 0.875 | 081194530 28H —8 | 0.81194555 3E—8 | 0.81194558 0E-8 1.0 0.81959166 32H-8 | 0.81959190 8E—8 | 0.81959198 oE-8 1.5 | 0.91709920 46B—8 | 0.91709957 9E-8 | 0.91709967 -1E-8 2.0 1.10363781 51H—8 | 1.10363822 10H—8 | 1.10363834 —2E-8 25 1.35951387 52E-8 | 1.35951429 10H—8 | 1.35951441 —2E-8 2.625 | 143243853 526-8 | 1.43243899 6E-8 | 1.43243907 —2B-8 2.75 | 1.50851827 1.50851869 10E—8 | 150851881 —2E-8 2.875 | 158756195 518-8 | 1.58756240 6E—8 | 1.58756248 —20-8 3.0 1.66938998 50E-8 | 1.66939038 10F—8 | 1.66939050 —2H-8 s{ daremos un programa para poder utilizarlo con el paquete MATLAB. Como advertencia final, mencionemos que todos los métodos de prediccién y correccién presentan problemas de estabilidad. El estudio de la estabilidad de los métodos numeéricos es un tema avanzado que, no obstante, no debe descuidar ninguna persona que desee profundizar seriamente en el andlisis numérico. Ejemplo 9.13. Vamos a usar los métodos de Adams-Bashforth-Moulton, Milne- Simpson y Hamming con h = } para calcular aproximaciones a la solucién del problema de valor inicial e= se y(0)=1 en [0,3]. Usando uno de los métodos de Runge-Kutta, calculamos los valores iniciales necesarios yn = 0.94323919, yo = 0.89749071 e ys = 0.86208736. Usando los Programas 9.6 a 9.8 con un computador obtenemos los valores que se recogen en la Tabla 9.12. En esta tabla los errores de cada aproximacién se dan como miltiplos de 10-8 y puede observarse que todas las aproximaciones tienen una precisién de seis cifras decimales, por lo menos, y también que el método de Hamming es el que produce las mejores aproximaciones en este caso. . sec. 9.6 METODOS DE PREDICCION Y CORRECCION 521 _ El tamafio de paso adecuado Hay varias razones que justifican la seleccién de los métodos que hemos pre- sentado: en primer lugar, porque su desarrollo es accesible para estudiantes de un primer curso; en segundo lugar, porque métodos mas avanzados se desarro- lan de manera similar y en tercer lugar, porque la mayoria de los problemas de aplicacién que pueden presentarse en otras asignaturas de las carreras cientifico- +técnicas pueden resolverse con alguno de estos métodos. Sin embargo, cuando se usa un método de prediccién y correccién para resolver un problema de valor inicial y/ = f(t,y), con y(to) = yo, en un intervalo grande, entonces pueden aparecer ciertos problemas. Si fy(t,y) < 0 y el tamaiio de paso es demasiado grande, entonces los métodos de prediccién y correccién pueden ser inestables. Como norma ge- neral, la estabilidad se tiene cuando un error pequeio se propaga de manera decreciente, mientras que la inestabilidad se produce cuando un error pequeiio se propaga de manera creciente. Cuando se utiliza un tamaiio de paso demasiado grande en un intervalo grande, suele producirse inestabilidad, que se manifiesta usualmente mediante la aparicién de oscilaciones en la solucién calculada. Este fenémeno puede atenuarse cammbiando el tamaiio de paso por uno menor, siguien- do el procedimiento sugerido por las formulas (7) a (9); para incluir el control del tamaiio de paso en un algoritmo, las estimaciones del error correspondientes son: (as) u (te) — ye = 197 (Adams-Bashforth-Moulton), (20) y(t) - yew PE (Milne-Simpson), (21) y(t)—mew PAS (Hamming). En todos los métodos, el valor corrector se calcula dando un s6lo paso en un esquema de iteracién punto Ajo y puede probarse que el método converge si el tamaiio de paso h verifica, en cada caso, la condicién: 2.66667 22) h< EX - Bashforth-Moulton), (22) Falegy _ (Adems-Bashforth-Moulton 3.00000 (23) pe 3,000 (Milne-Simpson), ( new eon 2.66667 24) nq SO (Hamming), (24) Rea es) donde la notacién < en las férmulas (22) a (24) significa “mucho mds pequefio que”. El siguiente ejemplo muestra que hay que usar desigualdades mds restric- 522 Cap.9 ECUACIONES DIFERENCIALES ORDINARIAS tivas, a saber: 0.75 (25) h< egy (Adams-Bashforth-Moulton), 0.45 - * (26) >T=zeros(1,25); Y=zeros(1,25); >>T=0:1/8:3; ¥(1:4)=[1 0.94323919 0.89749071 0.86208736] ; 524 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS 2 7 6 N=70 5 N=50 4 3 2 1 t De SRF) Shy RAG TIN AO a0 Figura 9.13 (c) La solucién de y’ = 30 — obtenida mediante el método de Hamming con ! 30 pasos presenta oscilaciones; se estabiliza cuando N = 70 porque h = 10/70 = 0.1428 ~ 0.188 = 0.69/5 = 0.69/|fy(t,y)| Programa 9.6 (Método de Adams-Bashforth-Moulton). — Cons- truccién de las aproximaciones a la solucién del problema de valor inicial | y’ = f(t,y) con y(a) = yo en (a, 0] usando el valor predictor A Past = Uk + 5g(—9fe-s + 87 fa—2 — B9Fa—1 + 55 fr) y el valor corrector vast = Unt (faa ~ Bf + 19fa + 9fes)- function A=abm(£,T,¥) % Datos h - £ es la funcién, almacenada como h una cadena de caracteres ’£? h - T es el vector de las abscisas; su dimensién h es el nimero de pasos h - Y es el vector de las ordenadas % Observacién h Las cuatro primeras coordenadas de Te Y 4 deben contener valores iniciales % calculados con el método RK4 % Resultado 4 - A=[T’ Y’] siendo T el vector de las abscisas e sce SeC. 9.6 METODOS DE PREDICCION Y CORRECCION 525 a Y el vector de las ordenadas n=length(T) ; if n<5,break,end; F=zeros(1,4); Fefeval(f,7(1:4),¥(1:4))5 h=T(2)-T(1) 5 for k=4:n-1 % Predictor i p=Y(k)+(h/24)*(F*[-9 37 -59 55]’); f T(k+1)=T(1)+h*k; F=(F(2) F(3) F(4) feval(£,T(k+1),p)]; % Corrector Y(k+1)=¥ (k)+(h/24)*(F*[1 -5 19 9]7); F(4)=feval(f,T(k+1) ,Y(k+1)) end a=(T? Y7]; [Programa 9.7 (Método de Milne-Simpson modificado). Cons-| truccién de las aproximaciones a la solucién del problema de valor inicial | y' = (ty) con y(a) = yo en (a, b] usando el valor predictor ws teh 2 fea +2h) Pk+i la modificacién met = Pros +28 faut = F (thet, Me+1) y el valor corrector A vest = vet + Gf + 4h + fen) function M=milne(f,T,¥) % Datos h - £ es la funcién, almacenada como h una cadena de caracteres ’f’ - T es el vector de las abscisas; su dimensién es el mimero de pasos - ¥ es el vector de las ordenadas Observacién Las cuatro primeras coordenadas de Te ¥ deben contener valores iniciales calculados con el método RK4 526 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS % Resultado % - M=[T? ¥?] siendo T el vector de las abscisas e % Y el vector de las ordenadas n=length(T) ; if n<5,break,end; F=zeros (1,4); F=feval(f,T( heT(2)-T(1)5 24),¥(1:4)); % Predictor pnew=¥(k-3)+(4*h/3)*(F(2:4)*[2 -1 2]’); % Modificador pnod=pnew+28*(yold-pold) /29; T(k+1)=1(1)+h+k; F=[F(2) F(3) F(4) feval(£,T(k+1) ,pmod)]; % Corrector ¥ (+1)=¥ (k-1)+(h/3)*(F (2:4) "01 4 11°); pold=pnew; (k+1); eval (f,T(k+1) ,Y¥Cs+1))5 M=[T? Y°]; | Programa 9.8 (Método de Hamming). Construccién de las aproxima- | ciones a le solucién del problema de valor inicial y’ = f(t,y) con y(a) = yo | en [a, usando el valor predictor | 4h Phot = Ya-3 + (2fa-2 — fr-1 + 2f)> una modificacién y el valor corrector 2+ 9ye , 3h digs = SPRUE fit + Of + fest)- 8 8 function H=hamming(f,T,Y) % Datos h - f es la funcién, almacenada como i una cadena de caracteres *f? % - Tes el vector de las abscisas; su dimensién % es el mimero de pasos % - Yes el vector de las ordenadas Ye MR AW PNR SEC. 9.6 METODOS DE PREDICCIGN ¥ CORRECCION 527 % Observacion h Las cuatro primeras coordenadas de T e ¥ % deben contener valores iniciales h calculados con el método RK4 % Resultado [T? ¥°] siendo T el vector de las abscisas e h Y el vector de las ordenadas n=length(T) ; if n<6,break, end; F=zeros(1,4); F=feval(f,1(41:4) ,¥(41:4)); heT(2)-T(1); pold=0; cold=0; for k=4:n-1 % Predictor pnew=¥ (k-3)+(4*h/3)*(F(2:4)*[2 -1 21°); % Modificador pmod=pnew+112*(cold-pold) /121; T(ke+1) = (1)+h*k; F=[F(2) F(3) F(4) feval(£,T(k+1),pmod)]; % Corrector cnew=(9*Y (ic) -¥ (k-2)+3¥h*(F(2:4)*[-1 2 1]’))/8; ¥ (k+1)=cnew+9* (pnew-cnew) /121; pold=pnew; cold=cnew; F(4)=feval(f,T(k+1),¥(ie+1)); end He(T? ¥°]; Ejercicios En los Bjercicios 1 a 3, use el método de Adams-Bashforth-Moulton, con valores iniciales y:, yo e ys ¥ tamafio de paso h = 0.05, para calcular a mano los valores ys e ys en el problema de valor inicial dado. Compare su solucién con la solucién exacta y(t) que se proporciona. 1. y' =f? ~y, y(0) =1 en [0,5], y(t) = —e t? —2t+2 y(0.05) = 0.95127058, y(0.10) = 0.90516258, y(0.15) = 0.86179202 2. yf =y.+ 3t—@?, y(0) =1 en [0,5], y(t) =2e6+ 2 -—¢-1 (0.05) = 1.055042, y(0.10) = 1.1203418, y(0.15) = 1.1961685 528 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS 3. y' =—t/y, y(1) = Len [1, 1.4], y(¢) = (2 - ¢) 7? ‘y(1.05) = 0.94736477, y(1-10) = 0.88881944, y(1.15) = 0.82310388 En los Ejercicios 4 a 6, use el método de Milne-Simpson, con valores iniciales y1, ya @ ys ¥ tamafio de paso h = 0.05, para calcular a mano los valores y4 € ys en el problema de valor inicial dado. Compare su solucién con la solucién exacta y(t) que se proporciona. ay! , y(0) = Len (0,5), v(t ‘y(0.05) = 0.99879090, y(0.10) = 0.99532116, (0.15) = 0.98981417 5. y! = 2ty?, y(0) = 1 en (0, 0.95], y(t) = 1/(1—¢?) y(0.05) = 1.0025063, y(0.10) = 10101010, y(0.15) = 1.0230179 6. y’ =14+y4?, y(0) =1 en [0,0.75], y(t) = tan(t + /4) -y(0.05) = 1.1053856, y(0.10) = 1.230489, y(0.15) = 1.3560879 En los Ejercicios 7 a 9, use el método de Hamming, con valores iniciales y1, y2 e ys y tamafio de paso h = 0.05, para calcular a mano los valores ys @ ys en el problema de valor inicial dado. Compare su solucién con la solucién exacta y(t) que se proporciona. 7. y! =2y—y?, y(0) =1en [0,5], y(t) = 1 + tanh(t) y(0.05) = 1.0499584, y(0.10) = 1.096680, y(0.15) = 1.1488850 8. y! =(1—y)/?, y(0) = 0 en (0, 1.55], y(t) = sen(t) (0.05) = 0.049979169, y(0.10) = 0.099833417, (0-15) = 0.14943813 9. y! =y*sin(t), y(0) = 1 en [0, 1.55], y(t) = sec(t) y(0.05) = 1.0012513, y(0.10) = 1.0050209, y(0.15) = 1.0113564 =tet+et Algoritmos y programas 1. (a) Use el Programa 9.6 para resolver las ecuaciones diferenciales de los Ejer- cicios 1 a 3. (b) Dibuje su aproximacin y la solucién exacta en una misma gréfica. 2. (a) Use el Programa 9.7 para resolver las ecuaciones diferenciales de los Ejer- cicios 4 a 6 (b) Dibuje su aproximacién y la solucién exacta en una misma gréfica. 3. (a) Use el Programa 9.8 para resolver las ecuaciones diferenciales de los Ejer- cicios 7 a 9. (b) Dibuje su aproximacién y la solucién exacta en una misma grdfica, SEC. 9.7 SISTEMAS DE ECUACIONES DIFERENCIALES 529 4. Realice una grafica andloga a la de la Figura 9.13 usando el Programa 9.6 con N =37y N =65 para resolver el problema de valor inicial y' =30-5y, y(0)=1 en (0,10). 5. Para el problema de valor inicial y’ = 45 — 9y, y(1) = 0 en (1, 20]: (a) Use la desigualdad (22) para determinar los valores del tamafio de paso para los que el método de Adams-Bashforth-Moulton podria ser inestable. (b) Basdndose en los resultados del apartado (a), seleccione dos tamafios de paso he y hy para los que el método de Adams-Bashforth-Moulton debe ser estable e inestable, respectivamente. Use un método de Runge-Kutta para generar tres valores iniciales yi, y2 ¢ ys para cada uno de los tamafios de paso seleccionados. (c) Use el Programa 9.6 para generar dos vectores de aproximaciones, uno para cada tamafio de paso, a la solucién del problema de valor inicial. (d) Use los resultados del apartado (c) para dibujar una gréfica similar a la Figura 9.13; puede que sea necesario experimentar con varios tamafios de paso. Sistemas de ecuaciones diferenciales Esta seccién es una introduccién a los sistemas de ecuaciones diferenciales. Para ilustrar los conceptos, consideremos el problema de valor inicial dx ee ahha) x(t) = 20, ® &y cm alto) = we. Ps = g(t,z,y) Una solucién del sistema (1) es un par de funciones derivables z(t) y(t) tales que cuando ¢, 2(¢) e y(t) se sustituyen en f(t,«,y) y g(t,2,y), el resultado es igual a la derivada 2’(t) e y'(t), respectivamente; es decir 2) a) = fez(t), ) ee a(t) = 20 y(t) = g(t. x(t), y(t) y(to) = yo. Por ejemplo, consideremos el sistema de ecuaciones diferenciales at Lat oy @) i cot ia : == +2; ~— or 32 yo La solucién del problema de valor inicial (3) es z(t) =4e*# +2e7*, @ y(t) = 6e#* — 2e-*. 530 CAP. 9 ECUACIONES DIFERENCIALES ORDINARIAS Esto puede verificarse sustituyendo directamente z(t) e y(t) en el miembro derecho de (3), calculando las derivadas en (4) y sustituyéndolas en el miembro izquierdo de (3), con lo que se obtiene: 16e** — 2e~* = (de + 2e*) + 2(6e** — 2e*), 24e4t + 2e-* = 3(4e** + 2e-*) + 2(6e%* — 2e-*). Resolucién numérica Podemos encontrar una solucién numérica del sistema (1) en un intervalo dado a (b) el método de Runge-Kutta (8) para calcular a mano (21,y:)- 1. Resuelva el sistema 2’ = 2a+3y, y’ = 2a-+y con la condicién inicial x(0) = —2.7 e y(0) = 2.8 en el intervalo 0 < ¢ < 1.0. La curva poligonal formada por las coordenadas de la solucién numérica obtenida se muestra en la Figura 9.14 y puede compararse con la solucién exacta = ee tet a= 35 3° 2. Resuelva el sistema 2! = 32—y, y! = 42 —y con la condicién inicial 2(0) = 0.2 e y(0) = 0.5 en el intervalo 0 < ¢ < 2. La curva poligonal formada por las coordenadas de la soluci6n numérica obtenida se muestra en la Figura 9.15 y puede compararse con la solucién exacta 3. Resuelva el sistema 2’ = 2 — 4y, y! = 2 + y con la condicién inicial 2(0) = 2 e y(0) = 3 en el intervalo 0 < t < 2. La curva poligonal formada por las coordenadas de la solucién numérica obtenida se muestra en la Figura 9.16 y puede compararse con la solucién exacta x(t) = —2et + det cos? (t) — 12¢' cos(t) sen(t), y(t) = —3et + Get cos? (t) + 2¢* cos(t) sen(t).. y y 3} 08 s 06 | tal 1 02h oe L x Bi dats oe ar 7 00 Ot 02 Figura 9.14 La solucién del sis- tema 2’ =2r+3yey!=2c+yen (0.0, 1.0). Figura 9.15 La solucién del sis- tema z' = 3e—yey'=4r—yen {0.0, 2.0}. SEC. 9.7 SISTEMAS DE ECUACIONES DIFERENCIALES 535 4. Resuelva el sistema 2! = y — 42, y! = 2 +y con la condicién inicial 2(0) =1¢ y(0) = 1 enel intervalo 0 < ¢ < 1.2 usando como tamafio de paso h = 0.05. La curva poligonal formada por las coordenadas de la solucién numérica obtenida se muestra en la Figura 9.17 y puede compararse con la solucién exacta, 3e-VIt/2 — geVBt/2 p-VBt/2 4 ev Bt/2 a= ym ae —Te-V29t/2 4 TeVBt/2 — e—VIt/2 4 oVIt/2 u() = Sages —— + ge —— En los Ejercicios 5 a 8: (a) Compruebe que la funcién z(t) es la solucién. (b) Reformule la ecuacién diferencial de segundo orden como un sistema de dos ecuaciones de primer orden. (c) Use el método de Euler con tamafio de paso A = 0.1 para calcular a mano 21 ¥ 22 (d) Use el método de Runge-Kutta con tamatio de paso h = 0.05 para calcular a mano 7}. 5. 2z""(t) — 5a!(t) — 3a(t) = 45e* con 2(0) = 2 y 2'(0) z(t) = de~*/? + TeS* — get 6. 2 (t) + 62/(t) + 92(t) = 0 con 2(0) =4y 2'(0) a(t) = 4e~% + 8te~* 7. 2"(t) + 2(t) = 6cos(t) con 2(0) =2e 2/(0) =3 x(t) = 2cos(t) + 3sen(t) + 3¢sen(t) 4 x 00 02 04 06 O8 1 Figura 9.16 La solucidn del sis- Figura 9.17 La solucién del sis- tema 2! -dyey'=c+yen tema 2’ -4cey' =atyen [0.0,2. (0.0, 1.2]. 536 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS 8. 2"(t) +32'(t) = 12 con 2(0) =5 y 2'(0) = a(t) =4+4t+e Algoritmos y programas 1. Escriba un programa que permita resolver un sistema de ecuaciones diferen- ciales mediante el método de Runge-Kutta de orden N = 4 dado en (8). En los Problemas 2 a 5, utlice su programa del Problema 1 para resolver el sistema correspondiente usando el método de Runge-Kutta con tamafio de paso h = 0.05. Dibuje la aproximacién obtenida y la solucién exacta en una misma gréfica. = 22+y con 2(0) = —2.7, y(0) =2.8 en00 para todo (t,2,y)ER y existe una constante M > 0 tal que (4) \fy(tsz.y)l 0 para todo t € [a,b] entonces el problema de contorno lineal (a =p!) +a(t)a) +r) con 2(a)=a y 260) =9 tiene solucién tinica z = z(t) ena

You might also like