Documentos de Académico
Documentos de Profesional
Documentos de Cultura
6.1. Introducción
En muchos problemas de ciencia e ingeniería se plantean ecuaciones diferenciales
ordinarias (EDO). Por ejemplo, y f x, y con la condición inicial y a c . No
siempre es factible hallar una solución analítica de tales ecuaciones. En este capítulo se
revisan procedimientos numéricos de solución de EDO basados en la aproximación de
los operadores de derivación por diferencias finitas. Tales procedimientos son también
aplicables cuando se tienen sistemas de ecuaciones diferenciales de primer orden, como
por ejemplo:
y f t , y (6.1)
e incluso ecuaciones de orden superior: y f x, y , y , y , que con algunos cambios
de variables pueden siempre convertirse en un sistema de ecuaciones diferenciales de
primer orden. Así:
y x 2 y z 2 y 0 0 y 0 1
con condiciones iniciales y
z x z y 3 z 0 1 z 0 0
es equivalente a:
u x 2 u z 2 y 0 0
v x v y 3 z 0 1
con condiciones iniciales:
y u u 0 1
z v v0 0
Este es el método más simple para resolver EDO de primer orden y f ( x, y ) con
condición inicial y (a) c . El intervalo entre a y b se divide en sub-intervalos,
habitualmente iguales, de longitud h , de modo que x n a n h . Haciendo y 0 c se
determinan sucesivamente y1 y 2 y 3 y 4 que son aproximaciones a los valores exactos
y ( x1 ) y ( x 2 ) y ( x3 ) y ( x 4 ) Para ello y ( x i ) se aproxima por y i h y i 1 y i h , de
donde resulta la fórmula de recursión:
y i 1 y i h f x i , y i (6.2)
Supóngase que: y y con condición inicial y (0) 1 . La solución exacta en este caso
es conocida: y e x . Empleando el método de Euler: y i 1 y i h y i 1 h y i . Con
dos distintos intervalos h 0.2 y h 0.1 se obtienen:
En un análisis más detallado se observa que el error de truncación local, es decir el error
2
introducido en cada paso, es de O h . Sin embargo, como el número de pasos que se
realizan para integrar la EDO en un intervalo dado es inversamente proporcional a h , el
error global o total es de O h .
y ( x) 2 y ( x, h) y ( x,2h) O h 2
Esta expresión sería correcta para una extrapolación pasiva, es decir la que se hace
para mejorar algunos resultados finales y típicamente no en cada paso. En cambio, una
extrapolación activa, sería aquella que se realiza en cada paso, utilizándose los valores
así mejorados en los sucesivos pasos del proceso. En ciertos casos la extrapolación
pasiva puede ser más conveniente, por ser numéricamente más estable. Para el
ejemplo anterior, con extrapolación pasiva se obtiene:
n 1 n ( y n 1 y n ) ( y ( x n 1 ) y ( x n ))
y ( xn1 ) y ( xn ) h y ( xn ) 12 h 2 y ( xn )
Se tiene que:
y ( x n 1 ) y ( x n ) h f ( x n , y ( x n )) O h 2
Remplazando en la primera expresión:
n 1 n h f ( x n , y n ) f ( x n , y ( x n )) O h 2
f
Pero: f ( x n , y n ) f ( x n , y ( x n )) ( y n y ( x n ))
y x xn
y y ( xn )
De donde:
f
n 1 n 1 h
y x xn
y
f
Si h es suficientemente pequeño y es negativa el método de Euler es adecuado.
y x xn
y
k xk y( xk ) yk k
0 0 0 0 0
1 0.01 0.0001 0 -0.0001
2 0.02 0.0004 0.0012 0.0008
3 0.03 0.0009 -0.0064 -0.0073
4 0.04 0.0016 0.0672 0.0656
5 0.05 0.0025 -0.5880 -0.5905
Estos métodos son, como el método de Euler, de paso simple. Es decir, sólo se requiere
conocer y n para determinar y n 1 . Las fórmulas de Runge – Kutta requieren evaluar
f ( x, y ) en diversos puntos apropiadamente ubicados en el intervalo xn , xn 1 xn h ,
ponderándose los resultados de modo de obtener un error de truncación del mayor orden
posible.
yˆ y n h f ( x n , y n )
y n 1 y n h f ( x n , y n ) h f ( x n h, yˆ ) (6.3)
Siendo
f ( x n h, yˆ ) f ( x n , y n ) h
f
x x xn
( yˆ y n )
f
y x xn
O h2
y yn y yn
yˆ y n h f ( x n , y n )
y n 1 y n
h
f ( xn , y n ) f ( xn h, yˆ ) (6.4b)
2
Puede anotarse que si f no fuera función de y este método equivale a evaluar la
integral:
xn 1
y n 1 y n xn
y ( x) dx
El método de Ralston (1962) es, entre los métodos de RK de segundo orden global, el
que tiene el menor coeficiente en el término dominante del error de truncación:
k1 f x n , y n
k 2 f x n 34 h, y n 34 k1 h (6.4c)
y n 1 y n h k1 k 2
1
3
2
3
4
Análogamente, pueden obtenerse fórmulas con un error de truncación local de O h y
global de O h : 3
k1 f x n , y n
k 2 f x n 12 h, y n 12 k1 h
k 3 f x n h, y n k 1 h 2 k 2 h (6.5a)
y n 1 y n 16 h k1 4k 2 k 3
o bien:
k1 f x n , y n
k 2 f x n 13 h, y n 13 k1 h
k 3 f x n 23 h, y n 23 k 2 h (6.5b)
y n 1 y n 14 h k1 3 k 3
f ( xn ) 4 f ( xn 12 h) f ( xn h)
xn 1
h
y n 1 y n y ( x) dx
xn 6
Como ejemplo de aplicación de este método, considérese la ecuación diferencial:
1
y ( x y) 2
con condición inicial y(0.4) 0.41 . Trabajando con h 0.4 , las operaciones en un paso
serían:
k1 f x n , y n ( x n y n ) 2 (0.4 0.41) 2 0.9
1 1
Muchos otros métodos de Runge Kutta son posibles. Véase por ejemplo Ralston y
Rabinowitz (1978).
1
solución exacta y x (1 x) con las soluciones obtenidas para la ecuación
diferencial empleando los métodos de Euler, Runge-Kutta de segundo orden y Runge-
Kutta de cuarto orden, con intervalos h / 4 , h / 2 y h 0.5 , respectivamente.
18.00 17.941176 17.942413 17.941062 17.940983 17.941176
18.50 18.442857 18.444036 18.442749 18.442674 18.442856
19.00 18.944444 18.945569 18.944342 18.944271 18.944444
19.50 19.445946 19.447021 19.445849 19.445782 19.445945
20.00 19.947368 19.948397 19.947276 19.947213 19.947368
tolerancia p 1
h nuevo 0.8 h previo
error relativo
El error de truncación local puede estimarse mejor comparando los resultados obtenidos
con dos métodos de distinto orden. Con tal fin, se han propuesto métodos "adaptivos" en
los que se aprovechan los cómputos parciales al usar un proceso de orden m para
determinar también los resultados correspondientes a un método de orden m 1 . Una
combinación simple podría ser la cualquiera de los métodos de RK de segundo orden
con el método de Euler, pero hay alternativas más precisas y eficientes.
k1 f xn , yn
k 2 f xn 12 h, yn 12 k1h (6.7a)
k3 f xn h, yn k 2 h
3
4
3
4
~
Donde y es una aproximación de segundo orden global (a pesar que se obtiene con
cuatro evaluaciones de f ) que se puede comparar con y n1 para estimar
conservadoramente el error de truncación:
en1 y n1 ~
y 1
72
h 5k1 6k 2 8k3 9k 4
Nótese además que el valor k 4 obtenido en un paso es igual al k1 del paso siguiente,
por lo que realmente solo se requieren tres evaluaciones de f en cada paso. En inglés
se dice que es un proceso FSAL (First Same As Last).
Este es también un método FSAL, que combina expresiones de cuarto y de quinto orden
global, implementado en la función ode45 de Matlab (y es el proceso por defecto en
Simulink). Se usan las expresiones:
k1 f x n , y n
k 2 f x n 15 h, y n 15 k1 h
k3 f x n 103 h, y n h( 403 k1 9
40
k2 )
k4 f x n 54 h, y n h( 44 k 15
45 1
56
k2 32
9
k3 ) (6.8a)
k5 f x n 89 h, y n h( 19372 k
6561 1
25360
2187
k2 64448
6561
k3 212
729
k4 )
k6 f x n h, y n h( 9017 k
3168 1
355
33
k2 46732
5247
k 3 176
49
k 4 18656
5103
k5 )
Con lo que se obtiene la aproximación de quinto orden global:
y n1 y n h 35
384
k1 1113
500
k 3 192
125
k 4 2187 k 84
6784 5
11
k6 (6.8b)
Luego se evalúan:
k 7 f x n h, y n 1
~
y y h 5179 k
n 57600 1
7571
16695
k3 393
640
k 4 339200
92097
k5 187
2100
k6 1
40
k7 (6.8c)
en1 yn1 ~
y h 71
k
57600 1
16695
71
k3 1920
71
k4 339200
17253
k5 525
22
k6 40
1
k7
Este método combina expresiones de cuarto y quinto orden global, requiriendo también
seis evaluaciones de f en cada paso:
k1 f x n , y n
k 2 f x n 14 h, y n 14 k1 h
k 3 f x n 83 h, y n h( 323 k1 9
32
k2 )
k4 f x n 12
13
h, y n h( 1932 k
2197 1
7200
2197
k2 7296
2197
k3 ) (6.9a)
k5 f x n h, y n h( 439 k 8k 2
216 1
3680
513
k3 845
4104
k4 )
k6 f x n 12 h, y n h( 278 k1 2k 2 3544
2565
k3 1859
4104
k4 11
40
k5 )
Con lo que se obtienen las aproximaciones de cuarto orden global:
~
y yn h 25
216
k1 1408 k
2565 3
2197
4104
k 4 15 k 5 (6.9b)
y n1 y n h 16
135
k1 12825
6656
k 3 56430
28561
k 4 50
9
k 5 552 k 6 (6.9c)
y en tal caso:
en1 yn1 ~
y h 1
k
360 1
4275
128
k3 75240
2197
k4 50
1
k5 552 k6
k 5 f x n h, y n 11 k h 52 k 2 h
54 1
70
27
k3h 35
27
k 4 h
k 6 f x n 78 h, y n 1631
55296
k1 h 175 k h 13824
512 2
575
k 3 h 110592
44275
k4h 253
4096
k5 h
y n 1 y n 1 2 h f ( x n , y n ) (6.11)
Este es el método explícito del punto medio (en inglés conocido como leapfrog), un
método de doble paso, puesto que la expresión para obtener y n 1 requiere y n 1 e y n .
Algunas ventajas y desventajas de los métodos de pasos múltiples con relación a los
métodos de un solo paso pueden citarse:
Entre los métodos de paso múltiple que se encuentran en la literatura están los métodos
explícitos de Adams – Bashfort:
y n 1 y n h (1 f n 2 f n 1 3 f n 2 k 1 f n k )
Por otro lado, pueden escribirse expansiones en series de Taylor, obteniéndose las
por identificación de coeficientes. Así, para la expresión explícita con k 1 :
y n 1 y n h (1 f n 2 f n 1 )
y ( x n h) y ( x n ) h (1 y ( x n ) 2 y ( x n h))
y ( x n h) y ( x n ) h 1 y ( x n )
h 2 y ( xn ) h y ( xn ) 12 h 2 y ( xn )
y ( x n h) y ( x n ) h (1 2 ) y ( x n ) h 2 ( 2 ) y ( x n ) O h 3
Comparando con: y( xn h) y( xn ) h y ( xn ) 12 h 2 y ( xn ) O h 3
Se tiene que: 1 2 1 y 2 12 , de donde: 1 3
2
y 2 12 , es decir:
h
y n1 y n ( 3 f n f n1 )
2
Algunos resultados similares se listan a continuación. El error de truncación local es de
O h k 1 y el global de O h k :
Métodos de Adams – Bashfort (explícitos): (6.12)
k y n 1 y n h (1 f n 2 f n 1 3 f n 2 k 1 f n k )
1 y n 1 y n h f n Euler
2 y n 1 y n 12 h ( 3 f n f n 1 )
k y n 1 y n h ( 0 f n 1 1 f n 2 f n 1 3 f n 2 k f n k 1 )
1 y n 1 y n h f n 1 Euler inverso
2 y n1 y n h ( f n1 f n )
1
2
Crank Nicholson
(regla trapezoidal)
3 y n1 y n 121 h ( 5 f n1 8 f n f n1 )
Esta es una familia de métodos implícitos de paso múltiple para resolver EDO de la
forma y f ( x, y ) . Las expresiones se obtienen de aproximar y (x) interpolando
y n y n 1 y n s mediante un polinomio p (x ) y sustituir y por p para obtener
p ( x n s ) f ( x n s , y n s ) . Son métodos usados en las funciones ode15s, ode23tb y
ode15i de Matlab.
2 x 3h 2 x 2h 2x h
p ( x) 2
yn 2
y n 1 y n2
2h h 2h 2
Y en la abscisa x n 2 2h :
O bien:
y n 2 43 y n1 13 y n 23 h f xne , y n 2
1 y n 1 y n h f n 1
4 y n4 48 y 36
25 n3
y 16
25 n 2
y 253 y n 12
25 n1 25
h f n4
5 y n5 137
300
y n4 137
300
y n3 137
200
y n2 137
75
y n1 137
12
y n 137
60
h f n 5
6 y n6 147
360
y n5 147
450
y n4 147
400
y n3 147
225
y n2 147
72
y n1 147
10
y n 147
60
h f n 5
El error de truncación de una fórmula implícita de paso múltiple es siempre menor que el
error del correspondiente proceso explícito del mismo orden. Excepto en el caso trivial
en que la función f ( x, y ) es lineal, la solución de la(s) ecuación(es) que definen el
proceso implícito requiere iterar. Con tal fin, se utiliza como primera aproximación el
resultado obtenido con la fórmula explícita (predictor). Esta aproximación se refina
utilizando repetidamente la correspondiente fórmula implícita (que en este contexto se
denomina corrector). Por ejemplo:
y n( 0)1 y n h f ( x n , y n )
y n(i11) y n h f ( x n 1 , y n(i)1 )
y 2( 0) y1 0.05 3 x1 ( y1 ) 2 x0 ( y 0 ) 2
1.980 198 0.05 0.3 (1.980 198 ) 2 0 1.921 380
y luego con el corrector (en este caso la regla trapezoidal, también conocida como
método de Crank Nicholson):
y n 1 y n 12 h ( f n 1 f n )
se tiene:
y 2(1) y1 0.05 x 2 ( y 2( 0) ) 2 x1 ( y1 ) 2
1.980 198 0.05 0.2 (1.921 380 ) 2 0.1 (1.980 198 ) 2 1.923 675
Y en forma similar:
y 2( 2) 1.923 587
y 2(3) 1.923 590
y 2( 4) 1.923 590
La solución exacta es y 2 (1 x ) , de
2
El proceso es en este caso convergente.
donde y (0.2) 1.923 077
h2
y ( x h) y ( x) h y ( x) y ( x)
2
se remplaza por:
y n 1 y n h f ( x n , y n )
teniéndose entonces un error de orden h 2 . A esto deben agregarse los errores debidos
a la aritmética imperfecta del ordenador. Evidentemente no es posible determinar estos
errores, pero si pueden hacerse algunas estimaciones.
Al emplear un método numérico para resolver EDO, se espera que éste sea
convergente, lo que significa que al trabajar con intervalos, h , cada vez más pequeños,
las soluciones deben aproximar cada vez mejor a la solución exacta. Para que el
procedimiento numérico sea convergente debe ser consistente y estable.
Alternativamente, podría decirse que un método es estable si, para condiciones iniciales
típicas y siempre que los errores de truncación y de redondeo sean pequeños, se tiene
convergencia.
i xi y xi yi ei y i y x i
2.0
1.5
1.0
0.5
y(x)
0.0
0 2 4 6 8 10 x
12
-0.5
-1.0
-1.5
-2.0
r2 1 2 r
1
r1 1 2 2
1 12 2 O 4
1
r2
r1
e 1 12 2 16 3 O 4
se concluye que:
r1 e 16 3 O 4
r1n e n e n h e xn
y en consecuencia:
C 2 e 0.1 r1 r 2 r1 7.469 947 10 5
Nótese que este resultado es similar al error observado para x 10 . Por otro lado, aún
cuando inicialmente se tuviera C 2 0 , los errores numéricos introducirían la
componente extraña. El factor 1 explica la alternancia de signos del error.
n
Para h 0 se requiere que una de las raíces sea igual a 1 (esto es un requisito para
que el método sea consistente). Sin embargo, si dos o más raíces tienen módulo igual a
1 el método es débilmente estable y con frecuencia tiene problemas numéricos. Si el
método es estable para todo Re h 0 se dice que es A-estable.
Puede concluirse que el método de Euler es apropiado para integrar ecuaciones cuya
solución es exponencialmente decreciente ( 0 ), pero no para el caso en que la
solución es oscilatoria y no amortiguada ( imaginaria pura).
Todos los procesos de Runge Kutta del mismo orden tienen la misma región de
estabilidad absoluta. Por ejemplo, considérese un proceso de segundo orden, método
de Heun, también llamado Euler modificado:
yˆ y n h f x n , y n
y n 1 y n
h
f xn , y n f xn1 , yˆ
2
que aplicado a la ecuación y y resulta:
yˆ y n h y n 1 h y n
y n 1 y n
h
2
y n y n h y n 1 h 1
2
h2 y n
y por lo tanto : r 1 h 1
2
h2 .
La condición de estabilidad r 1 es
satisfecha por todos los puntos dentro del
elipsoide que se muestra en la figura. Otros
métodos de Runge Kutta de segundo orden,
como el método del punto medio o el método
de Ralston, tienen exactamente la misma
ecuación característica y por lo tanto la misma
región de estabilidad absoluta.
k1 h y n
k 2 h 1 12 h y n
k 3 h 1 12 h h y1
4
2
n
h 1 h h h y
1 2 1 3
k4 2 4 n
Y resulta:
La expresión es la misma para cualquier otro método de Runge Kutta de cuarto orden
(global): La región de estabilidad absoluta es aquella dentro del límite indicado en la
figura siguiente:
Las mismas ideas pueden también aplicarse a métodos de pasos múltiples. Por
ejemplo, para la regla explícita del punto medio, a la que se hizo referencia al inicio de
esta sección:
y n 1 y n 1 2 h f x n , y n y n 1 2 h y n
1
r h 1 h
2 2
y n 1 y n 12 h f x n , y n f x n 1 , y n 1
y n 1 y n 12 h y n y n 1
de donde:
1 12 h r 1 12 h
1 12 h
y por lo tanto se requiere que: r 1 , es decir Re h 0 . Es A-estable.
1 12 h
En cambio, todos los procesos explícitos de pasos múltiples y los procesos implícitos de
orden mayor que 2 no son A-estables. Por ejemplo, el correspondiente método explícito
de Adams-Bashfort de O h 2 global no es A-estable. El método se define por:
y para y y se tiene:
y n1 y n 12 h 3 y n y n1
cuya ecuación característica es:
r 2 1 32 h r 12 h 0
u 2 u f (t )
Con condiciones iniciales u (0) u 0 y u (0) 0 . Considerando v (t ) u (t ) se
convierte la ecuación diferencial de segundo orden en un sistema de dos ecuaciones
diferenciales de primer orden:
u v
v f (t ) 2 u
En forma matricial:
u 0 1 u 0 u (0) u 0
v
2
0 v f (t ) v(0) 0
Estas ecuaciones pueden integrarse directamente, pero puede alternativamente
considerarse la descomposición modal (ver acápite 6.4.2):
u c1 (t ) φ1 c2 (t ) φ 2
Siendo φ 1 y φ 2 los vectores característicos obtenidos de:
0 1
φ k k φ k
2
0
Haciendo uso de las condiciones de ortogonalidad pueden entonces obtenerse las
ecuaciones desacopladas:
c1 1 c1 b1
c2 2 c2 b2
Se trata de combinaciones lineales de las mismas ecuaciones diferenciales que se
tenían en el sistema de ecuaciones diferenciales planteado en un inicio y las condiciones
estabilidad son las mismas. Siendo los valores característicos imaginarias puras:
1, 2 1
-20 Euler t
-30 Exacto
-40
u 2 u 2 u f (t )
En la que 0 1 . Nuevamente con v (t ) u (t ) se tiene:
u v
v f (t ) 2 v 2 u
Es decir:
u 0 1 u 0
v
2
2 v f (t )
Y los valores característicos tienen parte real negativa:
1, 2 w 1 2
por lo que podría emplearse el método de Euler, todos los métodos de la familia de
Runge-Kutta o el método de Crank-Nicholson, entre otros.
xn yn y n k1 k2 k3 k4
0.00 1.000000 0.000000 -0.050000 -0.049984 -0.049984 -0.049934
0.05 0.998750 -0.049978 -0.049934 -0.049849 -0.049849 -0.049725
0.10 0.995004 -0.099821 -0.049725 -0.049561 -0.049561 -0.049355
0.15 0.988773 -0.149375 -0.049355 -0.049105 -0.049105 -0.048808
y 1.2
1.0
0.8
0.6
0.4
0.2
0.0
-0.2 0 5 10 15 20
-0.4 x
-0.6
Este procedimiento se basa en sustituir las derivadas por sus aproximaciones con
diferencias centrales. Así al resolver:
mu ku f t
u n1 2 u n u n1
n
se puede aproximar la segunda derivada con: u
(t ) 2
(t ) 2
de donde resulta: u n1 2 u n u n1 ( f (t ) k u n ) .
m
Cuando la ecuación es de la forma: mu cu ku f t conviene aproximar la primera
derivada mediante una diferencia central:
u n1 u n1
u n
2 t
Y no con una diferencia hacia atrás, que a primera vista podría parecer una mejor
elección. Esta consideración se relaciona con el tema de estabilidad, que se trata más
adelante. Con la aproximación antes mencionada se obtiene:
mun f n k u n
u n 1 u n 1 un t
2 2
u n1 u n u n 1 t
2
u n 1 u n t u n t
2
( 12 ) un un1
El caso con 1
2 y 1
6 corresponde a suponer que u (la aceleración) varía
linealmente en el intervalo. Aparentemente esa elección sería mejor que 1 2 y
1 4 (lo que físicamente se interpretaría como suponer una aceleración constante
promedio). Sin embargo, esta última elección es más apropiada, también por
consideraciones de estabilidad, a las que se hace referencia más adelante. El método
de diferencia central equivale a considerar 1
2 y 0.
m un 1 c u n 1 k u n 1 f n 1
se obtiene: kˆ u n 1 fˆ n 1
donde:
kˆ k a 0 m a1 c
fˆ n1 f n1 m (a 0 u n a2 u n a3un ) c (a1u n a4 u n a5 un )
un 1 a0 (u n 1 u n ) a 2 u n a3 un
u n 1 u n t (1 ) un un 1
Donde los coeficientes a0 a7 son:
1 1
a0 a1 a2
(t ) 2 t t
1 t
a3 1 a4 1 a5 2
2 2
Se trata de una modificación del método de Newmark, cuyo propósito es (al resolver
grandes sistemas de ecuaciones diferenciales) introducir disipación adicional en las
componentes de alta frecuencia. Se usan las expresiones:
u un
k t n1 cadicional u
t
Todos los métodos para resolver EDO de segundo orden pueden ser escritos en la
forma:
u n1 A u n b n
( A) máx i 1
El análisis que sigue supone una forma simplificada de la ecuación diferencial, con c 0
(sin disipación). En tal caso:
1 a 2 1 1
2
1
A a2 1 (1 ) ( ) a 2 1 (1 ) ( 12 ) a 2
d
a
2
(1 ) a 2
(1 ) ( 2 ) a
1 2
donde:
k /m
a t
d 1 (1 ) a 2
A1 traza de A
a22 a23 a a13 a a12
A2 det det 1 det 11
a a33 a a33 a a22
32 31 21
A3 det ( A)
1 1 1
2
A 12 a 2 1 12 a 2 1
2
14 a 2
1 2
a a2 2a
2
y por lo tanto:
A1 2 a 2
A2 1
A3 0
El método de Hilber, Hughes y Taylor tiene las mismas condiciones de estabilidad que el
de Newmark y adicionalmente 1 2 0 , pero el rango adecuado es 1 3 0 .
Excepto cuando 0 y 1
2 (diferencia central y el método de Newmark de
aceleración constante) los diversos métodos introducen una disipación ficticia, mayor
cuanto más fuerte sea la desigualdad ( A) 1 . Por otro lado, todos los métodos
Por ejemplo, si se integra u u 0 con
2
producen una elongación del período.
t 0.05 T 0.1 / , el método de diferencia central y el de Newmark de aceleración
constante (con 0.25, 0.5 ) alargan el período en aproximadamente 0.6% en cada
ciclo, mientras que con Hilber et al. se tiene 4% si 0.1 y 5% si 0.3 . Es decir,
aún cuando el proceso sea incondicionalmente estable hay un límite para t . Al resolver
una sola ecuación diferencial (en lugar de un sistema de ecuaciones diferenciales
acopladas) es el requisito de precisión el que controla el intervalo.
Dos procesos a los que también se hace referencia en la literatura son los métodos de
Houbolt y de Wilson. Ambos métodos son también (para una selección apropiada de sus
parámetros) incondicionalmente estables, pero acumulan mucho más errores que el de
Newmark de aceleración constante, o el método de diferencia central, y por tanto no son
convenientes.
u n 1 u n u n 1 t
2
Otra posibilidad para resolver ecuaciones de la forma M u n1 C u n1 K u n1 f n1
sería el método de Newmark, en el que u n 1 se obtiene de:
ˆu ˆ
K n 1 f n 1
K ˆ K a M a C LU
0 1
y luego:
t t a0 (u t t u t ) a2 u t a3 u
u t
u t t u t a6 u
t a7 u
t t
Estos vectores constituyen una base completa, y por lo tanto la solución x(t ) puede
siempre expresarse como una combinación lineal de los referidos vectores:
x(t ) a j j
x (t ) a (t )
j j
a j B j a j A j f (t )
*s B r rs
*s A r r rs
Se observa que la mayor parte de los productos que se tienen en cada suma son cero.
Sólo son distintos de cero aquellos en los que los dos índices i,j son iguales. En
consecuencia se obtienen ecuaciones “desacopladas”, independientes para cada
componente a j (t ) :
ai i ai Τι f (t )
x 0 x(0) a (0)
j j
Τ
y por lo tanto, al premultiplicar por ι B :
ai (0) Τι B x 0
Resolver n de estas ecuaciones desacopladas es mucho más fácil que resolver un solo
sistema de ecuaciones diferenciales de orden n (puede aquí hacerse un paralelismo con
el caso de ecuaciones algebraicas). Además, en muchas situaciones prácticas se
observa que las componentes a(t ) asociadas a los mayores valores característicos son
x(t ) a j j
ai i ai Τι f 0 (a t b)
K y M son no sólo simétricas, sino también definidas positivas, por lo que los 2
son positivos.
Nuevamente, la solución puede escribirse como una combinación lineal de los vectores
característicos (que en lo que sigue se han supuesto normalizados respecto a M ):
u(t ) a j (t ) j
*s M r rs
*s K r r2 rs
Pero, salvo en algunos casos particulares, no podría afirmarse algo similar con la matriz
C . Sin embargo, hay aplicaciones en que la inclusión del término C u es sólo un
artificio para introducir disipación en las ecuaciones lineales, que realmente podría
haberse considerado con una K variable, dependiente de u . En este contexto, podría
introducirse directamente la disipación en las ecuaciones desacopladas, no siendo
necesario determinar la matriz C :
1 2 máx
T1 T2 Tmín
200 .5 199 .5
A
199 .5 200 .5
1.01 0
u ( 0) u (0)
0.99 0
En este caso es fácil obtener la solución exacta:
1 1
u cos t 0.01 cos 20 t
1 1
1.01 0
con condiciones iniciales u 0 0
y u 1 2 u (0) 2 t u
1
1000
500
u
0
0 2 4 6 8 10
-500
-1000 t
u
-1 0 2 4 6 8 10
-1
-2
t
y p ( x) y q ( x) y r ( x)
con condiciones en dos puntos distintos: y (a) A e y (b) B puede ser resuelta
combinando dos soluciones obtenidas resolviendo problemas de valor inicial:
u p ( x) u q ( x) u r ( x) con u (a) A y u ( a ) 0
u u u 2 con u (a, k ) A y u ( a, k ) k
u n u n u n2
u n 1 / 2 u n 1 / 2 x u n
u n1 u n x u n 1 / 2
Para cada uno de los nudos interiores de la malla pueden relacionarse los valores
numéricos y n y ( xn ) mediante:
y n1 2 y n y n1
y n f ( xn )
(x) 2
2 (x) 2 1 y1 A f ( x1 )
y 0 f ( x2 )
1 2 (x) 2 1 2
0 f ( x3 )
1 2 (x) 2 y 3 2
(x)
2 (x) 2 1 y N 1 0 f ( x N 1 )
1 2 (x) 2 y N B f ( x N )
Esto puede resolverse fácilmente si la ecuación diferencial es lineal, puesto que las
ecuaciones algebraicas resultan también lineales.
x y exacta y x / 20 y x / 10 y extrapolada
0.0000 0.000000 0.000000 0.000000 0.000000
0.1571 0.270299 0.269764
0.3142 0.582483 0.581613 0.578948 0.582501
0.4712 0.927065 0.926043
0.6283 1.292607 1.291594 1.288487 1.292629
0.7854 1.666081 1.665199
x y exacta y x / 20 y x / 10 y extrapolada
( u (k , a )
puede tener cualquier valor). Para determinar uno de los valores
característicos debe cumplirse la condición u ( k , b) 0 .
También puede emplearse el procedimiento del acápite 6.5.2. Con las aproximaciones
habituales:
1
(x) 2
p n 1 2 yn1 yn pn yn yn1 qn
1
2
yn rn y n 0
a1 c1 y1 y1
b a2 c2 y y2
2 2
b3 a3 c3 y y3
3
bN 1 a N 1 c N 1 y N 1 y N 1
bN a N y N y N
Donde: ai [( pi 1 2 pi 1 2 ) /( x) 2 qi ] / ri
bi pi 1 2 / ri /( x) 2
ci pi 1 2 / ri /( x) 2
El ejemplo siguiente ilustra el método del disparo. Se requiere determinar una función
característica y x y el correspondiente valor tales que:
d 1 dy
y 0 con condiciones de borde y(0) y(1) 0
dx 1 x 2 dx
y (1 x 2 ) z
con condiciones iniciales y (0) 0 y z (0) 1
z y
Note que z (0) es un factor de escala, sin importancia, para la función característica
y x ; la verdadera incógnita es . Con la aproximación k se integran las dos
ecuaciones diferenciales de primer orden y se obtiene y ( x, k ) . A menos que se haya
acertado con el valor característico, se tendrá y (1, k ) 0 .
Se requiere iterar para lograr que f ( ) y(1, ) 0 . Podría iterarse con el proceso de
la secante, o usar el método de Newton, entre otras posibilidades.
dy dz
Para usar el método de Newton se pueden considerar: u y v
d d
Derivando las ecuaciones diferenciales antes planteadas respecto a se tendría:
u (1 x 2 ) v
con condiciones iniciales u (0) v(0) 0
v y u
Estas ecuaciones pueden integrarse paralelamente a las anteriores, obteniéndose
u ( x, k ) y luego:
y (1, k )
k 1 k
u (1, k )
yˆ y n x (1 x n2 ) z n
zˆ z n x ( k y n )
y n 1 y n 12 x [ (1 x n2 ) z n (1 x n21 ) zˆ ]
z n 1 z n 12 x [ k y n k yˆ ]
x y z ŷ ẑ
0.000 0.00000 1.00000 0.00500 1.00000
0.005 0.00500 0.99996 0.01000 0.99987
0.010 0.01000 0.99982 0.01500 0.99965
0.015 0.01500 0.99961 0.02000 0.99934
0.020 0.02000 0.99930 0.02500 0.99895
uˆ u n x (1 x n2 ) v n
vˆ v n x ( y n k u n )
u n 1 u n 12 x [ (1 x n2 ) v n (1 x n21 ) vˆ ]
v n 1 v n 12 x v [ ( y n k u n ) ( yˆ k uˆ ) ]
x u v û v̂
0.000 0.00000 0.00000 0.00000 0.00000
0.005 0.00000 -0.00001 0.00000 -0.00004
0.010 0.00000 -0.00005 0.00000 -0.00010
0.990 -0.17462 -0.23600 -0.17695 -0.23555
0.995 -0.17696 -0.23552 -0.17930 -0.23502
1.000 -0.17931 -0.23499
Referencias
Ascher U.M. y Petzold L.R. (1998), Computer Methods for Ordinary Differential Equations and
Differential-Algebraic Equations, SIAM, Filadelfia.
Bathe, K.J. (2014) Finite Element Procedures. 2ª edición. K.J.Bathe, Watertown, MA.
Bogacki, P y Shampine, L.F. (1989), "A 3(2) pair of Runge–Kutta formulas", Applied
Mathematics Letters 2 (4): 321–325.
Cash, J.R. y Karp, A.H. (1990), "A variable order Runge-Kutta method for initial value problems
with rapidly varying right-hand sides", ACM Transactions on Mathematical Software 16: 201-
222.
Dormand, J.R. y Prince, P.J. (1980), "A family of embedded Runge-Kutta formulae", Journal of
Computational and Applied Mathematics 6 (1): 19–26,
Fehlberg, E. (1969). Low-order classical Runge-Kutta formulas with step size control and their
application to some heat transfer problems. NASA Technical Report 315.
Hilber, H.M., Hughes, T.J. y Taylor, R.L. (1977), "Improved numerical dissipation for time
integration algorithms in structural dynamics", Earthquake Engineering ans Structural
Dynamics, 5: 283-292.
Newmark, N.M. (1959), "A Method of Computation for Structural Dynamics" ASCE Journal of
Engineering Mechanics Division, 85: EM3.
Ralston, A. (1962), "Runge-Kutta methods with minimum error bounds", Math.Comput. 16: 431-
437.
Ralston, A.y Rabinowitz, P. (1978), A First Course in Numerical Analysis, 2 edición. McGraw-
a
1. Para cada una de las ecuaciones diferenciales indicadas a continuación, compare la solución
exacta con los resultados obtenidos empleando el método de Euler, un proceso de Runge-
Kutta de segundo orden y otro de cuarto orden, trabajando con intervalos h / 4 , h / 2 y h ,
respectivamente.
Ecuación Condición Intervalo h Solución
diferencial inicial exacta
x
a y' y(0) 1 0 x4 0.2 y 1 x2
y
y
b y ' 1 y(1) 2 1 x 5 0.2 y 2 x x ln( x)
x
c y' ( y y 2 ) / x y (1) 2 1 x 3 0.1 y 2 x /(1 2 x)
3. Para las ecuaciones diferenciales propuestas en los puntos anteriores, obtenga la solución en
el intervalo a x b indicado en cada caso, utilizando un proceso Predictor - Corrector cuyo
corrector sea la regla de Crank - Nicholson. Con tal fin determine primero una aproximación de
y (a h) utilizando un método de Runge-Kutta de segundo orden global.
Au 0
4. Considere el sistema de ecuaciones diferenciales u
100 50 0 1 0
donde A 50 100 50 . Las condiciones iniciales son u(0) 2 y u (0) 0 .
0 50 100 3 0
5. Un perro, en el campo, observa que su amo corre a lo largo de un camino recto con velocidad
constante v . El hombre está inicialmente en coordenadas (0,0) y se desplaza hacia (0,200 ) .
La posición inicial del perro es (250 ,0) . El perro corre hacia su amo siempre en la dirección en
la que lo observa, con velocidad u , de donde resulta su trayectoria dada por la ecuación:
xy c 1 y
2
EI v Nv 12 q x ( L x)
Determine v(L / 2) para el caso L 500 cm, E 2 10 kg/cm , I 2889 cm (W8x20),
2 4 6
1 d du
7. Determine el menor valor característico de la ecuación diferencial: r u 0 con
r dr dr
u (1) 0 . Note que puede suponer cualquier u (0) . El origen es un punto singular para la
ecuación diferencial, pero no para su solución. La solución exacta es 5.784