Está en la página 1de 27

Ecuaciones Diferenciales

Ordinarias I

• Problemas de valores iniciales (P.V.I.) Existencia y unicidad de solución.


• Solución numérica de un P.V.I. Método de Euler.
• Métodos Runge-Kutta.
• Control del error. Esquemas Runge-Kutta-Fehlberg.

521230 -1- DIM – Universidad de Concepción


Problemas de valores iniciales (P.V.I.)

Se considera el problema de valores iniciales (P.V.I.):



 y 0 (x) = f (x, y(x)), x ∈ [a, b],
 y(a) = y0 dado,

el que supondremos tiene solución única, y : [a, b] −→ R, la cual es acotada y


depende continuamente de los datos f e y0 .

521230 -2- DIM – Universidad de Concepción


Existencia y unicidad de solución de un P.V.I.

Teorema. Sean D un subconjunto convexo de R2 , f una función continua en el


dominio D y (a, y0 ) un punto interior de D .

Considere el P.V.I. 
 y 0 = f (x, y), (x, y) ∈ D,
 y(a) = y0 .

Si f satisface la condición de Lipschitz

|f (x, y1 ) − f (x, y2 )| ≤ k|y1 − y2 | ∀(x, y1 ), (x, y2 ) ∈ D

con k ≥ 0, entonces, para algún intervalo I = [a − α, a + α], existe una única


solución y = y(x) del P.V.I. definida en ese intervalo I .

521230 -3- DIM – Universidad de Concepción


∂f
Observación. Si (x, y) existe y es acotada en D, entonces la condición de
∂y
Lipschitz se satisface con

∂f
k = max (x, y) < ∞.

(x,y)∈D ∂y

Ejemplo. Considere la ecuación

0 2

y = 1 + sen xy y D = (x, y) ∈ R , 0 ≤ x ≤ 1, −∞ < y < ∞ .

Se tiene que

∂f
f (x, y) = 1 + sen(xy) y (x, y) = x cos(xy) ⇒ k = 1.
∂y
Luego, dado cualquier (a, y0 ) con 0 < a < 1, por el teorema existe una única
solución del P.V.I. en algún intervalo centrado en a. Más aún, puede demostrarse
que el P.V.I. tiene solución única en todo el intervalo [0, 1].

521230 -4- DIM – Universidad de Concepción


Solución Numérica de un P.V.I.

Los métodos numéricos para resolver el P.V.I.



 y 0 (x) = f (x, y(x)), x ∈ [a, b],
 y(a) = y0 dado,

se basan en tomar una partición en N subintervalos del intervalo [a, b],

a = x0 < x1 < · · · < xN = b,

y obtener sucesivamente N números y1 , y2 , . . . , yN que aproximan a los


valores y(x1 ), . . . , y(xN ) de la solución exacta en los nodos x1 , . . . , xN .

Tı́picamente los nodos se escogen equiespaciados; es decir, están definidos por

b−a
xi = a + ih, i = 0, . . . , N, con h = .
N

521230 -5- DIM – Universidad de Concepción


Método de Euler (o de la Tangente)

Considere el P.V.I.

 y 0 (x) = f (x, y(x)), x ∈ [a, b],
 y(a) = y0 .

Una manera geométrica de aproximar


la solución de este problema consiste yi+1
en reemplazar la derivada y 0 por la
y
aproximación i

0 y(x + h) − y(x)
y (x) ≈
h
xi xi+1
válida para h pequeño.

521230 -6- DIM – Universidad de Concepción


Haciendo este reemplazo en la ecuación se encuentra

y(x + h) − y(x)
≈ f (x, y(x))
h
de donde,
y(x + h) ≈ y(x) + hf (x, y(x)).

Partiendo de la condición inicial y(a) = y0 y considerando h pequeño, el valor

y1 := y(a) + hf (a, y(a))

define una aproximación para y(a + h).

Una vez calculada esta aproximación, se puede utilizar para obtener la


aproximación y2 de y(a + 2h), a saber,

y2 := y1 + hf (a + h, y1 ).

521230 -7- DIM – Universidad de Concepción


Repitiendo este proceso se pueden obtener aproximaciones para y(a + 3h),
y(a + 4h), . . . , y(a + N h).
Usando nodos xi equiespaciados obtenemos el siguiente algoritmo:

Algoritmo (Euler)
Para i = 0, . . . , N − 1
xi = a + ih
yi+1 = yi + hf (xi , yi )
fin i.

521230 -8- DIM – Universidad de Concepción


Métodos Runge-Kutta

Los métodos Runge-Kutta consideran, en cada intervalo [xi , xi+1 ], algunos


nodos auxiliares de la forma:

xij := xi + θj h , j = 0, 1, . . . , q,

