Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ecuaciones Diferenciales Ordinarias: Cap Itulo 2
Ecuaciones Diferenciales Ordinarias: Cap Itulo 2
2.1. Introducción
Una ecuación diferencial ordinaria lineal de la forma
d d
y(x) = f (x, y) con y(x) = y (x) (2.1)
dx dx
se puede utilizar como modelo matemático de una gran variedad de fenómenos, ya sean fı́sicos o no fı́sicos, y
en disciplinas cientı́ficas y no cientı́ficas. Ejemplos de dichos fenómenos incluyen problemas de transferencia
de calor (termodinámica), circuitos eléctricos simples (ingenierı́a eléctrica), problemas de fuerza (ingenierı́a
mecánica), razón de crecimiento de bacterias (ciencias biológicas), razón de descomposición radioactiva (fı́sica
atómica), razón de cristalización de un componente quı́mico (quı́mica), taza de crecimiento de una población
(estadı́stica), etc. Existe una serie de métodos para resolver este tipo de ecuaciones, dentro de los que podemos
mencionar: separación de variables, solución exacta y solución por series finitas. Dentro de estos últimos,
veremos los métodos de Euler y Runge–Kutta segundo y cuarto orden.
siendo éste el algoritmo más sencillo para resolver numéricamente ecuaciones diferenciales ordinarias.
29
Métodos Numéricos
c 1997–2006. Dr. Horacio Martı́nez Alfaro
Ejemplo 2.1
Utilizando el método de Euler, integre numéricamente la siguiente ecuación:
dy(x)
= y = f (x, y(x)) = 4e0.8x − 0.5y(x)
dx
de x = 0 a x = 4 con un tamaño de paso de 0.5 (h = 0.5). La condición inicial en x = 0 es y = 2 (es decir,
y(0) = 2).
Solución
Si utilizamos la ecuación 2.4, podemos sustituir los datos y comenzar la solución numérica del problema:
0 0.500000 1.000000 1.500000 2.000000 2.500000 3.000000 3.500000 4.000000
2 3.500000 5.608649 8.657569 13.133411 19.756123 29.595204 44.242756 66.071361
La solución exacta a este problema se puede obtener con Maple de la siguiente forma:
1
y(x) = (40e4x/5 − 14e−x/2) (2.6)
13
y la gráfica de los puntos generados con el método de Euler y la solución exacta (y/o númerica con un
método más exacto) se muestan en la figura 2.1.
30
Métodos Numéricos
c 1997–2006. Dr. Horacio Martı́nez Alfaro
70
60
50
40
30
20
10
0 1 2 3 4
31
Métodos Numéricos
c 1997–2006. Dr. Horacio Martı́nez Alfaro
Dado que se tienen 4 parámetros por determinar y solo 3 ecuaciones, se tiene una familia de soluciones en
términos de uno de ellos (k1 , k2 , α y β). Si hacemos k2 = 0 como parámetro independiente, se obtiene la
siguiente solución:
k1 = 1 − k2 (2.15)
1
α = (2.16)
2k2
1
β = (2.17)
2k2
y sustituyendo en la ecuación 2.7, obtenemos:
h
yn+1 = yn + [f (xn , yn ) + f (xn + h, yn + hf (xn , yn ))] (2.18)
2
Para simplificar un poco, podemos hacer xn + h = xn+1 y f (xn , yn ) = fn y ası́ simplificar la notación:
h
yn+1 = yn + [fn + f (xn+1 , yn + hfn )] (2.19)
2
que no es más que el método mejorado de Euler.
Ejemplo 2.2
Ahora resolveremos la ecuación del ejemplo 2.2 utilizando el método de Runge–Kutta de segundo orden.
Solución
0.5
y(0.5) = y(0) + [f (0, 2) + f (0 + 0.5, 2 + 0.5f (0, 2))]
2
0.5
= 2+ [(4e0.8(0) − 0.5(2)) + f (0.5, 2 + 0.5f (0, 2))]
2
0.5
= 2+ [3 + f (0.5, 3.5)] = 3.804325
2
0.5
y(1.0) = y(0.5) + [f (0.5, 3.804325) + f (0.5 + 0.5, 3.804325 + 0.5f (0.5, 3.804325))]
2
= 6.316538
0.5
y(1.5) = y(1.0) + [f (1.0, 6.316538) + f (1.0 + 0.5, 6.316538 + 0.5f (1.0, 6.316538))]
2
= 9.924068
y(2.0) = 15.196298
y(2.5) = 22.975938
y(3.0) = 34.514920
y(3.5) = 51.676811
y(4.0) = 77.238524
32
Métodos Numéricos
c 1997–2006. Dr. Horacio Martı́nez Alfaro
70
60
50
40
30
20
10
0 1 2 3 4
Figura 2.2: Puntos de la solución de la ecuación diferencial mediante el método de Runge–Kutta de segundo
orden y curva de la la solución exacta.
k1 = hf (xn , yn ) (2.21)
k2 = hf (xn + h/2, yn + k1 /2) (2.22)
k3 = hf (xn + h/2, yn + k2 /2) (2.23)
k4 = hf (xn + h, yn + k3 ) (2.24)
Este método se basa en una expansión de Taylor truncada hasta términos de cuarto orden. En algunas
ocasiones es llamado el método de Kutta–Simpson porque se reduce a la Regla de Simpson si y (x) es
independiente de y. Esto es, si y (x) = f (x), tenemos:
k1 = hf (xn ) (2.25)
k2 = hf (xn + h/2) (2.26)
k3 = hf (xn + h/2) (2.27)
k4 = hf (xn + h) (2.28)
y
h
yn+1 = yn + [f (xn ) + 4f (xn + h/2) + f (xn , yn )] (2.29)
6
1 Ver deducción en Fulks, W. (1978), Advanced calculus (Third Edition). John Wiley & Sons, N.Y., p. 331
33
Métodos Numéricos
c 1997–2006. Dr. Horacio Martı́nez Alfaro
h∗
yn+1 = yn + [f (xn ) + 4f (xn + h∗ ) + f (xn + 2h∗ )] (2.30)
3
1
que es la Regla de Simpson 3 para integración.
Ejemplo 2.3
El problema es el mismo que el expuesto en el ejemplo 2.2.
Solución
Evaluamos las constantes del método para posteriormente obtener el valor del nuevo punto.
k1 k2 k3 k4 x y
0 0 0 0 0 2
1.500000 1.755306 1.723392 2.052801 0.500000 3.751700
2.045725 2.450597 2.399988 2.913160 1.000000 6.195042
2.902321 3.525013 3.447177 4.229679 1.500000 9.707772
4.213291 5.156796 5.038858 6.219407 2.000000 14.845106
6.194788 7.613670 7.436310 9.207758 2.500000 22.428857
9.170898 11.296451 11.030756 13.681449 3.000000 33.679984
13.626357 16.804186 16.406957 20.367558 3.500000 50.416017
20.285289 25.031408 24.438143 30.351520 4.000000 75.345336
34
Métodos Numéricos
c 1997–2006. Dr. Horacio Martı́nez Alfaro
70
60
50
40
30
20
10
0 1 2 3 4
Figura 2.3: Solución de la ecuación diferencial mediante el método de Runge–Kutta de cuarto orden y la
solución exacta.
1. Técnicas que transforman la ecuación diferencial de orden mayor a un sistema de ecuaciones diferen-
ciales de primer orden. La técnica es conocida como Espacio de Estado, y
2. Splines Cúbicos para ecuaciones diferenciales de segundo orden.
Para obtener las 2 ecuaciones diferenciales de orden 1, se hará el siguiente cambio de variables:
x1 (t) = y(t)
(2.32)
x2 (t) = ẏ(t)
Una vez que tenemos la definición de estas nuevas variables, que denominaremos variables de estado, podemos
derivarlas con respecto a t para obtener:
y de la ecuación diferencial original (ecuación 2.31) podemos despejar ÿ(t) para obtener:
para de esta forma sustituir en nuestra nueva representación con las nuevas variables x1 (t) y x2 (t):
35
Métodos Numéricos
c 1997–2006. Dr. Horacio Martı́nez Alfaro
con
x1 (t) 0 1 0
x(t) = , A= , B= , C= 1 0 (2.41)
x2 (t) −β −α 1
x1 = y
x2 = ẏ
x3 = ÿ
..
. (2.43)
(p−2)
xp−1 = y
(p−1)
xp = y
El procedimiento a seguir es el mismo descrito para la ecuación diferencial de orden 2, tenemos (con a0 = 1):
⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤
ẋ1 0 1 0 ··· 0 x1 0
⎢ ẋ2 ⎥ ⎢ 0 0 1 ··· ⎥⎢
0 x2 ⎥ ⎢ 0 ⎥
⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢ .. ⎥ ⎢ .. .. .. .. ⎥⎢
.. .. ⎥ ⎢ .. ⎥
⎢ . ⎥=⎢ . . . . ⎥⎢. . ⎥+⎢ . ⎥u
⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥
⎣ ẋp−1 ⎦ ⎣ 0 0 0 ··· 1 ⎦ ⎣ xp−1 ⎦ ⎣ 0 ⎦
ẋp −ap −ap−1 −ap−2 · · · −a1 xp b0 (2.44)
⎡ ⎤
x1
⎢ x
⎢ 2
⎥
⎥
y= 1 0 0 ··· 0 ⎢ . ⎥
⎣ .. ⎦
xp
La solución numérica a un sistema de ecuaciones diferenciales se realiza con el método de Euler o Runge–
Kutta.
36
Métodos Numéricos
c 1997–2006. Dr. Horacio Martı́nez Alfaro
(i)
k1 = hf (tj , x(j) ) → k1 = hfi (tj , x(j) ) (2.50)
h (j) 1 (i) h (j) 1
k2 = hf tj + , x + k1 → k2 = hfi tj + , x + k1 (2.51)
2 2 2 2
h (j) 1 (i) h (j) 1
k3 = hf tj + , x + k2 → k3 = hfi tj + , x + k2 (2.52)
2 2 2 2
(j) (i) (j)
k4 = hf tj + h, x + k3 → k4 = hfi tj + h, x + k3 (2.53)
donde i = 1, . . . , p.
Ejemplo 2.4
Se tiene la siguiente ecuación diferencial con condiciones iniciales:
Solución
Dado que la ecuación diferencial es de orden 2, se tiene que x1 (t) = y(t) y x2 (t) = ẏ(t). Comparando con la
ecuación 2.31, podemos definir:
37
Métodos Numéricos
c 1997–2006. Dr. Horacio Martı́nez Alfaro
Para este método, necesitamos definir nuestras funciones fi (t, x1 (t), x2 (t)) (que se obtienen de las ecuaciones
de espacio de estado):
f1 (t, x1 (t), x2 (t)) = x2 (t) (2.54)
−2t
f2 (t, x1 (t), x2 (t)) = 5tx1 (t) − 2x2 (t) + e (2.55)
El método de Euler aplicado a las funciones anteriores resultarı́a en la siguiente forma:
x1 (tk+1 ) = x1 (tk ) + hf1 (tk , x1 (tk ), x2 (tk )) (2.56)
x2 (tk+1 ) = x2 (tk ) + hf2 (tk , x1 (tk ), x2 (tk )) (2.57)
si la evaluación en tk la sustituimos como superı́ndice, podrı́amos representar las ecuaciones anteriores de la
siguiente forma:
(k+1) (k) (k)
x1 = x1 + hf1 (2.58)
(k+1) (k) (k)
x2 = x2 + hf2 (2.59)
(k) (k) (k)
con fi = fi (tk , x1 , x2 ). Calculemos los primeros valores (k = 0):
38
Métodos Numéricos
c 1997–2006. Dr. Horacio Martı́nez Alfaro
La figura 2.4(b) muestra la gráfica de la solución exacta y la obtenida por el método anterior. Las figuras 2.5(a)
y 2.5(b) muestran soluciones para x1 y x2 para diferentes valores de h junto con la solución más exacta que
se puede obtener mediante el método de Runge-Kutta cuarto-quinto orden de Fehlberg.
5
t x1 (t) x2 (t)
0 1 1
0.100000 1.100000 0.900000 4
Figura 2.4: Valores de la solución para las variables de estado y la solución de la ecuación diferencial
original.
3 3
2.5 2.5
2 2
1.5 1.5
1 1
Figura 2.5: Solución a las variables de estado para diferentes valores de ancho de intervalo.
Para este método, utilizaremos las fórmulas descritas en la sección 2.5.1. Las funciones que utilizará el método
son las ecuaciones 2.54 y 2.55.
39
Métodos Numéricos
c 1997–2006. Dr. Horacio Martı́nez Alfaro
40
Métodos Numéricos
c 1997–2006. Dr. Horacio Martı́nez Alfaro
El procedimiento se repite para j = 1, 2, . . . , 10 y se obtienen los siguientes valores de las k s para xj1
(tabla 2.1) y xj2 (tabla 2.2). La figura 2.6 muestra la gráfica de la solución numérica más exacta posible para
x1 y x2 y los puntos obtenidos mediante este método.
2.5
1.5
41
Métodos Numéricos
c 1997–2006. Dr. Horacio Martı́nez Alfaro
y se desea resolver para t ∈ [a, b] con un ancho de intervalo constante h = ti+1 − ti (distancia entre dos
puntos consecutivos). El objetivo del método es suponer que la forma de la función resultante por intervalos
es la de un Spline Cúbico:
Dado que la ecuación diferencial involucra derivadas de la función que estamos buscando (y(t) = Pi (t)),
necesitamos encontrar sus derivadas:
Pi (t) = ai (t − ti )3 + bi (t − ti )2 + ci (t − ti ) + di (2.85)
Pi (t) = 3ai (t − ti )2 + 2bi (t − ti ) + ci (2.86)
Pi (t) = 6ai (t − ti ) + 2bi (2.87)
ai h3 + bi h2 + ci h + di = di+1 (2.88)
2
3ai h + 2bi h + ci = ci+1 (2.89)
6ai h + 2bi = 2bi+1 (2.90)
y posteriormente sustituyendo los resultados anteriores en la ecuación diferencial (ecuación 2.81), obtenemos:
Sabemos que tenemos n splines y tendremos 4n − 2 incógnitas y ecuaciones. Las últimas 2 ecuaciones se
obtendrán de los extremos en donde sólo se requiere que se cumpla la ecuación diferencial, es decir, en t1 y
en tn+1 .
42
Métodos Numéricos
c 1997–2006. Dr. Horacio Martı́nez Alfaro
Las cuatro ecuaciones que se tienen que cumplir en cada punto intermedio son:
ai h3 + bi h2 + ci h + di = di+1 (2.93)
3ai h2 + 2bi h + ci = ci+1 (2.94)
6ai h + 2bi = 2bi+1 (2.95)
2 3
ai [6h + 3h α(ti+1 ) + h β(ti+1 )] +
bi [2 + 2hα(ti+1 ) + h2 β(ti+1 )] +
ci [α(ti+1 ) + hβ(ti+1 )] + di β(ti+1 ) = f (ti+1 ) (2.96)
y en los extremos (t1 y tn+1 ) es evaluar la ecuación 2.92 en t1 y tn+1 , respectivamente; obteniendo en t = t1 :
La solución de ecuaciones diferenciales de este tipo mediante splines cúbicos se puede entender mejor con un
ejemplo.
Ejemplo 2.5
Se tiene la siguiente ecuación diferencial:
Solución
Dado que h = 0.5, n = 2 y el número de incógnitas que tendremos son 4n = 8. De acuerdo a la ecuación,
tenemos:
σ=1 η=1
(2.98)
α(t) = 2 β(t) = −5t f (t) = e−2t
d1 = σ (2.99)
c1 = η (2.100)
Sabemos que se van a generar 3 puntos (t1 , t2 y t3 ) y sólo requerimos que en los puntos intermedios se cumplan
las condiciones de splines cúbicos para la ecuación diferencial, es decir, sólo en t2 . Ası́ pues, comenzamos con
la ecuación diferencial:
a1 h3 + b1 h2 + c1 h + d1 = d2
0.125a1 + 0.25b1 + 0.5c1 + d1 − d2 = 0 (2.104)
43
Métodos Numéricos
c 1997–2006. Dr. Horacio Martı́nez Alfaro
3a1 h2 + 2b1 h + c1 = c2
0.75a1 + b1 + c1 − c2 = 0 (2.105)
Por último, generar las ecuaciones de los nodos externos en donde sólo se requiere que la ecuación diferencial
se cumpla:
Para t = t1 :
Una vez teniendo todas las ecuaciones, podemos representarlo en forma matricial:
⎡ ⎤⎡ ⎤ ⎡ ⎤
0 0 0 1 0 0 0 0 a1 1
⎢ 0 0 1 0 0 0 0 0 ⎥ ⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ b1 ⎥ ⎢ 1 ⎥
⎢ 4.1875 3.375 0.75 −2.5 0 0 0 ⎥ ⎢
0 ⎥ ⎢ c1 ⎥ ⎢ 0.36788 ⎥
⎢ ⎥
⎢ ⎥
⎢ 0.125 0.25 0.5 1 0 0 0 −1 ⎥ ⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ d1 ⎥ = ⎢ 0 ⎥ (2.109)
⎢ 0.75 1 1 0 0 0 −1 ⎥ ⎢ ⎥
0 ⎥ ⎢ a2 ⎥ ⎢ ⎢ 0 ⎥
⎢ ⎥
⎢ 3 2 0 0 0 −2 0 ⎥ ⎢ ⎥
0 ⎥ ⎢ b2 ⎥ ⎢ ⎢ 0 ⎥
⎢ ⎥
⎣ 0 2 2 0 0 0 0 0 ⎦ ⎣ c2 ⎦ ⎣ 1 ⎦
0 0 0 0 3.875 2.75 −0.5 −5 d2 0.1353353
cuya solución es:
a1 = 0.90874733 b1 = −0.5 c1 = 1 d1 = 1
(2.110)
a2 = 1.49561287 b2 = 0.863120994 c2 = 1.1815605 d2 = 1.488593416
La solución anterior dá los coeficientes de los siguientes polinomios:
P1 (t) = a1 (t − t1 )3 + b1 (t − t1 )2 + c1 (t − t1 ) + d1 , t1 ≤ t ≤ t 2 (2.111)
P2 (t) = a2 (t − t2 )3 + b2 (t − t2 )2 + c2 (t − t2 ) + d2 , t2 ≤ t ≤ t 3 (2.112)
44
Métodos Numéricos
c 1997–2006. Dr. Horacio Martı́nez Alfaro
2.4
2.2
1.8
1.6
1.4
1.2
1
0 0.2 0.4 0.6 0.8 1
t
45