Está en la página 1de 52
Ecuaciones diferenciales ordinarias Las ecuaciones diferenciales se usan habitualmente para construir modelos ma- tematicos de problemas de la ciencia y la ingenierfa. A menudo se da el caso de que no hay una solucién analitica conocida, por lo que necesitamos apro- ximaciones numéricas. A modo de ejemplo consideremos, en el contexto de la dindmica de poblaciones, un sistema no lineal que es una modificacién de las ecuaciones de Lotka-Volterra: 2 ) = 2y-y- Y= TY -Y~ s5Y> e 2e y(0) = 1. La solucién y Ls 1.0 0.5 Figura 9.1 Trayectoria de un sistema de ecuaciones diferenciales 0.0 11+ x no lineales 2’ = f(t,z,y) e yf = 0.5 1.0 15 2.0 o(t,2, 9). 463 9.1 464 Cap, 9 ECUACIONES DIFERENCIALES ORDINARIAS numérica es una mera tabla de ntimeros, asf que resulta més ilustrativo dibujar la trayectoria poligonal, mostrada en la Figura 9.1, que une los puntos de la solucion aproximada {(2,,ye)}. En este capitulo presentamos los métodos ha- bituales de resolucién numérica de ecuaciones diferenciales ordinarias, sistemas de ecuaciones diferenciales y problemas de contorno. Introduccién a las ecuaciones diferenciales Consideremos la ecuacién ye dt (1) Esta es una ecuacién diferencial porque en ella aparece la derivada dy/dt de la “funcién desconocida” y = y(t). En el miembro derecho de la ecuaci6n (1) sélo aparece la variable independiente t, asi que luciones son las primitivas de 1 ef, Usando las técnicas del calcul de primitivas podemos hallar y(t): (2) y(t) =t+et +0, donde C' es la constante de integracién. Todas las funciones de la forma (2) son soluciones de la ecuacién (1) porque verifican que y'(t) = 1— e~*; sus gréficas forman la familia de curvas que se muestran en la Figura 9.2. Las técnicas del calcul de primitivas nos han permitido hallar la formula explicita de las soluciones que aparece en (2); observamos en ella que hay un grado de libertad en la eleccién de la solucién, la constante de integracién C, lo que se pone de manifiesto en la Figura 9.2: variando el valor de C “movemos Figura 9.2 La familia de curvas y(t) =t+e~' +. SEC. 9.1 INTRODUCCION A LAS ECU ACIONES DIFERENCIALES 465 la curva soluci6n” hacia arriba o hacia abajo, de manera que siempre podemos encontrar una curva particular que pase por un punto dado de antemano. Los secretos del mundo no se suelen esconder detrés de formulas explicitas; en vez de eso, lo que normalmente somos capaces de medir es cémo los cambios de una variable afectan a otra variable. Cuando traducimos esto en un modelo matematico, el resultado es una ecuacién diferencial que involucra la velocidad de cambio de la funcién desconocida y, en la mayoria de las ocasiones, las variables dependiente e independiente. Consideremos la temperatura y(t) de un objeto que se enfria. Podriamos conjeturar que la velocidad de cambio de la temperatura del cuerpo esta rela- cionada con la diferencia entre su temperatura y la del medio que lo rodea; los experimentos confirman esta conjetura y la ley del enfriamiento de Newton establece que dicha velocidad de cambio es directamente proporcional a la di- ferencia de estas temperaturas. Si denotamos por A la temperatura del medio que lo rodea y por y(t) la temperatura del cuerpo en el instante t, entonces dy dt donde k es una constante positiva; hace falta incluir el signo negativo porque dy/dt ser& negativa (la temperatura decrece) siempre que la temperatura del cuerpo sea mayor que la del medio. Si conocemos la temperatura yo del cuerpo en el instante t = 0, entonces incluimos esta informacién, que se denomina condicién inicial, en el enunciado del problema, de manera que lo que queremos resolver es (3) a ; LCL _ (4) a= TRA) con (0) = yo. La soluci6n la calculamos usando la técnica de separacién de variables, obte- niendo (5) y=At(yo— Ale ™. Cada. eleccién de yo nos proporciona una solucién distinta; es como si el valor inicial fuera el punto de anclaje de la curva correspondiente a la solucién, de forma que no podemos “saltar” de una curva a otra. En la Figura 9.3 se muestran varias soluciones del problema y en ella podemos observar que, con- forme t crece, la temperatura del cuerpo se aproxima a la temperatura ambiente y, también, que si yo < A, entonces el cuerpo no se enfria sino que se calienta. Problemas de valor inicial Definicién 9.1. Una solucidn del problema de valor inicial (6) con y(to) = yo 466 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS Figura 9.3 Gréficas de |: vas y = A+ (yo — A)e~*, solu- ciones de la ecuacién del en- 1 friamiento (y calentamiento) de Newton. cur- en un intervalo [to, ti] es una funcién derivable y = y(2) tal que (7) ut) =yo © y'(t)=f(t,y(t)) para todo t € [to, ti]. a Hagamos notar que la gréfica de la solucién y = y(t) debe pasar por el punto inicial (to, yo) Interpretacién geométrica En cada punto (¢,y) del recténgulo R = {(t,y):a 0 tal que (8) \f(t,y1) = f(t, 92)] SL han — gol para cualesquiera (t,y1), (t,y2) € R. La constante L se llama constante de Lipschitz de f a Teorema 9.1. Supongamos que f(t,y) esta definida en un recténgulo R. Si existe una constante L > 0 tal que (9) \fulty)l SE para todo (t,y) € R, entonces f verifica una condicién de Lipschitz con respecto a su variable y en R, siendo L su constante de Lipschitz. Demostracién. Fijando t y usando el teorema del valor medio, obtenemos ci, con yi <¢) < yo, tal que IF(tsy1) — F(t, yo)] = lFu(t e1)(g1 = ye) = |fy(t.e1)llu — yal $ Ll — wel: 468 Cap. 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): t) 0 es una solucién (b) Compruebe que y(¢) = t9/? para t > 0 es una solucisn. (c) {Viola este ejemplo el Teorema 9.2? {Por qué? 11. Consideremos el problema de valor inicial ys(l-y)'? (0) =0. (a) Compruebe que y(t) = sen(t) es una solucién en (0,7/4}. (b) Determine el intervalo mas grande en cl que la solucién existe. eens 12. Pruebe que la integral definida f° f(t) dt puede calcularse resolviendo el pro- blema de valor inicial y=f(t) paraa Si el tamafio de paso h es suficientemente pequeiio, entonces podemos des- preciar el término que contiene h? y obtener (5) u(t) © ym = yo + hf (to, Yo), que se llama aprozimacié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) thi =teth, yest =e thf(tesye) para k=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 inici (7) =Ry en [0,1] con y(0)=yo y R constante. Debemos clegir un tamajio de paso y, luego, usar la segunda férmula de (6) para calcular las ordenadas. A veces, esta segunda formula se Hama ecuacién en diferencias y, en nuestro caso, es (8) yeer =ye(L+hR) para k=0, 1, ..., M-1 Si vamos escribiendo estos valores recursivamente, obtenemos yi = yo(l + hR) yo = (1+ AR) = yo(l + AR)? yo = ym—1(L + AR) = yo(L + hR)™. En la mayoria de los problemas no se puede hallar una formula 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: (10) te=kh yx =yo(1+hR)* para k=0, 1, ..., M. La férmula (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%. {Cual es el capital acumulado al cabo de esos cinco afos? Vamos a utilizar las aproximaciones de Euler con tamafios de paso h = 1 gig Para aproximar y(5) en el problema de valor inicial 1 say =O0.ly en [0,5] con y(0) = 1000. Los resultados de aplicar la formula (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. “Tamaiol de paso,|_ Niimero de Aproximacién h yo a y(5) = | [— 5 1 | 5 1000 (: + 2) = 1610.51 1 60 é 60 1000 (1 +8 :) = 1645.31 1800 1800 1000 (0: + on) = 1648.61 360 Pensemos en los valores ys, Yoo € Y1s00 que aproximan el capital acumulado a los cinco aiios, Estos valores se han obtenido usando tamajios de paso dife- rentes y realizando un esfuerzo computacional también diferente. La solucién del problema de valor inicial es (5) = 1000¢°* = 1648.72. Si no usdramos la formula explicita (10), entonces hubieramos necesitado realizar 1800 iteraciones en el método de Euler para obtener yisoo ¥, aun asi, jsdlo obtenemos cinco cifras significativas de precision 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 formula explicita (10). Otros métodos de aproximacién a la solucién més sofisticados no tienen una formula explicita para calcular y,, 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)s nos movemos horizontalmente una distancia h y verticalmente una distancia Af (to, yo), eutonces lo que hacemos es desplazarnos a lo largo de la recta tan- gente a la curva y(t) terminando en el punto (t,y:) (véase la Figura 9.5) Hagamos notar que j(t1,y1) no es un punto de la curva deseada!, aunque sea la aproximacién que se genera. Ahora debemos usar (¢;,;), como si fuera un punto correcto, para calcular la pendiente m, = f(t1,y1) y usar este valor para obtener el siguiente desplazamiento vertical hf(t,,y1), que nos lleva al punto (tz, ya), y asi sucesivamente. Taman 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 + Figura 9.5 Aproximaciones de 00°05 10 15 20 25 3.0 Euler yt = ye +hfltesye)- discreta. En este tipo de métodos, la solucién se aproxima en un conjunto finito de puntos que Hamaremos nodos. Un método elemental de la forma Yew = Ye + hY(te, ye), para cierta funcidn # lamada funcién incremental, se dice que es de paso simple, o de un solo paso, porque en el célculo del nuevo punto s6lo 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 { (te, yx)} Mg es un conjunto finito de aproximaciones a la tinica solucién y = y(t) de un problema de valor inicial. El error de truncamiento global o error de discretizacién global ¢; se define como (11) ek =yltk)—ye para k=0, 1, M Este error es la diferencia entre la soluci6n exacta y la calculada con el método en el nodo correspondiente. El error de truncamiento local o error de discretizacién local <441 se define como (12) eka = y(tesi) — ye —hO(te, ye) para k=0, 1, ..., M-1. Este error es el que se comete en un solo paso, el que nos lleva desde el nodo ty, hasta el nodo ty 41. 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""(c,)(h?/2). Si este fuera el tinico Sec. 9.2 EL METODO DE EULER 475 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 ” Denk x ayo = Myron = CW" — ovary fe 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, 8] y {(ti, yx) } ilo es la sucesién de aproximaciones generada por el método de Euler, entonces lex! = ly(te) — uel = OCA), +11 = ly(tist) — oe — Af (te, ye)| = O(h?). El error al final del intervalo se llama error global final y viene dado por (14) E(y(b), h) = |y(6) — yar] = OC) Observacién. El error global final E(y(b),h) se usa para estudiar el compor- tamiento del error para tamaiios 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 calcukasemos las aproximaciones usando como tamaiios de paso h y h/2, deberfamos tener (13) (15) E(y(b), h) C para el tamafio de paso més grande y h hol 1 ; =) x C= = =Ch& =E(y(b),h). (16) £(w0.§) C5 = 3Ch > 5E(u(b),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 476 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS a y=y(0) 0.5 1 00 O05 10 15 20 25 3.0 Figura 9.6 Comparacién de las aproximaciones de Buler obtenidas con tamafios de paso diferentes para y' = (t— y)/2 en [0,3] con la condicién y(0) La Figura 9.6 muestra las gréficas de las cuatro soluciones obtenidas por el método de Euler y la grafica de la solucién exacta y(t) = 3e~/? — 241. 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 yr = 1.0 + 0.25 (e*) = 0.875, 0.25 — 0.87: yo = ors +025 ( 2 ) = 0.796875, ete. La iteracién contintia hasta que llegamos al otro extremo del intervalo 2.75 — 1.440573 y(3) % yo = 1.440573 + 0.25 ( 7 ) = 1.604252. . Ejemplo 9.5. Vamos a comparar los errores globales finales cuando se usa el método de Buler para resolver el problema de valor inicial y = en [0,3] con y(0) =1, usando como tamafios de paso 1, $, ..., 4- La Tabla 9.3 muestra los errores globales finales para los diferentes tamatios de paso; en ella vernos que el error en la aproximacién a y(3) decrece en un factor de } cuando el tamaio de paso se reduce a la mitad. Para los tamafios de paso mas pequefios, también podemos comprobar la conclusién del Teorema 9.3 E(y(3),h) = (3) - yr = Ol’) & Ch, siendo C= 0.256. . . 9.2 EL MBTODO DE EULER, ATT Tabla 9.2 Comparacidn de las aproximaciones de Euler obtenidas con tamafios de paso diferentes para y' = (t~ y}/2 en [0,3] con y(0) = 1. Uk y(te) te a=t | aad h=t Exacto 10 1.0 10 1.0 10 0.9375 0.943239 0.875 0.886719 0.897491 0.846924 0.862087 0.75 0.796875 0.817429 0.836402 0.759766, 0.786802 0.811868 05 0.6875, 0.758545 0.790158 0.819592 0.765625 0.846386 0.882855 0.917100 0.75 0.949219 1.030827 1.068222 1.103638 1.211914 1.289227 1.325176 1.359514 1.375 1.533936 1.604252 1.637429 1.669390 Tabla 9.3. Relacidn entre el tamaiio de paso y el error global final para Jas aproximaciones de Euler a Ja solucién de y! = (t — y)/2 en {0,3] con y(0) = 1. Tamaio | Nemero Error global de paso, | de pasos, | Aproximacién final, O(h) & Ch h M yar a y(3) y(3) — ya con C = 0.256 1 3 1 0.294390 0.256 $ 6 1.533936 0.135454 0.128 4 12 1.604252 0.065138 0.064 : 24 1.637429 0.031961 0.032 * 48 1.653557, 0.015833, 0.016 a 96 1.661510 0.007880 0.008 a 192 1.665459 0.003931 0.004 478 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS MATLAB Programa 9.1 (Método de Euler). Construccidn de las aproximaciones a la solucién del problema inicial y’ = f(t,y) con y(a) = yo en {a, 6] dadas por Yer = Ye thf(te ye) para k=0, 1, ..., M-1 function E=euler(f,a,b,ya,M) % Datos a - f es la funcién, almacenada % como una cadena de caracteres ’f’ % - ay b son los extremos derecho e izquierdo % del intervalo 4 - ya es la condicién inicial y(a) % - Mes el niimero de pasos % Resultado % - Es[T’ Y’] siendo T el vector de las abscisas e % Y el vector de las ordenadas he(b-a)/M5 T=zeros(1,M+1); Y=zeros(1,M+1); Tea:h:b; Y(1)=ya; for j ¥(j+1)=¥(j) +h*feval(f,T(j),¥(j)); end E=(T? YJ; 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. y' =? —y con y(0) = 1, y(t) = ~e-f +B — 24.2 2. y! = 3y + 3¢ con y(0) = 1, y(t) = Ze% —t- 4 Src. i Dap wo 9.2 EL METODO DE EULER 479 y con y(0) = 1, y(t) = y' =e" — 2y con y(0) = 4, u(t) . yf = 2ty? con y(0) = 1, y(t) = 1/(1- ¢?) . Crecimiento logistico de una poblacidn. 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 0.00004. Denotemos por t los afios transcurridos desde 1900 y tomemos como tamafio de paso h = 10. Determine, haciendo las operaciones a mano 0 con una calculadora, las aproximaciones de Euler a P(t) (redondeando cada valor Pj. a la décima) y rellene Ja siguiente tabla. P(t) Py, aproximacién Afio te real de Euler 1900 | 0.0 76.1 76.1 1910 | 10.0 92.4 89.0 1920 | 20.0 106.5 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 204.9 1980 | 80.0 226.5 . Pruebe que si se utiliza el método de Euler para resolver el problema de valor inicial y'=f(t) en [a,8] con y(a) el resultado es M-1 u(d) = So flte)h, A=0 que es la suma de Riemann que aproxima la integral definida de f(t) en el intervalo [a, 5]. Pruebe que el método de Euler falla cuando queremos aproximar la solucién y(t) = t°/2 del problema de valor inicial y! =f(ty) =1.5y/8 con (0) = 0. Justifique su respuesta. ,Cual 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) =0? Indicacién, La solucién exacta es y(t) = 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 Pr 40 pasos con el Programa 9.1. ‘ama 9.1. Luego tome h = 0.05 y dé (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- cacidn. La matriz E que se obtiene como resultado en el Programa 9.1 contiene las coordenadas « ¢ y de las aproximaciones y la instruccidn del paquete MAT- LAB plot (E(: ,1) ,E(: ,2)) producira una dibujo andlogo al de la Figura 9.6. 1. y' =#? ~y con y(0) = 1, y(t) = ~e t+ -2t4+2 2. y! = 3y + 3t con y(0) = 1, y(t) = fe —t- 4 2/2 3. y' = -ty con y(0) = 1, y(t) = 4. y! =~ — 2y con y(0) = 75, y(t) = Gen" + te 5. y’ = 2ty? con y(0) = 1, y(t) = 1/(1-#?) 6. Considere el problema de valor inicial y' = 0.12y en [0,5] con y(0) = 1000 (a) Aplique ta formula (10) para hallar la aproximacion de Buler a y(5) tomando como tamafios de paso h = 1, 75 Y 345. (b) ;.Cual es limite en el apartado (a) cuando h tiende a cero? 7. Crecimiento exponencial de una poblacidn. 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 y' =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, 4 y 25. (b) {Cual es mite en el apartado (a) cuando h tiende a cero? 8. Un paracaidista salta desde un avién. Hasta el momento en que abre el paracaidas, la resistencia del aire es proporcional a v3/2 (v representa la ve- locidad). Supongamos que el intervalo temporal es [0,6] y que la ecu: diferencial para la velocidad de descenso es vu! = 10-0.01v9/?_— en [0,6] con v(0) Use el método de Euler con h = 0.05 para estimar v(6). Sec. 9.2. EL METODO DE EULER 481 9. Modelo de una epidemia. Vamos a describir a continuacién un modelo 10. matematico para la extensién de una epidemia. Supongamos que tenemos una comunidad de L personas que contiene incialmente P personas conta- giadas y Q sin contagiar. Sea y(t) el nimero de personas contagiadas en un instante ¢. Si la enfermedad no es muy grave, como el resfriado comin, todo el mundo contimia en activo y la epidemia se extiende. Puesto que hay PQ posibles contactos entre personas de uno y otro grupo, la velocidad de cambio de y(t) es proporcional a PQ, asi que el problema puede modelarse mediante el problema de valor inicial yl =ky(L-y) con (0) = yo (a) Tomando L = 25000, k = 0.00003 y A = 0.2 con la condicién inicial y(0) = 250, use el Programa 9.1 para calcular la aproximacién de Euler en el intervalo (0, 60]. (b) Dibuje la gréfica 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. (a) Estime el ntimero 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 a y! = 1.3y — 0.25y? — 0. ooo1y f y(t) dr. 0 (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 Yost = Ye th ( Byp — 0.25y3 — 0.0001 f u(r) ar) . 0 Si usamos la regla del trapecio para aproximar la integral, entonces esta expresién se transforma en Yes = ye + h(13yn — 0.25y; — 0.0001y.T(h)), siendo To(h) = 0y Teh) = Tes(h) + Bown + ye) para k=O, 1, ons 9. (b) Repita el apartado (a) con los valores iniciales (0) = 200 e y(0) (a) (c) Dibuje las soluciones aproximadas obtenidas en los apartados sobre un mismo grafico. aye 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 @ y(t) = f(ty@) en [a,0] con (to) = yo. Para obtener el punto (t1, yi), podemos usar el teorema fundamental del célculo ¢ integrar y'(¢) en {to, t;] de manera que ty ty @) Kyle) dt = fy" ade= w(t) ~ alt) to donde hemos usado como primitiva de y’(t) la funcién deseada y(t). Despejando y(t) en la igualdad (2), nos queda 3) ults) = ulto) + f° fut) ae 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 =t, — to, entonces el resultado es (4) y(ts) © y(to) + *Fltosulta)) + F(trsult))). Hagamos notar que en la formula del miembro derecho de (4) aparece el valor y(t1) que queremos determinar; lo que hacemos es usar una estimacién de y(ti) y, para nuestro propésito, la aproximacién de Euler es suficiente. Al sustituir ésta en (4), obtenemos una formula de aproximacién a y(ti) que se llama método de Heun: 6) v1 =y (to) + A(F(los 0) + S(t yo + hf (lo, ))) 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 Pro =Yethf(thsyx), thor = te +h, vas = Yat BC tas) + Stes, Pes): Sec. 9.3 EL METopo pp HEuN 483 ca ly PD) o (ty) (ty. yD) y= y(t) = ft, yO) (tf) +t 0 4 fg (a) Valor predictor: (b) Valor corrector: PL= Yo After Yo) n-¥= Bf + A) Figura 9.7 Las gréficas y = y(t) y z = f(t,y(t)) que se usan en la construccién del método de Heun. Veamos el papel que juegan la derivacién y la integracién en el método de Heun: Dibujamos la recta tangente a la grafica de la solucién y = y(t) en el punto (to, yo) y la usamos para construir el punto (t1,p1). Ahora miramos la grafica de z = f(t,y(t)) y consideramos los puntos (to, fo) y (ti, f1); donde fo = f(to,yo) y fi = f(ti,p1)- El drea del trapecio con vértices (to, fo) y (ts, f:) 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 expresién (5). Las graficas correspondientes se muestran en la Figura 9.7. Tamaio 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 ; a) ven) Si el nico 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 a hs b-a ST (oe we OB y2) (en? = OF? (8) LY (CA) ay & Fg 9 OOM = Off"). 484 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS El siguiente teorema es importante porque establece la relacién entre el error global final y el tamaiio 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 precision 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) € C3{to, 8] ¥ {(te, yx) } a9 es la sucesién de aproximaciones dadas por el método de Heun, entonces lexl = ly(te) — ve! = O(H?), leweal = ly(tier) — ye — AB (te, yx)| = OCH), donde O(te, yx) = yx + (h/2)(f (tic vx) + F (terry + Af (te, ¥))) En particular, el error global final en el extremo derecho de! intervalo verifica (10) EBly(b), b) = |y(b) — yar| = O(1?). Los Ejemplos 9.6 y 9.7 ilustran el Teorema 9.4: Si calculdsemos las aproxi- maciones usando como tamaiios de paso h y h/2, entonces deberiamos tener qa) E(y(b),h) = Ch? (9) para el tamafio de paso més grande y : (12) E (vo. 3) ® of . zen x FB (y(0),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, 3, 4 y 4. En la Figura 9.8 se muestran las grifficas de las dos primeras soluciones dadas por el método de Heun y la grafica de la solucidn exacta y(t) = 3e~"/? — 2+. En la Tabla 9.4 se recogen los valores de las cuatro soluciones en algunos nodos. Un clculo tipico, que hacemos con el tamaiio de paso h = 0.25, seria f(tosyo) = ot -0.5, py = 1.04 0.25(-0.5) = 0.875, 1.25 — 0.875 a eS = -0.3125, yi = 1.0 + 0.125(—0.5 — 0.3125) = 0.8984375. La iteracidn contimia hasta que Hegamos al iltimo paso y(3) © yr = 1.511508 + 0.125 (0.619246 + 0.666840) = 1.672269. . Sgc. 9.3 EL METODO DE HEUN 485 0.0 0.5 1.0 1.5 2.0 Figura 9.8 Comparacién de las soluciones obteni- das con el método de Heun con diferentes tamaios de paso para y' = (¢ — y)/2 en [0,2] con la condicién inicial (0) = 1. Tabla 9.4 Comparacidn de las soluciones obtenidas con el método de Heun con diferentes tamaiios de paso para y’ = (t ~ y)/2 en [0,2] con la condicién y(0) = 1. Ue u(te) th h=1 hel hat hel Exacto 0 1.0 1.0 1.0 1.0 1.0 0.125 0.943359 0.943239 0.25 0.898438, 0.897717 0.897491 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.831055 0.822196 0.820213, 0.819592 1.50 0.930511 0.920143, 0.917825 0.917100 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 en [0,3] con y(0) = 1, usando los tamaiios de paso 1, 3,..., & En la Tabla 9.5 se recogen los errores globale: que el error de la aproximacién a y(3) decrece a s finales y en ella podemos observar cuarta parte + cuando reducimos 486 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS Tabla 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. Tamafio | Numero Error global O(h?) = Ch? de paso, | de pasos, | Aproximacién final, con h M yar a y(3) y(3) — yar C = -0.0432 1 3 1.732422 0.063032 —0.043200 4 6 1.682121 =0.012731 —0.010800 t 12 1.672269 | 0.002879 —0.002700 b 24 1.670076 | 0.000686 —0.000675 4 48 1.669558 —0.000168 —0.000169 4s 96 1.669432 0.000042 —0.000042 4 192 1.669401 0.000011 0.000011 el tamatio de paso a la mitad }: E(y(3),h) = y(3) — yw = O(n?) = Ch?, con C = —0.0432. MATLAB Programa 9.2 (Método de Heun). Construccién de las aproximaciones a la solucion del problema inicial y’ = f(é,y) con y(a) = yo en [a,b] dadas por Yass = ae + BUS (bus a) + fleas ve + Stes) parak=0,1,...,M—-1. function H=heun(f,a,b,ya,M) % Datos % - f es la funcién, almacenada como th una cadena de caracteres ’f’ % - ay b son los extremos derecho e izquierdo % del intervalo Sec. 9.3. EL METODO pE HEUN 487 % - ya es la condicién inicial y(a) % - Mes el miimero de pasos % Resultado wh - H=[T’ Y’] siendo T el vector de las abscisas e h Y el vector de las ordenadas h=(b-a) /M; T=zeros(1,M+1); Y=zeros(1,M+1); Tea:h:b; ki=: feval(t, T(3),¥G)); k2=feval (f,T(j+1) ,¥(j)+h*k1); Y(j+1)=¥(j)+(h/2) *(k1+k2) ; end He(T’Y?]; Ejercicios En los Bjercicios 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 y 8 .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) {Se comporta el error global final de las aproximaciones obtenidas en el apartado (a) como se espera cuando h se divide entre dos? .y =t? —ycon y(0) = 1, y(t) = -e* + — 24-2 . y' = 8y + 3t con y(0) = 1, y(t) = $e -—t- 4 v= mtg con yO) = 1d) ee . y! = et — 2y con y(0) = a, ult) = ypen™ + tem . y! = 2ty? con y(0) = 1, y(t) = 1/(1- 2) Note que el método de Heun genera una aproximacién de y(1) aunque la solucion no esta definida en t = 1. vk oO Nye 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 M~ 7 h aD f(th) + f (te41)), 2 488 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS que es la aproximacién dada por la regla compuesta del trapecio para aproxi- mar la integral definida de f(t) en el intervalo {a, 8). 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 yb) & yn + Ch?, si ahora lo usamos con tamajio de paso 2h, entonces tenemos y(b) © yor +4Ch?. Los términos que contienen Ch? pueden climinarse para obtener una aproxi- macién mejorada a y(b): Este esquema de mejora puede usarse con los valores mostrados en el Ejem- plo 9.7 para obtener una aproximacién mejor a y(3). Calcule las entradas que faltan en la tabla siguiente: h yn |(Ayn ~ yon) /3 1 1.732422 | 1/2 | 1.682121 | 1.665354 1/4 | 1.672269 1/8 | 1.670076) 1/16 | 1.669558 | 1.669385 1/32 | 1.669432 | 1/64 | 1.66940: 8. Pruebe que el método de Heun falla cuando queremos aproximar la solucién y(t) = t°/? del problema de valor inicial y' =flty)=15y/? con y(0) = 0. Justifique su respuesta. {Cudl es el problema? 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. Sec. 9.3 Et MEropo pe 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 apartado (a) como se espera cuando h se d aproximaciones obtenidas en el vide entre dos? (d) Dibuje las aproximaciones y la solucién exacta en una misma gréfica. Indi- cacién. La matriz H que se obtiene como resultado en el Programa 9.2 contiene las coordenadas z ¢ 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. Ly =P —y con y(0) =1, y(t) =-e t+ —2t4+2 2. y! = 3y + 3t con y(0) = 1, y(t) sty 3 3. y' = —ty con y(0) = 1, y(t) =e — 2y con y(0) = 7p, y(t) = ype + te 5. y! = 2ty® con y(0) = 1, y(t) = 1/(1-#) 6. Consideremos un proyectil que se dispara hacia amiba 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 v(t) es 4, yf =e ' K vi=-10- 570 con v(0) = v0, siendo to la velocidad inicial, M la masa y K el coeficiente de resistencia det 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. vu Dibuje su solucién y la solucin exacta v(t) = 140e~*/! — 100 en una misma gréfica. (Observe que la velocidad limite es —100 m/s.) 7. En psicologia, la ley de estimulo-respuestia 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 lamamos 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 So = 0.1 y que R(0.1) = 0. Use el método de Heun con h = 0.1 para resolver 1 R= en [0.1,5.1] con R(0.1) =0. 8. (a) Escriba un programa que sirva para llevar a cabo el método de mejora 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 9.4 490 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS programa deberfa terminar cuando el valor absoluto de la diferencia entre dos mejoras consecutivas sea menor que 10°. El método de la serie de Taylor El método de la serie de Taylor es de aplicabilidad general y es el método estdndar con el que se compara la precisin 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 fijado de antemano. Empezamos reformulando el Teorema de Taylor de manera adecuada para la resolucién de una ecuacién diferencial. Teorema 9.5 (Teorema de Taylor). Supongamos que y(t) € C%* to, b] y que y(t) tiene el desarrollo de Taylor de orden N alrededor de un punto t= th € [to, 6] dado por (1) (ty +h) = ylte) + Ty (ti, y(te)) + OCAY*), donde N (2) Tw (te, (te) oe Ei) i e y(t) = fY-Y(t, y(t)) denota la derivada (j —1)-ésima de la funcin f(t, y(t)) con respecto a t. Las formulas de estas derivadas pueden calcularse recursiva- mente usando la regla de la cadena: (3) vas y= fet fay =het hf y(t) = fat Qheyy! + fu!" + fl? = fut 2houf + ful? + filet fof) y(t) = fur + ftv! + Bfery(y')? + Bfevy" + fol” + Bfuuy'y!" + fv (o!)® = (fur t+ Bfeyh + Bhat? + ful?) + Sulfa + feud + fv?) +3(fe + ful) feu + ful) + fet fel) y, en general, (4) y(t) = PX F(t,y), Src. 9.4 EL METODO DE LA SERIE DE TAYLOR 491 donde P es el operador de derivacién a_,a P=(— —). ( at Say ) EI valor numérico aproximado de la solucién del problema de valor inicial y'(t) = f(t, y) en [to, tas] se calcula usando la formula (1) en cada subintervalo (ti, te+1], de manera que el paso general del método de Taylor de orden N es ask? dgh® | dyh (5) Yer = Ue + dah + + a tt siendo dj = y)(tq) para j = 1, 2,..., N en cada paso k=0,1,..., 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 N entonces es tedricamente posible fijar el tamaiio de paso h de forma que el error global final sea tan pequeiio como queramos; sin embargo, en la prdctica 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, y {(ti, ye) }#Lo es la sucesién de aproximaciones generadas por el método de Taylor de orden N, entonces ©) len! = [y(te) — wel = OC **), lexaal = ly(tea1) — ye — hTv (te, yx) = OCA). En particular, el error global final en el extremo derecho del intervalo es ia) E(y(b), h) = ly() — yar| = OCH). La demostracién puede hallarse en la Referencia [78]. Los Ejemplos 9.8 y 9.9 ilustran el Teorema 9.6 para el caso N = 4. Si caleu- ldsemos las aproximaciones tomando como tamaifios de paso h y h/2, entonces deberiamos tener (8) E(y(b),h) = Ch* para el tamafio de paso mas grande y h Moly dl (9) E (vo, ) = Cag = gel = GEO .W- Por tanto, el Teorema 9.6 nos dice que si el tamaiio de paso se reduce a la mitad, entonces el error global final deberfa reducirse en un factor del orden de 3. 492 Cap. 9 ECUACIONES DIPERENCIALES ORDINARIAS Ejemplo 9.8. Vamos a usar el método de Taylor de orden N = 4 para resolver y' = (t—y)/2en [0,3] con y(0) = 1 y a comparar las soluciones obtenidas con h = 1, jityz * “Brimero hay que determinar las derivadas de y(t). Recordando que la solucién y(t) es funcidn de t y derivando la formula y'(t) = f(t,y(t)) con respecto a t obte- nemos y!(t). Después, continuamos e proceso para hallar las derivadas de orden superior: 4 yi lat /2 _2=tty 8 16 Para hallar y;, debemos evaluar las derivadas que acabamos de calcular en el punto (to, yo) = (0, 1), obteniéndose ds =) = 9519 = 05, tea y'%(0) = 29220419 _ p25, dy = y((0) = 20+ 00=10 _ _o 575, Be Oe Z +10 _ 0.1875 Ahora sustituimos las derivadas {dj} en la expresién (5) con h = 0.25 y usamos el esquema de Horner-Ruffini para calcular el valor y:: yi = 1.0 40.25 = 0.8974915. EI punto calculado es pues (1,31) = (0.25, 0.8974915). Para determinar ys, hay que evaluar las derivadas {dj} en el punto (0.25, 0.8974915). Los célculos empiezan a requerir un esfuerzo comput: 9.4 EL METODO DE LA SERIE DE TAYLOR 493 Tabla 9.6 Comparacidn 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) = 1. Yk (te) th hel =43 h=t h=i Exacto 0 10 1.0 1.0 1.0 1.0 0.125 | 0.9432392 | 0.9432392 0.25, | 08974915 08974908} 08974917 0.375 0.8620874 0.8620874 0.50 0.8364258 0.8364037 0.8364024 | 0.8364023 0.75 0.8118696 0.818679 | 0.818678 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 1.6701860 1.6694308 1.693928 1.6693906 1.6693905 siderable y resulta muy tedioso el hacerlos a mano: 0.25 = O.8974915 _ _ 9 5997458, 2 _ 2.0 — 0.25 + 0.8974915 dy = y'(0.25) dy = y'?) (0.25) = a = 0.6618729, Bane dy = y(0.25) TBO 00s —osorine = -0.3309364, dy = y6)(0.25) = 2020-25 + 08974915 _ 9 igs agg0, 16 Ahora sustituimos estas derivadas en la expr esquema de Horner-Ruffini para calcular yo: n (5) con h = 0.25 y usamos el yo = 0.8974915 + 0.25 (-o.sea7s08 0.6618729 40.25 —0.3309364 40.25 1654682 a F 0.25 { AE +: 0.25 ( + 0.25 ( = 0.8364037. Por tanto, el nuevo punto es (tp, yo) = (0.50, 0.8364037). En la Tabla 9.6 se muestran las aproximaciones obtenidas en algunas abscisas con tamaiios 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 Tabla 9.7 Relacién entre el tamaiio de paso y el error global final para las soluciones obtenidas con el método de Taylor para el problema y' = (t—y)/2 en [0,3] con y(0) = Tamaio | Numero Error global | O(h?) &Ch* de paso, | de pasos, | Aproximacién final con C h M yar a y(3) (3) — yw = -0.000614 1 3 1.6701860 —0.0007955 —0.0006140 3 6 1.6694308 ~0.0000403 —0.0000384 Z 12 1.693928 —0.0000023 —0.0000024 3 24 1.693906 ~0.0000001 0.000001 En la Tabla 9.7 se recogen los errores globales finales para los correspondientes tamaiios de paso y en ella podemos ver que las aproximaciones a y(3) decrecen en un factor del orden de #5 cuando el tamafio de paso se reduce a la mitad: E(y(3),h) = u(3) — yar = O(A*) = Ch’, con C = —0.000614. . MATLAB Para usar el programa que damos a continuacién, hace falta que las derivadas yy", yl” ey!” estén almacenadas en un archivo llamado, por ejemplo, df .m; asi, el siguiente archivo servirfa para almacenar las derivadas del Bjemplo 9.8 segiin el formato requerido por el Programa 9.3 function z=df(t,y) z=[(t-y)/2, (2-t+y)/4, (-2+t-y)/8, (2-t+y)/16]; Programa 9.3 (Método de Taylor de Orden 4). Construccién de las aproximaciones a la solucién de y' = f(é,y) con y(a) = yo en [a,b] evaluando y", yl" ey" y usando el polinomio de Taylor en cada paso. function T4=taylor (df,a,b,ya,M) % Datos % - df=[y’ y’? y’?? y????] almacenada como una i cadena de caracteres ’df’, siendo y’=f(t,y) % - ay b son los extremos derecho e izquierdo h del intervalo Sec. 9.4 EL METODO DE LA SERIE DE TayLor 495 h - ya es la condicién inicial y(a) h - M es el ntimero de pasos % Resultado h - T4=[T’ Y’] siendo T el vector de las abscisas e h Y el vector de las ordenadas ‘b-a)/M; eros(1,M+1); eros(1,M+1); D=feval (df ,T(j) ,.¥(j));5 Y(j+1)=¥(j) +h* (D(1)+h* (D(2) /2+h*(D(3) /6+h*D(4) /24))); end T4=(T? v7]; Ejercicios 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 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. y' =P —ycon y(0) = 1, y(t) = -e t+ —24+2 2. y! = 3y + 3t con y(0) = 1, y(t) = $e —t-4 3. y! = ty con y(0) = 1, y(t) =e? /? A. y! = et — 2y con y(0) = 4, ylt) = fen" + te 5. y! = 2ty? con y(0) = 1, y(t) = 1/(1—#) 6. 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 Taylor. Si en el método de Taylor de orden N = 4 se usa un tamafio de paso h, entonces y(b) ¥ yn + Ch, pero si usamos un tamafio de paso 2h, entonces y(b) © yon + 16Ch*. Los términos que contienen Ch* pueden eliminarse para obtener una aproximacién mejorada: 16ypn y(b) 496 Cap. 9 ECUACIONES DIFEREI MALES 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: ; h Ye (6 yn = yon)/15 1.0 1.6701860 0.5 1.6694308 1.6693928 — 1.6693906 | 7. Pruebe que cuando se utiliza el método de Taylor de orden N con tamaiios 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) = #8/2 del problema de valor inicial y' = f(ty) =15y'/* 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) = 1 en el intervalo [0,1) es y(é) = 1/(1-t). Verifique que la solucién del problema de valor i en el intervalo (0, 7/4) es y(t) = tan(t + 7/4). (c) Use los resultados de los apartados (a) y (b) para deducir que la solucién del problema de valor inicial y' = # + y?, y(0) = 1 tiene una asintota vertical entre 7/4 y 1 (localizada cerca de t = 0.96981). 10. Consideremos el problema de valor inicial y’ = 1+ y?, y(0) = (a) Determine las expresiones de y(t), y(t) e y(t). (b) Evaltie las derivadas en ¢ = 0 y tiselas para calcular los cinco primeros términos del desarrollo de Maclaurin de tan(t). (b ial y’ = 1+y?, y(0) = 1 Algoritmos y programas En los Problemas 1 a 5, resuelva la ecuacién diferencial usando el método de Taylor de orden N = 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). 9.5 SEc. 9.5 Los MbTopos DE 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 1a 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 x ¢ y de las aproximaciones y la instruccién del pa- quete MATLAB plot (1T4(:,1),T4(:,2)) produciré un dibujo andlogo al de la Figura 9.6. +P — 242 Hyd .y =0 —y con y(0) = 1, y(t) = . y! = 3y + 3t con y(0) = 1, y(t) = ty con y(0) = 1, y(t) = = 2y con y(0) = Fh, w(t) = he! + te 2ty? con y(0) = 1, y(t) = 1/(1- #2) 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’ = f° + y?, y(0) = 1 en 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 tamaiio 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 método de Taylor de orden N = 3. (b) Use su programa del apartado (a) para resolver el problema de valor inicial y' = +y?, y(0) = Lenel intervalo [0, 0.8]. Determine las aproximaciones correspondientes a los tamaiios de paso h = 0.05, 0.025, 0.0125 y 0.00625 y dibuje dichas aproximaciones en una misma grfica. =e sirva para Hevar a cabo el 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 NN 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 cdlculo 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 N, de tal manera que el error global final sea del mismo orden O(h%) pero se evite la evaluacion 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 N, nosotros nos centraremos en el método de Runge-Kutta de 498 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS orden 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. Atn 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 precisién en la solucién aproxi- mada, entonces es mejor usar un tamajio de paso menor o un método adaptativo. El 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,41 de la siguiente manera: (1) Yer = yw + wiki + woke + wyks + wake, donde ky, ke, ks y ky son de la forma (2) hy = hf (tes Ye) ks key =f (te + ath, ye + bik), & = hf (te + aah, yn + bok + b3ka), hf (ty + agh, yn + baky + bsko + deka). 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: b =a, bz +b3 = a2, by +b5 + b5 = a3, w, + w2 + w3 +04 =1, wed, + w3az + W443 wai + w3a3 + wya3 = 3) ( wa} + wya3 + weal = wyarbs + w4(arbs + a2bg) = w3aa2b3 + 4a3(aibs + a2b6) = wsa2bs + wy (ads + 030g) = BR) RE mlraln aire 5 4 5 _ zl waa bgbe mn Este sistema tiene 11 ecuaciones con 13 incdgnitas, asi que debemos aiiadir dos SEC. 9.5 Los METODOS DE RUNGE-KUTTA 499 condiciones adicionales para resolverlo. La eleccién mas util resulta ser (4) _—— by = 0. Entonces los valores de la solucién para las demas variables son = i ba= 0, bs=0, bg = wenn Olenie 1 1 w= 5, w= 5, w= 5, WEE 1 = G Wea, ws 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 estandar: A partir del punto inicial (to, yo) se genera la sucesin de aproximaciones usando Ja formula recursiva hifi + 2fo + 2fs + fa) he (6) Yer =y é . donde Si = F(ths ye), faa (« + 1 mt a) , (7) 3 fa = f(th + hey + hfs). h=S(utbms ge), Algunos aspectos relevantes del método El desarrollo completo del método hasta que se obtienen las expresiones dadas en (7) esta més all 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 grafica de la solucién y = y(t) en el primer subintervalo [fo, ti}. Los valores de la funcién que se recogen en (7) son aproximaciones a valores de la derivada en algunos puntos de dicha grafica: El valor f, es la derivada en el extremo derecho del subintervalo, los valores f2 y fz son estimaciones de la derivada en el punto medio y fy es la derivada en el extremo derecho (véase la Figura 9.9(a)). El nuevo punto (t1, 71) se obtiene integrando la funcién derivada ty (8) y(ti) ~ y(to) = S(t, y(t) dt. to 500 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS = yt) (4, xt) mash, (tof) (af) a) (yf) ' 1 10 Nin t fo hin ry (a) Aproximaciones m, a la derivada (b) Aproximacién integral: eS h de la solucién y = y(t) _ 2+ 2h + 2h ef Figura 9.9 Las graficas y = y(t) y z = f(t,y(t)) que aparecen en el desarrollo del método de Runge-Kutta de orden N = 4. Si aplicamos aqui la regla de Simpson con incremento h/2, entonces la apro- ximacién a la integral de (8) que obtenemos es ty (9) : S(t, y(t)) dt = FCF (losylto)) + 4f (tra y(tij2)) + f(t, y(ti))), siendo t;/2 el punto medio del subintervalo. Necesitamos, entonces, tres valo- res de la funcién f, asi que hacemos las elecciones obvias f(to,y (to)) = fi ¥ f(ti,y(t1)) & fa, mientras que para el valor en el punto medio hacemos la media de fe y fs: F(trya.y(trj2)) a hth = fs Sustituyendo estos valores en (9) y dicha aproximacién a la integral en (8) obtenemos y) (10) nam+h (n+ Mesh ss) Simplificando esta férmula, obtenemos la ecuacién (6) con k = 0. En la Figura 9.9(b) se muestra la grdfica de la integral que aparece en (9). EC. 9.5 Los Mbropos pe Runce-KuTTa 501 Taman de paso frente a error El término del error de la regla de Simpson con incremento h/2 es (11) ye sRsy 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 u ne b-a (4), yg) diy 4 (22) “by (ce) 5855 © Bron OM © O(H'). k 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. $i y(t) € C5(to,0] y {(ti, Yc) } tL 9 es la sucesi6n de aproximaciones generada por el método de Runge- Kutta de orden 4, entonces leal = ly(te) — yx] = O(h*), lexsal = ly(tear) — ye — Tw (te, ya) = O(R*). (13) En particular, el error global final verifica (4) E(y(b), h) = [y(b) — yar| = 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 deberiamos tener (15) E(y(b),h) = Cht para el tamaiio de paso més grande y Ao (as) E(u). 5) % CFG = GoM © TGEWO.M 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 75. 502 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS Tabla 9.8 Comparacidn de las soluciones de y' = (t ~ y)/2 en [0,3] con y(0) = obtenidas con el método RK4 para diferentes tamaiios de paso. Ye (te) th h= a h=} hat Exacto 0 1.0 1.0 1.0 1.0 1.0 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 11045125 1.1036826 11036408 1.1036385 1.1036383 2.50 1.3595575 1.3595168 1.3595145 1.359514 3.00 1.6701860 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 parah=1,4,hy% En la Tabla 9.8 se muestran los valores de la solucién en algunas abscisas ¢s- cogidas. Para el tamaito de paso h = 0.25, un calculo tipico es el siguiente: RE 0126 ~ (1+ 025(0-5(-08) = -0.40625, fy = 08 ee) = -0.4121094, fe ey = ~0.3234863, yr = 1.0 +0.25 eee = 0.8974915. 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 tamatios de paso h = 1, La Days En la Tabla 9.9 se muestran los errores globales finales para los distintos tamaiios de paso; en ella podemos ver que el error de la aproximacién a y(3) decrece, mas 0 menos, en un factor 7 cuando el tamatio de paso se reduce a la mitad: E(y(3),h) = y(3) - yar = O(h*) © Ch* con C = 0.000614. . Src. 9.5 Los Miropos pg RuNGE-Kurra 503 Tabla 9.9 Relacidn entre el error global final y el tamamio de paso en las soluciones de y! = (t— y)/2 en [0,3] con y(0) = 1 obtenidas con el método RK4. Tamafo | Ntimero Error global O(n’) = Cht de paso, | de pasos, | Aproximacién final, con C= h M yar a y(3) y(3) = yt —0.000614 1 3 16701860 —0.0007955 —0.0006140 $ 6 1.6694308 —0.0000403 —0.0000384 + 12 1.6693928 —0.0000023 —0.0000024 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 precision del método de la serie de Taylor de orden N = 4”. En estos ejemplos, ambos métodos generan soluciones idénticas {(t,yx)} 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 tamafio de paso menor y comparar los resultados. Una tercera via es la determinacién adaptativa del tamaiio de paso, como se hace en el Programa 9.5. En la Seccién 9.6 veremos cémo se realiza el cambio de tamaiio 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 lamaremos RK2) simula la precision 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 ficiles 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): (a7) WEE A) = yt) + hy!) + SY Crh? +, donde Cr es una constante que incluye la derivada tercera de y(t) y los demas 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 ecuaci6n (17) en términos de f(t,y) ¥ de sus derivadas parciales: recordando que (18) y(t) = f(t) y derivando la igualdad (18) con respecto a ¢ usando la regla de la cadena para funciones de dos variables, obtenemos = filty) + fylt.wy'()- Esto podemos escribirlo, usando la igualdad (18), como (19) yl (t) = feltsy) + fult, f(t 9)- Sustituyendo las derivadas (18) y (19) en la expresién (17), obtenemos una nueva expresién del desarrollo de Taylor para y(t + h): y(t +h) = ult) + hy ltw) + SP fltey) (20) 1 +l holt F(ty) + Crh + En el método de Runge-Kutta de orden } se utiliza una combinacién lineal de dos funciones que nos permita expresar y(t +h): (21) wt +h) = y(t) + Ahfy + Bhfi, donde (22) fo = f(t.y), = f(t+ Phy + Qhfo)- 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- sentacidn de f, (23) fi = f(ty) + Phfilty) + Qhfylt,yf(t.y) + Crh? +, en la cual el coeficiente Cp incluye las derivadas parciales segundas de f(t, y)- Sustituyendo la expresién (23) en (21) obtenemos la representacién de y(t +h) que se usa en el método RK2: y(t +h) = y(t) + (A+ B)Af(t,y) + BPh? filt,y) 2 + BQH fy(t, y)f(t,y) + BCph? + SEc. 9.5 Los METODOS DE RUNGE: KUTTA 505 Comparando los términos correspondientes en las expresiones (20) y (24) legamos a las siguientes conclusiones: hf(t,y) =(A+B)hf(t,y) implica que 1 = A+B, 3 fultsy) = BPR fi(t.y) implica que ; = BP, Fh? fultsy)s(ty) = BOW Sy(t,y)s(y) implica ane 4 = BQ B, Py Q verifiquen las relaciones 1 1 BP=5 BQ= 5 Por consiguiente, si exigimos que / (25) A+B= entonces el método RK2 dado en (24) tendra el mismo orden de precisién que el método de Taylor dado en (20). Puesto que hay s6lo tres ecuaciones para cuatro incégnitas, el sistema de ecuaciones (25) esta 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 = }, lo que nos llevaa B =}, P=1y Q=1. Escribiendo Ia ecuacién (21) con estos pardmetros, nos queda la formula h (26) Fr y cuando usamos este esquema para generar la sucesin {(t,, yx)}, lo que obte- nemos es el método de Heun. Caso (ii): Elegimos A = 0, lo que nos llevaa B = 1, P=} y Q= 3. scribiendo la ecnacién (21) con estos pardmetros, nos queda la formula en) verny=wo+nr (t+ S420) 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 tamafio 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 precision no es atin la adecuada. 506 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS El método de Runge-Kutta-Fehlberg (que denotaremos RKF45) es una forma de resolver este problema ya que incluye un criterio para determinar en cada momento si estamos utilizando el tamajio de paso h apropiado. En cada paso se calculan dos aproximaciones distintas de la solucién y se com- paran: si los dos valores son suficientemente parecidos, entonces se acepta la aproximacién y, ademas, se aumenta el tamaiio de paso si coinciden en mas cifras significativas que las requeridas; mientras que si los valores no coinciden con la precisién especificada, entonces se reduce el tamaiio de paso. En cada paso se calculan los siguientes seis valores: ky = hf (tks x), b= (ut Panty ns), b= ng (te + Stan + Soh + gobo) (28) wens (nt Bim + OM gh + Sachs) nedtes vet Seah ~8 8kz +e ‘) wetr(ue an: Shi +k: — BB s+ toi :)- Entonces se calcula una aproximacién a la solucién del problema de valor inicial usando un método de Runge-Kutta de orden 4: 219 (29) Yeti = UK + oe donde se utilizan cuatro valores de la funcién: fi, fa, fry fs; hagamos notar que el valor fz no se emplea en la formula (29). Ahora se calcula una aproximacién mejor que (29) usando un método de Runge-Kutta de orden 5 6656 28,561 9, 2 16 (30) fuer = Ue + 35h + ay gos ks + 56.a308* — 50% * 55 6 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 1/4 (31) s= (ge) 7 0.84 (oa) 2lzn41 — yesil [een = yeti! siendo 7 la tolerancia especificada para controlar el error. La deduccién de la formula (31) puede hallarse en libros de texto avanzados de calculo numérico. Es importante aprender que el uso de un tamajio de paso SEC. 9.5 Los MéTopos DE RuNGE-KUTTA 507 Tabla 9.10 — Solucidn de y! = 1+”, y(0) = 0 obtenida por el método RKF45. Aproximacién RK45 y(t) exacta, Error k te Ye tan(tx) u(t) — x o | 00 0.000000 0.0000000 0.000000 1 | 02 0.2027100 0.2027100 0.0000000 2 | 04 0.4227933 0.4227931 ~0.0000002 3 | 06 0.6841376 0.6841368 —0.0000008 4 | 08 1.0296434 10296386 —0.0000048 5 | 10 1.5574398 1.577407 —0.0000321 6} 41 1.9648085 1.9647597 -0.0000488 7) 12 2.572408 2.5721516 ~0.0000892 8 | 13 3.6023295 3.6021024 ~0.0002271 9 | 1.35 44555714 44552218 —0.0003496 Ope gies 5.7985045 5.7978837 —0.0006208 fijo no es la mejor estrategia aunque proporcione mejor apariencia a una tabla de valores; si es necesario conocer e] 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. Ejemplo 9.12. Vamos a comparar las soluciones obtenidas con los métodos RKF45 y RK4 para el problema de valor inicial y=1+y con y(0)=0 en (0,14). Usando un programa para el método RKF45, con el valor 7 = 2 x 1078 para la tolerancia, se generan aproximaciones en 10 puntos que se muestran en la Tabla 9.10, donde podemos ver que el tamafio 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 e] extremo derecho del intervalo para los métodos RKF45 y RK4 son, respectivamente, y(1A) © io = 5.7985045 e —y(1A) © yng = 5.7919748 con errores Exo = —0.0006208 y £4 = 0.0059089. Puede observarse que ¢l 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 y(ty) exacta, Error k ty Ye tan(ti) (te) ~ Ye 0 | 00 0.000000 0.000000 0.000000 1 | 01 0.1003346 0.1003347 0.000001 |) 0 0.2027099 0.2027100 6.000001 3 | 03 0.3093360 0.3093362 0.000002 4} 04 0.427930 0.4227932 0.0000002 5 | 05 0.5463023 0.5463025 0.000002 6 | 06 0.6841368 0.6841368 0.0000000 7 | 07 0.842286 0.842884 —0.0000002 8 | 08 1.0296391 1.0296386 —0,0000005 9 | 09 1.2601588 1.2601582 0.000006 10 | 10 | 1.5574064 1.557407 0.0000013 ufo. 1.9647466 1,9647597 0.000131 ie le 2.5720718 2.5721516 0.0000798 io) jt 3.6015634 3.6021024 0.0005390 4 | 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,b] usando la formula h hr = yet Gh + 2ky + Bk + ka). function R=rk4(f,a,b,ya,M) % Datos h - f es la funcion, almacenada como una t cadena de caracteres ’f’ % - ay b son los extremos derecho e izquierdo % del intervalo % - ya es la condicién inicial y(a) h - M es el ntmero de pasos % Resultado h - R=(T’ Y’] siendo T el vector de las abscisas e h Y el vector de las ordenadas h=(b-a)/M; T=zeros(1,M+1); Sec. 9.5 Los MEropos DE RUNGE-KUTTA 509 Y=zeros(1,M+1); T=a:h:b; Y¥()=ya; for iM *feval(f,T(j),Y¥(j)); +feval (f,T(j)+h/2,¥(j)+k1/2) ; +feval (f ,T(j)+h/2,¥(j)+k2/2) ; *feval (f,T(j)+h,¥(j)+k3) 5 (j+4)=¥ Cj) + (e1+2#k2+2#k3+k4) /6 k k k. k Y end R=[T? Y?] 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 solucion del problema de valor inicial y’ = f(t,y) con y(a) = yo en [a,b] 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 h una cadena de caracteres ’f’ h - ay b son los extremos derecho e izquierdo h del intervalo % - ya es la condicion inicial y(a) h - Mes el ntimero de pasos h - tol es la tolerancia % Resultado h - R=[T? Y’] siendo T el vector de las abscisas e % 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; b4=1932/2197 ; c4=-7200/2197 ;d4=7296/2197 ; a5=1; 39/216 5c 45=3680/513; e5=-845/4104; a6=1/2 8/27 ;¢ 3544/2565 ; €6=1859/4104; 11/40;r1=1/360 ;r3-128/4275; r4=-2197/75240;r5+1/50; /55 ;n1=25/216 ;n3=1408/2565 ;n4=2197/4104 ;n5=-1/5; big=1e15; h=(b-a)/M; hmin=h/64; hmax=64*h; 510 Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS max1=200; -0 .00001+abs(b) ; while (T(j)br) h=b-T(j); end % CAlculo de las aproximaciones (28) y (29) kish*feval (f,T(j),¥(j)); y2=Y(j)+b2*k1 ; if bigbr) T(j+1)=b; else T(j+1)=T(j) +h; s=0.84*(tol*h/err)* (0.25); 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)) M=j+1; else js end end R=[T? Y7]; Ejercicios En los Ejercicios 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. Iculadas en (b) Compare la solucién exacta y(0.4) con las dos aproximaciones 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. y! = # —y con y(0) = 1, y(t) = -et +P — 2442 2. y! = 3y + 3¢ con y(0) = 1, y(t) = fe* —t- 3 3. y! = —ty con y(0) = 1, y(t) =e??? 4. y! = e~* — 2y con y(0) = 75, y(t) = Geen + te" 5. y' = 2ty? con y(0) = 1, y(t) = 1/(1- 2) 6. Pruebe que cuando se usa el método de Runge-Kutta de orden N = 4 para resolver el problema de valor inicial y/ = f(t) en [a,b] con y(a) = 0 el resultado es awe Hb) & Do (te) + 4F tesa) + Stes), i= 512) Cap. 9 ECUACIONES DIFERENCIALES ORDINARIAS. donde h = (b—a)/M, th = @+khY thy = a+ (+A) A, que es la aproximacién dada por la regla de Simpson (con incremento h/2) a la integral definida de f(t) en el intervalo [a, 8). 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 tamaiio de paso h, entonces y(b) © yn + Ch', pero si usamos un tamafio de paso 2h, entonces y(b) © yor + 16Ch4. Los términos que contienen Ch! pueden eliminarse para obtener una aproxi- macién mejorada a y(6): Gyn = Yor y(b) = — Pee 15 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: h yn | (6yn — yon)/15 1 | 16701860 5] 16694308 | ___ 3 | 16693928 | ___ = | 16693906 | _ Para los Ejercicios 8 y 9: el polinomio de Taylor de grado N = 2 de una funcién J (t,y) de dos variables t ¢ y desarrollado alrededor de (a,b) es P2(t,y) =f (a,b) + fula,)(t — a) + fy(a,)(y — ) fee(a, b)(t = a)? (a, b)(y - b? 2 + Sle + fy(a,sy(t~ ayty —6) + Lae 8. (a) Halle el 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). 9. (a) Determine el polinomio de Taylor de grado N = 2 de la funcién f(t,y) = (1+t-y)*/? desarrollado alrededor de (0,0). (b) Caleule P,(0.04, 0.08) y comparelo con f(0.04, 0.08). SEc. 9.5 Los METODOS DE RUNGE-KUTTA 513 Algoritmos y programas En los Problemas 1 a 5, resuelva la ecuacién diferencial usando el método de Runge- Kutta de orden (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 grafica. Indicacién. La matriz R que se obtiene como resultado en el Programa 9.4 contiene las coordenadas 2 ¢ y de las aproximaciones y la instruccién del paquete MATLAB plot (R(: ,1) ,R(: ,2)) producird un dibujo andlogo al de la Figura 9.6. Ly! = —y con y(0) =1, y(t) = et +P — 242 2. y’ = 3y + 3t con y(0) = 1, y(t 3. y/ 4, y! =e — 2y con y(0) = 4, 5. y/ = 2ty? con y(0) = 1, y(t) = 1/(L-#) En los Problemas 6 y 7, resuelva la ecuacién usando el método de Runge-Kutta- Fehlberg. (a) Use el Programa 9.5 con un tamaiio de paso inicial h = 0.1 y con una tolerancia r=1077. (b) Compare la solucién exacta y(b) con la aproximacién obtenida. (c) Dibuje las aproximaciones y la solucién en una misina gréfica. 6. y' = 9te*, y(0) = 0 en [0,3], y(t) = 3te* —e* +1 7. y' =2tan—"(t), y(0) = 0 en (0, 1, y(t) = 2t tan“ !(t) — In(1 + #?) 8. En una reaccié 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 t es la solucién del problema de valor inicial y=ka-y)(b-y) con y(0) =0, donde & es una constante positiva y @ y 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 h = 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~°4)/(7 — 5e~°4). Observe que el valor limite cuando t+ +00 es 50. . _Resolviendo un problema de valor inicial adecuado, haga una tabla de valores de la funci6n de distribucién normal f(t) definida por la integral: fa=3+ze[ edt para 0S 2 <3 7 SO Utilice en sus cdlculos el método de Runge-Kutta de orden N = 4 con h = Su solucién deberia coincidir con Jos valores que se muestran en la siguiente tabla. Observacidn. Esta es una manera bastante aceptable de generar una tabla de valores de la funcién de distribucién normal estandar. x | f(x) 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’ = t? + y?, y(0) = 1 en [0,0.8]. Se sabe que el valor de la solucién exacta en ¢ = 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 107. Considere la ecuacién integro-diferencial de primer orden: y! = 1.3y ~ 0.25y? — ooooty f y(n) dr. 0 (a) Use el método de Runge-Kutta de orden N = 4 con h = 0.2, el valor inicial y(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 Seccién 9.2). (b) Repita el apartado (a) usando como valores iniciales y(0) = 200 e y(0) = 300. (c) Dibuje las soluciones aproximadas calculadas en los apartados (a) y (b) sobre una misma grafica.

También podría gustarte

  • Datacion
    Datacion
    Documento1 página
    Datacion
    Lino Alex Huamanvilca
    Aún no hay calificaciones
  • Debe Contener Lo Siguiente
    Debe Contener Lo Siguiente
    Documento1 página
    Debe Contener Lo Siguiente
    Lino Alex Huamanvilca
    Aún no hay calificaciones
  • 2707
    2707
    Documento1 página
    2707
    Lino Alex Huamanvilca
    Aún no hay calificaciones
  • Open Up
    Open Up
    Documento1 página
    Open Up
    Lino Alex Huamanvilca
    Aún no hay calificaciones
  • Origen de La Vida
    Origen de La Vida
    Documento1 página
    Origen de La Vida
    Lino Alex Huamanvilca
    Aún no hay calificaciones