donde, q ∈ N recibe el nombre de rango del algoritmo y los parámetros θj


verifican:
0 ≤ θj ≤ 1, con θ0 = 0 y θq = 1.
Ası́, en cada caso,
xi0 = xi y xiq = xi+1 .

xi=xi0 x xi2 x ... x =x


i1 i3 iq i+1

521230 -9- DIM – Universidad de Concepción


En los nodos auxiliares se definen los valores:

yi0 := yi ,
j−1
X
yij := yi + h Ajl f (xil , yil ), j = 1, . . . , q,
l=0

siendo yi+1 := yiq el valor aproximado por el método para y(xi+1 ).

Cuando los puntos xij y las constantes Ajl se determinan de manera que el
desarrollo de yij coincida hasta el término en hp con el desarrollo de Taylor de la
solución exacta del P.V.I. local:

 ỹ 0 (x) = f (x, ỹ(x)), x ∈ [x , x ],
i i+1
 ỹ(xi ) = yi , con yi considerada exacta,

el correspondiente método se dice de orden p y rango q , y se abrevia por


RKpq .

521230 - 10 - DIM – Universidad de Concepción


Definición. Se define el error local de truncamiento en xi+1 por

τi+1 := ỹ(xi+1 ) − yi+1 ,


donde ỹ es la solución del P.V.I. local anterior e yi+1 el valor obtenido por el
método.

Definición. Se define el error global en xi+1 por

Ei+1 := y(xi+1 ) − yi+1 ,


donde y(xi+1 ) es el valor de la solución exacta del P.V.I. en el nodo xi+1 e
yi+1 es el valor obtenido por el método.
Para un método de Runge-Kutta de orden p, los errores locales de truncamiento
son O(hp+1 ). Sin embargo, los errores globales son O(hp ):

|τi+1 | ≤ Chp+1 , i = 0, . . . , N − 1,
pero
max |Ei+1 | ≤ Chp .
0≤i≤N −1

521230 - 11 - DIM – Universidad de Concepción


Otra vez: método de Euler o de la tangente (RK11 )
Corresponde al caso en que q = p = 1; es decir, el método Runge-Kutta de
orden 1 y rango 1: RK11 . Por lo tanto, θ0 = 0, θ1 = 1 y, en consecuencia,

xi0 = xi y xi1 = xi + h = xi+1 .

Los valores de yi0 e yi1 se obtienen mediante

yi0 = yi ,
yi1 = yi + hA10 f (xi0 , yi0 ).

Por lo tanto, como yi+1 := yi1 , se tiene que

yi+1 = yi + hA10 f (xi , yi ).

Como se trata de un método de orden 1, el coeficiente A10 debe determinarse


de modo que el error local de truncamiento sea O(h2 ).

521230 - 12 - DIM – Universidad de Concepción


Considere el P.V.I. local

 ỹ 0 (x) = f (x, ỹ(x)), x ∈ [x , x ],
i i+1
 ỹ(xi ) = yi , con yi considerada exacta.

El desarrollo de Taylor de la solución es

0 h2 00
ỹ(xi+1 ) = ỹ(xi ) + hỹ (xi ) + ỹ (ξi )
2
h2 00
= yi + hf (xi , yi ) + ỹ (ξi ), con xi < ξi < xi+1 .
2
Comparando este desarrollo con el anterior:

yi+1 = yi + hA10 f (xi , yi ),

se ve que debe escogerse A10 = 1 para que coincidan hasta los términos en h.

521230 - 13 - DIM – Universidad de Concepción


Esto conduce al método de Euler (o de la tangente), ya deducido
anteriormente:

yi+1 = yi + hf (xi , yi ), i = 0, . . . , N − 1.

Los errores locales de truncamiento de este método resultan O(h2 ):

h2 00
τi+1 = ỹ (ξi ), i = 0, . . . , N − 1.
2

Por lo tanto, los errores globales son O(h):

max |Ei+1 | ≤ Ch.


0≤i≤N −1

521230 - 14 - DIM – Universidad de Concepción


Ejemplo.
 3

 y 0 = y,
Solución exacta
Método de Euler
 y(0) = 1. 2.5

Solución: 2

y(x) = ex .
1.5

Método de Euler.

[a, b] = [0, 1] 1

N =5
b−a 0.5
−0.2 0 0.2 0.4 0.6 0.8 1 1.2
h= = 0.2
N

521230 - 15 - DIM – Universidad de Concepción


Métodos RK22
Estos métodos resultan ser de orden 2 (p= 2) y rango 2 (q = 2). Por lo tanto
los errores locales de truncamiento son O(h3 ) y el error global es O(h2 ).

Los nodos se obtienen con θ0 = 0, θ1 arbitrario y θ2 = 1. Por lo tanto,


