25.3 METODOS DE RUNGE-KUTTA 743
+k, + 2k, + 2%
bre tah ha +
ist (25.40)
donde
ky = flan yo) (25.400)
1 1
k= A(x + ght a) (25.406)
1 1
by = (21+ 5h 9 + hah (25.40)
ka = f(a) +A, yi + hh) (25.40d)
Observe que para las EDO que sélo son funcién de x, el método RK clasico de
cuarto orden es similar a la regla de Simpson 1/3. Ademés, el método RK de cuarto
orden tiene similitud con el procedimiento de Heun en cuanto a que las estimaciones
miltiples de la pendiente son desarrolladas para alcanzar una pendiente promedio
‘mejorada para el intervalo. Como se muestra en ia figura 25.15, cada una de las k repre-
senta una pendiente, La ecuacién (25.40) entonces representa un promedio ponderado
de éstas para llegar a la pendiente mejorada,
FIGURA 25.15
llusiacién gréfico de los pendientes estimadas, entre la que se cuenta el método RK de
cuatto orden,744
EJEMPLO 25.7
METODOS DE RUNGE-KUTTA
Método RK clasico de cuarto orden
Enunciado del problema. Use el método RK clisico de cuarto orden [véase ecuacién
(25.40)] para integrar a)
Hx, y) = —2x7 + 12x? ~ 202 + 8.5
‘mediante un tamafio de paso de h = 0.5 y una condieién inicial de y = 1 enx = 0; y 8)
fx, y) = 46 —0.5y
usando A = 0.5 con y(0) = 2 desdex = 0 hasta 0.5.
Solucién.
a) Se usa desde In ecuacién (25.40a) hasta la (25.40d) para caleular ky = 8.5, ky =
4.21875, ky = 4.21875 y ky = 1.25; las cuales se sustituyen en la ecuacién (25.40)
para obtener
1
90.5) = 1+ {zt 5 + 2(4.21875) + 2(4.21875) + 1.25] } 05
= 3.21875
Ia cual es exacta. Asi, como la solucién verdadera es de cuarto orden [véase ecua-
cién (PT7.16)], el método de cuarto orden da un resultado exacto.
4) Para este caso, la pendiente al inicio del intervalo se calcula como
ky = 0.2)
48 — 0.52)
Este valor se usa para calcular un valor de y y una pendiente en el punto medio,
¥(0.25) = 2+ 3(0.25) = 2.75
ka = f(0.25, 2.75) = 40829 — 0.5(2.75) = 3.510611
Esta pendiente a su vez se utiliza para calcular otro valor de y y otra pendiente en el
punto medio,
* y(0.25) = 2+ 3.510611(0.25) = 2.877653
ky = (0.25, 2.877653) = 4e°*29 _ 0.5(2.877653) = 3.446785
Después, esta pendiente se usard para calcular un valor de y y una pendiente al final
del intervalo,
y(O.5) = 2+ 3.071785(0.5) = 3.723392
ka = f(O.S, 3.723392) = 40°80 — 0,5(3.723392) = 4.105603
Por iiltimo, las cuatro estimaciones de la pendiente se combinan para obtener una
pendiente promedio. Esta tiltima es entonces usada para realizar la prediccién con-
cluyente al final del intervalo,25.3_ METODOS DE RUNGE-KUTTA ams
1
| o= gb + 2(3.510611) + 2(3.446785) + 4.105603] = 3.503399
y(0.5) = 2 + 3.503399(0.5) = 3.751669
L
a cual se compara de manera favorable con la solucién verdadera de 3.751521.
25.3.4 Métodos de Runge-Kutta de orden superior
Donde se requiere resultados mis exactos, es recomendable el método de Butcher (1964)
y el método RK de quinto orden:
(Th, + 32k; + 12k, + 32k, + Thadh (25.41)
(25.414)
1
st hah (25.416)
b= f(x + thy + thik + Leh 25.4lc)
flat ghoit ghht pe (25.6)
1 1
k= A(x + phy — hah + ht) (25.41d)
3 3 9
ks = A(x + Gh t jek + zit) (25.41e)
3 2 a 2 8
k= A(x thay = Ghiht Shah + hah hah 3st) 2541p)
Observe la similitud entre el método de Butcher y la regla de Boole en la tabla 21.2.
Estin disponibles las fSrmulas RK de orden superior como el método de Butcher, pero
en general, la ganancia en exactitud para métodos mayores de cuarto orden esta afectada
por el esfuerzo computacional y complejidad adicional.
EJEMPLO 25.8 Comparacién de los métodos de Runge-Kutta
Enunciado del problema. Use los métodos RK desde el primero hasta el quinto orden
| pera esaver
fla, y) = 4° —0.5y746
METODOS DE RUNGE-KUTTA
con y(0) = 2 desde x = O hasta x = 4 con varios tamafios de paso. Compare la exactitud
de los diferentes métodos con el resultado en x = 4 con base en la respuesta exacta
y(4) = 75.33896.
Solucién. Se realiza el célculo mediante los métodos de Euler, el no iterativo de Heun,
e1RK de tercer orden [véase ecuacién (25.39)], el RK clésico de cuarto orden y el RK de
Butcher de quinto orden. Los resultados se presentan en la figura 25.16, donde graficamos
el valor absoluto del error relativo porcentual contra el esfuerzo computacional. Esta
‘iltima cantidad es equivalente al mimero requerido de evaluaciones de la funcién para
obtener el resultado, como en
Esfuerzo =
" (£25.81)
h
donde n, = nimero de evaluaciones de la funcién involucradas en particular en el calcu-
Jo RK. Para érdenes < 4, nes igual al orden del método; sin embargo, observe que la
técnica de Butcher de quinto orden requiere seis evaluaciones de la funcién [véase
ecuaciénes (25.41a) a la (25.41))]. La cantidad (6 — a)/h es la integracién total del
intervalo dividida entre el tamafio de paso (es decir, es el mimero de aplicaciones de la
FIGURA 25.16
Comporacién del enor relative porceniual cont el esfuerzo computacional para los
métodos RK desde el primero hasia el quinto orden,25.3 _METODOS DE RUNGE-KUTTA 7A7
técnica RK para obtener resultado). Asi, como las evaluaciones de la funcién son con
frecuencia pasos consumidores de tiempo, la ecuacién (E25.8.1) proporciona una medi-
da burda del tiempo de ejecucién requerido para alcanzar la respuesta
La inspeccién de la figura 25.16 nos lleva a diferentes conclusiones: primero, los
métodos de otden superior alcanzan mayor exactitud para el mismo esfuerzo compu-
tacional; segundo, la ganancia en exactitud con el esfuerzo adicional tiende a disminuir
después de un punto. (Observe que las curvas primero caen con rapidez y después tien-
den a nivelarse.)
El ejemplo 25.9 y la figura 25.16 podrian llevamnos a la conclusin de que las técni-
cas RK de orden superior son siempre los métodos de preferencia. Sin embargo, otros
factores tales como el costo de programacién y los requerimientos de exactitud del pro-
blema deben ser considerados cuando se elija una técnica de solucion. Tales elementos
de juicio se exploraran con detalle en las aplicaciones de ingenieria en el capitulo 28 y en
el epilogo de la parte siete.
25.3.5 Algoritmos de cémputo para los métodos
de Runge-Kutta
Como con todos los métodos expuestos en este capitulo, las técnicas RK se ajustan muy
bien al algoritmo general delineado en la figura 25.7. La figura 25.17 presenta el
pseudocédigo para determinar la pendiente del método RK clasico de cuarto orden [véa-
se ecuacién (25.40)]. Las subrutinas que calculan las pendientes para todas las otras
versiones se pueden programar facilmente en forma similar.
FIGURA 25.17
Pseudocédigo pora determinar un solo paso del método RK de cuarto orden
SUB RK4 (x, y, h, yrew)
CALL Deriva(x,y, kl)
ym =y +k h/2
CALL Derive(x + h/2, ym, K2)
ym zy +k2-h/2
CALL Derive(x + h/2, ym, k5)
ye=y+k3-h
CALL Derive(x + h, ye, k4)
slope = (Kl + 2(k2 + kB) + k4Y/6
ynew = y+ slope -h
x=xth
END SUB748
25.4
EJEMPLO 25.9
|
METODOS DE RUNGE-KUTTA
SISTEMAS DE ECUACIONES
Muchos problemas practicos de ingenieria y ciencia requieren la solucién de un sistema
de ecuaciones diferenciales ordinarias simultineas més que una sola ecuacién. Tales
sistemas pueden representarse por lo general como
dy
dx
dy
= fC Ye Ys vo nd
Lr Ys Ya vee nd
an
Ge 7 Fa Ye Yass Ind
(25.42)
La solucién de tal sistema requiere de que se conozcan las n condiciones iniciales en el
valor inicial de x.
25. Método de Euler
Todos los métodos analizados en este capitulo para simples ecuaciones pueden extender-
se al sistema que se mostré antes. Aplicaciones en la ingenieria pueden involucrar miles
de ecuaciones simultineas. En este caso, el procedimiento para resolver un sistema de
ecuaciones simplemente involucra aplicar la técnica de un paso para cada ecuacién en
cada paso antes de proceder con el siguiente. Esto se ilustra mejor con el siguiente ejem-
plo para el método de Euler simple.
Resoluci6n de sistemas de EDO mediante el método de Euler
Enunciado del problema. Resuelva el siguiente conjunto de ecuaciones diferenciales
usando el método de Euler, suponiendo que x = 0, y, = 4y yy = 6. Integre para x = 2
con un tamafio de paso de 0.5.
ay, dy
Bia 05, GP =4-03y-O1y:
Solucién. Se implementa el método de Euler para cada variable como en la ecuacién
(25.2)
(0.5) = 4+ [-0.5(4)]0.5 =
y2(0.5) = 6 + [4 — 0.3(6) — 0.1(4)]0.5 = 6.9
Observe que y;(0) = 4 se usa en la segunda ecuacién mas que la y,(0.5) = 3 calculada
con la primera ecuacién. Al proceder de manera similar se tiene25.4 _SISTEMAS DE ECUACIONES: 749
x n Ya
° 4 6
0.5 3 69
10 2.25 7715
15 1.6875 8.44525
20 1.265625 9.098087
EJEMPLO 25.10
25.4.2 Métodos de Runge-Kutta
Observe que cualquiera de los métodos RK de orden superior expuestos en este capitulo
se pueden aplicar a sistemas de ecuaciones. Sin embargo, debe tenerse cuidado al deter-
minar las pendientes, La figura 25.15 es itil para visualizar la forma adecuada de hacer
esto para el método de cuarto orden. Es decir, desarrollamos primero las pendientes pra
todas las variables en el valor inicial. Esas pendientes (un conjunto de las k,) se usardn
entonces para hacer predicciones de la variable dependiente en el punto medio de! inter-
valo. Dichos valores de punto medio se utilizan, a su vez, para calcular un conjunto de
pendientes en el punto medio (as &,). Esas nuevas pendientes se toman como punto de
inicio para hacer otro conjunto de predicciones de punto medio que arriben a nuevas
predicciones de pendiente en el punto medio (las k;). Estas después se emplearén con el
fin de hacer predicciones al final del intervalo y serin usadas para desarrollar pendientes
al final del intervalo (las k,). Por iltimo, las k se combinan en un conjunto de funciones
incremento (como en Ja ecuacién (25.40)] y son Ilevadas de nuevo al inicio para hacer la
prediccién final. El siguiente ejemplo ilustra el procedimiento.
Resolucién de sistemas de EDO mediante el método RK de cuarto orden
Enunciado del problema. Use el método RK de cuarto orden para resolver las EDO.
del ejemplo 25.9.
Soluc
Primero, debemos ‘resolver para todas las pendientes al inicio del intervalo:
ku = f(0, 4, 6) = -0.5(4) = -2
kya = f(0, 4,6) = 4 -0.3(6) - 0.1(4) = 1.8
donde k, es el i-ésimo valor de k para la j-ésima variable dependiente, Después, debe-~
‘mos calcular los primeros valores de y, y y2 en el punto medio:
A
nthag dt (-2
h
vit hay = 64 (18
los cuales se usarin para calcular el primer conjunto de pendientes de punto medio,
ko. = f(0.25, 3.5, 6.45) =
ka2 = (0.25, 3.5, 6.45) = 1.750
METODOS DE RUNGE-KUTTA
Estos se usan para determinar el segundo conjunto de predicciones de punto medio,
yu that 441 15)93 3.5625
h 05
yat hers = 6+ (1.715) = 6.42875
el cual seré utilizado para calcular el segundo conjunto de pendientes de punto medio,
ky = f(0.25, 3.5625, 6.42875) = 1.78125
ks2 = f(0.25, 3.5625, 6.42875) = 1.715125
Estos se utilizarn para determinar las predicciones al final del intervalo
3.109375
857563
yy ky th = 4+ (1.78125)0.5
Yat ky gh = 6 + (1.715125)(0.5) =
Jos cuales seran usados para calcular las pendientes al final de! intervalo,
4.1 = f(0.5, 3.109375, 6.857563) = —1.554688
a2 = f(0.5, 3.109375. 6.857563) = 1.631794
Los valores de k se pueden entonces usar para calcular [véase ecuacién (25.40)]:
yi(0.5) = 4+ B-242-1 75 = 1.78125) ~ 1.554688}0.5 = 3.115234
92(0.5) = 6 + gus 420.715 + 1.715125) + 1.631794}0.5 = 6.857670
‘Al proceder en forma similar para los pasos restantes, se obtiene
x n Ya
° 4 6
os 3.115234 6.857670
10 2.426171 7.632106
ws 1.889523 8.326886
2.0 1.471577 8.946865
25.4.3 Algoritmo de computo para resolver
sistemas de EDO
El eédigo de cémputo para resolver una simple EDO con el método de Euler (véase
figura 25.7) puede facilmente extenderse a sistemas de ecuaciones. Las modificaciones
incluyen:EJEMPLO 25.11
25.4 _ SISTEMAS DE ECUACIONES 751
1. _Introducir el niimero de ecuaciones, n.
Integrar los valores iniciales para cada una de las n variables dependientes.
3. Modificar el algoritmo de tal manera que calcule las pendientes para cada una de las
variables dependientes,
4, Incluir ecuaciones adicionales con el fin de calcular valores de las derivadas para
cada una de las EDO.
5. Incluir ciclos con el propésito de calcular un nuevo valor para cada variable depen-
diente. :
Tal algoritmo se bosqueja en la figura 25.18 para el método RK de cuarto orden.
‘Observe cémo es similar en estructura y organizacién ala figura 25.7. La mayoria de las
diferencias se relacionan con el hecho de que 1) trata con 7 ecuaciones y 2) el detalle
adicional del método RK de cuarto orden.
Resolucién de sistemas de EDO con la computadora
Enunciado del problema. En el software TOOLKIT de métodos numéricos asociado
con el texto, se tiene un programa de cémputo de uso amigable para implementar el
método RK de cuarto orden a sistemas. Este software es conveniente para comparar
diferentes modelos de un sistema fisico. Por ejemplo, un modelo lineal para un péndulo
oscilante esta dado por {recuerde la ecuacién (PT7.11)]
=y Bei
n = yt
donde y; y yz = desplazamiento angular y velocidad. Un modelo no lineal del mismo
sistema es [recuerde la ecuacién (PT7.9)]
ayy 4
ax Ix
-16.1 sen ys)
donde y; y y4 = desplazamiento angular y velocidad para el caso no lineal, Use el
TOOLKIT de métodos numéricos para resolver estos sistemas en dos casos: a) un pe-
queiio desplazamiento inicial (y, = y = 0.1 radianes; y) = y, = 0) yd) un gran despla-
zamiento (y, = y; = 7/4 = 0.785398 radianes; y, = y, = 0).
Solucién. Presione el botén Solve de las EDO en el ment principal del TOOLKIT para
tener una pantalla similar a la figura 25.19a. Dicha pantalla contiene espacios para la
‘entrada y salida de informacién asociada con la solucién de hasta S EDO simulténeas de
primer orden.
@) Introduzca los valores apropiados para Start X (inicio de X), Finish X (termina X),
Step Size (tamaiio de paso), Output Interval (intervalo de salida) y los pardmetros
para la grafica como se muestra en la figura 25.19a. Introduzca las ecuaciones y
valores iniciales y después haga clic sobre el botén Cale. Después haga clic en las
cuatro variables que quiera desplegar en la parte superior de la grifica (Y1 ,¥2,Y3
y Y4) y haga clic en el botén Plot. Los resultados calculados para los modelos linealPROBLEMAS 761
paso de 0.5 y una € = 0.00005. Los resultados se superponen en la figura 25.235. Obser-
ve cémo se toman grandes pasos en las regiones de cambio gradual. Después, en la
vecindad dex = 2 disminuyen los pasos para tomar en cuenta la naturaleza abrupta de la
funcién forzada,
La utilidad de un esquema de integracién adaptativo obviamente depende de la na-
turaleza de las funciones que habrin de modelarse. Es en particular ventajoso para aque-
las soluciones con grandes tramos uniformes y con regiones cortas de cambio abrupto.
Ademis, tiene utilidad en aquellas situaciones donde no se conoce de anfemano el tama-
fio correcto de paso. Para esos casos, la rutina adaptativa “sentiré” su camino para la
solucién mientras mantiene los resultados dentro de la tolerancia deseada. Asi, andard
lento por regiones de cambio abrupto y aceleraré el paso cuando las variaciones sean
mis graduales,
PROBLEMAS
25.1 Resuelva el siguiente problema de valor inicial de manera
a para el intervalo que va de x = 0.2:
4 a
Bayt 12,
a~” >
donde y(0) = 1. Grafique la solucién,
25.2 Use el método de Euler con h = 0.5 y 0.25 para resolver el
problema 25.1. Grafique los resultados sobre la misma gréfica
para comparar visualmente la exactitud de los dos tamafos de
aso.
25.3 Use el método de Heun con h = 0.5 para resolver el proble-
‘ma 25.1. Itere el corrector con , = 1%.
25.4 Use el método de punto medio con
resolver el problema 25.1.
25.5Use el método clasico RK de cuarto orden con h = 0.5 para
resolver el problema 25.1.
25.6 Repita los problemas del 25.1 al 25.5, pero ahora para el
siguiente problema de valor inicial sobre el intervalo que va de x
=0al:
= 05 y 025 para
2 Lato
(0) = 1
7 (0)
25.7 Use los métodos a) de Euler yb) de Heun (sin iteracién)
para resolver
ay
oo tty =0
aaotty
donde y(0) = 2 y y'(0) = 0, Resuelva desde x = 0 hasta 4 me-
diante h = 0.1. Compare ios métodos al graficar las soluciones.
25.8Resuelva el siguiente problema con el método RK de cuar-
tocorden:
PY 95d?
1 sos ery=
Ga tosZ +1y=0
donde y(0) = 4 y y(0) = 0. Resuelva desde x = Ohasta S.con h
= 0.5. Grafique sus resultados.
25.9 Resuelva desde 1 = 0 hasta 3 con h = 0.1 usando a) el
método Heun (sin corrector) y 8) el método RK de segundo or-
den o de Ralston:
Yay sen) (0) =1
dt
28.10 Resuelva el siguiente problema en forma numérica desde ¢
= Ohasta 3:
4)
grt
Use el método RK de tercer orden con un tamafio de paso de 0.5,
28.11 Use el método a) de Euler y 5) e! método RK de cuarto
orden para resolver
90) =1
D = -2y+5e*
sobre el rango que va dex = 0 a I mediante un tamafio de paso
de 0.2 con y(0) = 2y 20) = 4.762 METODOS DE RUNGE-KUTTA,
25,12 Calcule el primer paso del ejemplo 25.14 usando el méto-
do adaptativo RK de cuarto orden con h = 0.5. Verifique si el
ajuste paso-tamaiio.es el correcto,
25.13 Si é = 0.001, determine si se requiere un ajuste en el ta-
‘mafio de paso para el ejemplo 25.12.
25.14 Use el procedimiento RK-Fehlberg para realizar el mismo
célculo que en el ejemplo 25.12 desde x = Ohasta I con h = 1.
28.18 Escriba un programa en computadora con base en la figu-
Fa 25.7. Entre otras cosas, inserte comentarios para la documen-
tacién del programa con el fin de identificar lo que en cada seccién
se intenta realizar
25.16 Pruebe el programa que usted desarrollé en el problema
25.15 con los mismos céleulos por realizar de los ejemplos 25.1
y254.
25.17 Desarrolle un programa de uso amigable para el método
dde Heun con un corrector iterativo, Pruebe el programa usando
Jos resultados de la tabla 25.2.
2.18 Desarrolle un programa de cmputo de uso amigable para
el método clisico RK de cuarto orden. Pruebe el programa con
Jos mismos célculos por realizar del ejemplo 25.7 y del proble-
ma 25:
25.19 Desarrolle un programa de cémputo de uso amigable para
sistemas de ecuaciones mediante el uso del método RK de cuar-
to orden, Use este programa con los mismos célculos por reali-
zar del ejemplo 25.10.