xi0 = xi , xi1 = xi + θ1 h y xi2 = xi + h = xi+1 .
donde el parámetro θ1 debe escogerse de manera tal que 0 < θ1 ≤ 1.
Los desarrollos en potencias de h para los correspondientes valores yi1 e yi2 se
utilizan para obtener una expresión de yi+1 que se iguala al desarrollo de Taylor
de la solución del P.V.I. local ỹ(xi+1 ) hasta los términos en h2 . Ası́ se obtiene la
siguiente familia de algoritmos RK22 (dependiente del parámetro θ1 ):

xi1 := xi + θ1 h,
yi1 := yi + hθ1 f (xi , yi ),
   
1 1
yi+1 := yi2 := yi + h 1 − f (xi , yi ) + h f (xi1 , yi1 ).
2θ1 2θ1

521230 - 16 - DIM – Universidad de Concepción


Casos particulares

1.- Método de Euler mejorado (tangente mejorada)

Corresponde a la elección de θ1 = 12 , con lo cual xi1 resulta ser el punto medio


del intervalo [xi , xi+1 ].

De las ecuaciones anteriores se obtiene yi+1 = yi + hf (xi1 , yi1 ) y el


algoritmo queda ası́:

Algoritmo (Euler mejorado)


Para i= 0, . . . , N − 1
xi = a + ih
h
xi1 = xi + 2
h
yi1 = yi + 2 f (xi , yi )
yi+1 = yi + hf (xi1 , yi1 )
fin i.

521230 - 17 - DIM – Universidad de Concepción


Método de Euler Mejorado

yi+1

y yi1
i

x x x
i i1 i+1

521230 - 18 - DIM – Universidad de Concepción


2.- Método de Euler-Cauchy

Corresponde al caso en que θ1 = 1, con lo cual xi1 = xi+1 y el algoritmo


queda ası́:

Algoritmo (Euler-Cauchy)
Para i = 0, . . . , N − 1
xi = a + ih
xi1 = xi + h
yi1 = yi + hf (xi , yi )
yi+1 = yi + h2 [f (xi , yi ) + f (xi1 , yi1 )]
fin i.

521230 - 19 - DIM – Universidad de Concepción


Método de Euler−Cauchy

yi+1

yi1
y
i

xi x =x
i+1 i1

521230 - 20 - DIM – Universidad de Concepción


Método RK44 clásico (o RK4)
Este método es de rango 4 y corresponde a la la elección de parámetros
1
θ0 = 0, θ 1 = θ2 = , θ3 = θ4 = 1.
2
Por lo tanto,
h
xi0 = xi , xi1 = xi2 = xi + , xi3 = xi4 = xi + h = xi+1 .
2

Para deducirlo, se obtienen desarrollos en potencias de h para yi1 , yi2 , yi3 , e


yi4 .
La expresión de yi+1 que se obtiene a partir de esos desarrollos se iguala al
desarrollo de Taylor de la solución ỹ(xi+1 ) del P.V.I. local, hasta los términos en
h4 (p = 4).
Ası́ se obtiene un algoritmo con error local de truncamiento O(h5 ) y, por lo tanto,
error global O(h4 ).

521230 - 21 - DIM – Universidad de Concepción


Este método, también conocido como RK4, es sumamente utilizado debido a su
alta precisión.

El algoritmo del método puede escribirse convenientemente del siguiente modo:

Algoritmo (RK4)
Para i = 0, . . . , N − 1
xi = a + ih
k1 = hf (xi , yi )
k2 = hf (xi + h2 , yi + 12 k1 )
k3 = hf (xi + h2 , yi + 12 k2 )
k4 = hf (xi + h, yi + k3 )
yi+1 = yi + 16 [k1 + 2(k2 + k3 ) + k4 ]
fin i.

521230 - 22 - DIM – Universidad de Concepción



 y 0 = y,
Ejemplo. Solución exacta: y(x) = ex .
 y(0) = 1.

Euler: h = 0.1 Euler: h = 0.025 RK44 : h = 0.1


x Sol. Ex. Sol. Cal. Error Sol. Cal. Error Sol. Cal. Error
0.0 1.000000 1.000000 0.0 1.000000 0.0 1.000000 0.0
0.1 1.105170 1.100000 5.1 × 10−3 1.103812 1.3 × 10−3 1.105170 8.4 × 10−8
0.2 1.221402 1.210000 1.1 × 10−2 1.218402 2.9 × 10−3 1.221402 1.8 × 10−7
0.3 1.349858 1.331000 1.8 × 10−2 1.344888 4.9 × 10−3 1.349858 3.1 × 10−7
0.4 1.491824 1.464100 2.7 × 10−2 1.484505 7.3 × 10−3 1.491824 4.5 × 10−7
0.5 1.648721 1.610510 3.8 × 10−2 1.638616 1.0 × 10−2 1.648720 6.3 × 10−7
0.6 1.822118 1.771561 5.0 × 10−2 1.808725 1.3 × 10−2 1.822117 8.3 × 10−7
0.7 2.013752 1.948717 6.5 × 10−2 1.996495 1.7 × 10−2 2.013751 1.0 × 10−6
0.8 2.225540 2.143588 8.1 × 10−2 2.203756 2.1 × 10−2 2.225539 1.3 × 10−6
0.9 2.459603 2.357947 0.1 2.432535 2.7 × 10−2 2.459601 1.6 × 10−6
1.0 2.718281 2.593742 0.12 2.685063 3.3 × 10−2 2.718279 2.0 × 10−6
1.1 3.004166 2.853116 0.15 2.963808 4.0 × 10−2 3.004163 2.5 × 10−6
1.2 3.320116 3.138428 0.18 3.271489 4.8 × 10−2 3.320113 3.0 × 10−6
1.3 3.669296 3.452271 0.21 3.611112 5.8 × 10−2 3.669293 3.6 × 10−6
1.4 4.055199 3.797498 0.25 3.985992 6.9 × 10−2 4.055195 4.3 × 10−6
1.5 4.481689 4.177248 0.30 4.399789 8.1 × 10−2 4.481683 5.1 × 10−6

521230 - 23 - DIM – Universidad de Concepción


5

4.5
Solución exacta
Método de Euler, h=0.2
Método de Euler, h=0.1
4 Método RK4, h=0.2

3.5

2.5

1.5

0.5
−0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6

521230 - 24 - DIM – Universidad de Concepción


Control del Error Local de Truncamiento

Usualmente, el tamaño del paso h a utilizar no es contante, sino que se


determina en cada paso a fin de que los errores se mantengan por debajo de una
tolerancia prefijada.

En la práctica, no es posible determinar a priori cuál es el tamaño del paso h


que debe utilizarse para calcular la solucion de un P.V.I. con error global menor
que una tolerancia.

Una alternativa consiste en, una vez calculada la solución numérica con un
tamaño de paso h, estimar a posteriori el error local a fin de decidir si la
solución calculada es aceptable o no y, en caso negativo, intentar recalcularla con
otro tamaño de paso h0 < h.

521230 - 25 - DIM – Universidad de Concepción


Esquemas Runge-Kutta-Fehlberg

Una estrategia para el control del error es la de los esquemas


Runge-Kutta-Fehlberg. En particular, uno muy utilizado es el de cuarto orden,
RKF45, el cual consiste en un RK45 acoplado con un RK56 .

Este esquema minimiza el número de evaluaciones de f , ya que el RK56 utiliza


las mismas 5 evaluaciones del RK45 y una sola más.

En cada paso, el valor de la solución calculado por el método de mayor orden


(RK56 ) se utiliza para estimar a posteriori el error del calculado por el de menor
orden (RK45 ).

De ese modo, este método permite una selección automática del paso de
integración h (métodos adaptivos de paso variable) como se puede apreciar
en el algoritmo que sigue.

Este esquema se utiliza en M ATLAB mediante el comando ode45.

A su vez el comando ode23 implementa un esquema RKF23 similar.

521230 - 26 - DIM – Universidad de Concepción


Algoritmo (RK45)
Dados f (x, y), a, y0 , b,  y h (paso inicial tentativo)
Para i= 0, 1, 2, ...
(1) xi+1 = xi + h
k1 = hf (xi , yi )
k2 = hf (xi + 14 h, yi + 14 k1 )
k3 = hf (xi + 38 h, yi + 323
k1 + 9
k )
32 2

k4 = hf (xi + 1213
h, yi + 1932 k − 7200
2197 1
k + 7296
2197 2
k )
2197 3

k5 = hf (xi + h, yi + 439 k − 8k2 + 3680


216 1
845
k − 4104
513 3
k4 )
k6 = hf (xi + 12 h, yi − 27 8
k1 + 2k2 − 3544 k + 1859
2565 3
k − 11
4104 4
k )
40 5
25
yi+1 = yi + 216 k1 + 1408 k + 2197
2565 3
k − 15 k5
4104 4
1 128 2197 1 2
τi+1 := 360 k1 − 4275 k3 − 75240 k4 + 50 k5 + 55 k6
s := 0.84 (/ |τi+1 |)1/4
Si |τi+1 | < , OK: h = 2sh −→ (2)
Si no, h = sh −→ (1)
(2) fin i, hasta que xi+1 ≥ b.

521230 - 27 - DIM – Universidad de Concepción

También podría gustarte