Вы находитесь на странице: 1из 27

Ecuaciones Diferenciales Ordinarias I

Problemas de valores iniciales (P.V.I.) Existencia y unicidad de solucion. Solucion numerica de un P.V.I. Metodo de Euler. Metodos Runge-Kutta.

Control del error. Esquemas Runge-Kutta-Fehlberg.

521230

-1-

DIM Universidad de Concepcion

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


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

el que supondremos tiene solucion unica, y

y (x) = f (x, y(x)), x [a, b], y(a) = y0 dado,

: [a, b] R, la cual es acotada y

depende continuamente de los datos f e y0 .

521230

-2-

DIM Universidad de Concepcion

Existencia y unicidad de solucion de un P.V.I.


Teorema. Sean D un subconjunto convexo de R2 , f una funcion continua en el dominio D y (a, y0 ) un punto interior de D . Considere el P.V.I.

Si f satisface la condicion de Lipschitz

y = f (x, y), (x, y) D, y(a) = y0 . (x, y1 ), (x, y2 ) D

|f (x, y1 ) f (x, y2 )| k|y1 y2 |


con k

0, entonces, para algun intervalo I = [a , a + ], existe una unica solucion y = y(x) del P.V.I. denida en ese intervalo I .

521230

-3-

DIM Universidad de Concepcion

f (x, y) existe y es acotada en D, entonces la condicion de Observacion. Si y


Lipschitz se satisface con

k = max
Ejemplo. Considere la ecuacion

(x,y)D

f (x, y) < . y

y = 1 + sen xy y D = (x, y) R2 , 0 x 1, < y < .


Se tiene que

f (x, y) = 1 + sen(xy) y
Luego, dado cualquier (a, y0 ) con 0

f (x, y) = x cos(xy) k = 1. y

< a < 1, por el teorema existe una unica solucion del P.V.I. en algun intervalo centrado en a. Mas aun, puede demostrarse que el P.V.I. tiene solucion unica en todo el intervalo [0, 1].

521230

-4-

DIM Universidad de Concepcion

Solucion Numerica de un P.V.I.


Los metodos numericos para resolver el P.V.I.

se basan en tomar una particion en N subintervalos del intervalo [a, b],

y (x) = f (x, y(x)), x [a, b], y(a) = y0 dado, a = x0 < x1 < < xN = b,

y obtener sucesivamente N numeros y1 , y2 , . . . , yN que aproximan a los valores y(x1 ), . . . , y(xN ) de la solucion exacta en los nodos x1 , . . . , xN . Tpicamente los nodos se escogen equiespaciados; es decir, estan denidos por

xi = a + ih, i = 0, . . . , N,

ba . con h = N

521230

-5-

DIM Universidad de Concepcion

Metodo de Euler (o de la Tangente)


Considere el P.V.I.

y (x) = f (x, y(x)), x [a, b], y(a) = y0 .


Una manera geometrica de aproximar la solucion de este problema consiste en reemplazar la derivada aproximacion

y por la
y
i

yi+1

y(x + h) y(x) y (x) h


valida para h pequeno.

xi

xi+1

521230

-6-

DIM Universidad de Concepcion

Haciendo este reemplazo en la ecuacion 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 condicion inicial y(a) = y0 y considerando h pequeno, el valor

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


dene una aproximacion para y(a + h). Una vez calculada esta aproximacion, se puede utilizar para obtener la aproximacion y2 de y(a + 2h), a saber,

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

521230

-7-

DIM Universidad de Concepcion

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)

= 0, . . . , N 1 xi = a + ih yi+1 = yi + hf (xi , yi ) n i.
Para i

521230

-8-

DIM Universidad de Concepcion

Metodos Runge-Kutta
Los metodos 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 verican: N recibe el nombre de rango del algoritmo y los parametros j

0 j 1,
As, en cada caso,

con

0 = 0 y q = 1. xiq = xi+1 .

xi0 = xi

xi=xi0

i1

xi2

i3

...

x =x
iq

i+1

521230

-9-

DIM Universidad de Concepcion

En los nodos auxiliares se denen los valores:

yi0 yij
siendo yi+1

:= :=

yi , yi + h

j1

Ajl f (xil , yil ),


l=0

j = 1, . . . , q,

:= yiq el valor aproximado por el metodo para y(xi+1 ).

Cuando los puntos xij y las constantes Ajl se determinan de manera que el desarrollo de yij coincida hasta el termino en hp con el desarrollo de Taylor de la solucion exacta del P.V.I. local:

el correspondiente metodo se dice de orden p y rango q , y se abrevia por

y (x) = f (x, y (x)), x [x , x ], i i+1 y (xi ) = yi , con yi considerada exacta,

RKpq .

521230

- 10 -

DIM Universidad de Concepcion

Denicion. Se dene el error local de truncamiento en xi+1 por

i+1 := y (xi+1 ) yi+1 ,


donde y es la solucion del P.V.I. local anterior e yi+1 el valor obtenido por el metodo. Denicion. Se dene el error global en xi+1 por

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


donde y(xi+1 ) es el valor de la solucion exacta del P.V.I. en el nodo xi+1 e yi+1 es el valor obtenido por el metodo. Para un metodo 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 ,
pero
0iN 1

i = 0, . . . , N 1, |Ei+1 | Chp .

max

521230

- 11 -

DIM Universidad de Concepcion

Otra vez: metodo de Euler o de la tangente (RK11 )


= p = 1; es decir, el metodo Runge-Kutta de orden 1 y rango 1: RK11 . Por lo tanto, 0 = 0, 1 = 1 y, en consecuencia, Corresponde al caso en que q

xi0 = xi

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 metodo de orden 1, el coeciente A10 debe determinarse de modo que el error local de truncamiento sea O(h2 ).

521230

- 12 -

DIM Universidad de Concepcion

Considere el P.V.I. local

El desarrollo de Taylor de la solucion es

y (x) = f (x, y (x)), x [x , x ], i i+1 y (xi ) = yi , con yi considerada exacta.

y (xi+1 )

h2 = y (xi ) + h (xi ) + y (i ) y 2 h2 = yi + hf (xi , yi ) + y (i ), 2

con xi

< i < xi+1 .

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 terminos en h.

521230

- 13 -

DIM Universidad de Concepcion

Esto conduce al metodo 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 metodo resultan O(h2 ):

i+1

h2 y (i ), = 2

i = 0, . . . , N 1.

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


0iN 1

max

|Ei+1 | Ch.

521230

- 14 -

DIM Universidad de Concepcion

Ejemplo.

y = y, y(0) = 1.
Solucion:

Solucin exacta Mtodo de Euler 2.5

y(x) = ex .
1.5

Metodo de Euler.

[a, b] = [0, 1] N =5 ba = 0.2 h= N

0.5 0.2

0.2

0.4

0.6

0.8

1.2

521230

- 15 -

DIM Universidad de Concepcion

Metodos RK22
Estos metodos 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,


y

xi0 = xi ,

xi1 = xi + 1 h

xi2 = xi + h = xi+1 . < 1 1.

donde el parametro 1 debe escogerse de manera tal que 0

Los desarrollos en potencias de h para los correspondientes valores yi1 e yi2 se utilizan para obtener una expresion de yi+1 que se iguala al desarrollo de Taylor de la solucion del P.V.I. local y (xi+1 ) hasta los terminos en h2 . As se obtiene la siguiente familia de algoritmos RK22 (dependiente del parametro 1 ):

xi1 := xi + 1 h, yi1 := yi + h1 f (xi , yi ), yi+1 := yi2 1 := yi + h 1 21


- 16 -

f (xi , yi ) + h

1 21

f (xi1 , yi1 ).

521230

DIM Universidad de Concepcion

Casos particulares

1.- Metodo de Euler mejorado (tangente mejorada) Corresponde a la eleccion de 1 del intervalo [xi , xi+1 ]. De las ecuaciones anteriores se obtiene algoritmo queda as: Algoritmo (Euler mejorado) Para i

= 1 , con lo cual xi1 resulta ser el punto medio 2 yi+1 = yi + hf (xi1 , yi1 ) y el

= 0, . . . , N 1 xi = a + ih xi1 = xi + yi1 = yi +
h 2 h 2 f (xi , yi )

yi+1 = yi + hf (xi1 , yi1 ) n i.

521230

- 17 -

DIM Universidad de Concepcion

Mtodo de Euler Mejorado

yi+1

yi1

i1

i+1

521230

- 18 -

DIM Universidad de Concepcion

2.- Metodo de Euler-Cauchy Corresponde al caso en que 1 queda as: Algoritmo (Euler-Cauchy) Para i

= 1, con lo cual xi1 = xi+1 y el algoritmo

= 0, . . . , N 1 xi = a + ih xi1 = xi + h yi1 = yi + hf (xi , yi ) yi+1 = yi + h [f (xi , yi ) + f (xi1 , yi1 )] 2

n i.

521230

- 19 -

DIM Universidad de Concepcion

Mtodo de EulerCauchy

yi+1

yi1

xi

i+1

=x

i1

521230

- 20 -

DIM Universidad de Concepcion

Metodo RK44 clasico (o RK4)


Este metodo es de rango 4 y corresponde a la la eleccion de parametros

0 = 0,
Por lo tanto,

1 = 2 =

1 , 2

3 = 4 = 1.

xi0 = xi ,

xi1 = xi2

h = xi + , 2

xi3 = xi4 = xi + h = xi+1 .

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

yi4 .
La expresion de yi+1 que se obtiene a partir de esos desarrollos se iguala al desarrollo de Taylor de la solucion y (xi+1 ) del P.V.I. local, hasta los terminos 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 Concepcion

Este metodo, tambien conocido como RK4, es sumamente utilizado debido a su alta precision. El algoritmo del metodo puede escribirse convenientemente del siguiente modo:

Algoritmo (RK4)

= 0, . . . , N 1 xi = a + ih k1 = hf (xi , yi ) k2 = hf (xi + h , yi + 1 k1 ) 2 2 h k3 = hf (xi + 2 , yi + 1 k2 ) 2 k4 = hf (xi + h, yi + k3 ) yi+1 = yi + 1 [k1 + 2(k2 + k3 ) + k4 ] 6 n i.


Para i

521230

- 22 -

DIM Universidad de Concepcion

Ejemplo.

y = y, y(0) = 1.
Euler: Sol. Cal.
1.000000 1.100000 1.210000 1.331000 1.464100 1.610510 1.771561 1.948717 2.143588 2.357947 2.593742 2.853116 3.138428 3.452271 3.797498 4.177248

Solucion exacta:

y(x) = ex .

h = 0.1
Error
0.0 5.1 103 1.1 102 1.8 102 2.7 102 3.8 102 5.0 102 6.5 102 8.1 102 0.1 0.12 0.15 0.18 0.21 0.25 0.30

x
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5

Sol. Ex.
1.000000 1.105170 1.221402 1.349858 1.491824 1.648721 1.822118 2.013752 2.225540 2.459603 2.718281 3.004166 3.320116 3.669296 4.055199 4.481689

Euler: h = 0.025 Sol. Cal. Error


1.000000 1.103812 1.218402 1.344888 1.484505 1.638616 1.808725 1.996495 2.203756 2.432535 2.685063 2.963808 3.271489 3.611112 3.985992 4.399789 0.0 1.3 103 2.9 103 4.9 103 7.3 103 1.0 102 1.3 102 1.7 102 2.1 102 2.7 102 3.3 102 4.0 102 4.8 102 5.8 102 6.9 102 8.1 102

RK44 : h = 0.1
Sol. Cal.
1.000000 1.105170 1.221402 1.349858 1.491824 1.648720 1.822117 2.013751 2.225539 2.459601 2.718279 3.004163 3.320113 3.669293 4.055195 4.481683

Error
0.0 8.4 108 1.8 107 3.1 107 4.5 107 6.3 107 8.3 107 1.0 106 1.3 106 1.6 106 2.0 106 2.5 106 3.0 106 3.6 106 4.3 106 5.1 106

521230

- 23 -

DIM Universidad de Concepcion

4.5

Solucin exacta Mtodo de Euler, h=0.2 Mtodo de Euler, h=0.1 Mtodo RK4, h=0.2

3.5

2.5

1.5

0.5 0.2

0.2

0.4

0.6

0.8

1.2

1.4

1.6

521230

- 24 -

DIM Universidad de Concepcion

Control del Error Local de Truncamiento


Usualmente, el tamano del paso h a utilizar no es contante, sino que se determina en cada paso a n de que los errores se mantengan por debajo de una tolerancia prejada. En la practica, no es posible determinar a priori cual es el tamano 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 solucion numerica con un tamano de paso h, estimar a posteriori el error local a n de decidir si la solucion calculada es aceptable o no y, en caso negativo, intentar recalcularla con otro tamano de paso h

< h.

521230

- 25 -

DIM Universidad de Concepcion

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 numero de evaluaciones de f , ya que el RK56 utiliza las mismas 5 evaluaciones del RK45 y una sola mas. En cada paso, el valor de la solucion calculado por el metodo de mayor orden

(RK56 ) se utiliza para estimar a posteriori el error del calculado por el de menor orden (RK45 ).
De ese modo, este metodo permite una seleccion automatica del paso de integracion h (metodos 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 Concepcion

Algoritmo (RK45) Dados f (x, y), a, y0 , b, Para i (1) y h (paso inicial tentativo)

= 0, 1, 2, ... xi+1 = xi + h k1 = hf (xi , yi ) k2 = hf (xi + 1 h, yi + 1 k1 ) 4 4 3 3 k3 = hf (xi + 8 h, yi + 32 k1 +

9 k ) 32 2 k4 = hf (xi + 12 h, yi + 1932 k1 7200 k2 + 7296 k3 ) 13 2197 2197 2197 845 k5 = hf (xi + h, yi + 439 k1 8k2 + 3680 k3 4104 k4 ) 216 513 8 k6 = hf (xi + 1 h, yi 27 k1 + 2k2 3544 k3 + 1859 k4 11 k5 ) 2 2565 4104 40 25 yi+1 = yi + 216 k1 + 1408 k3 + 2197 k4 1 k5 2565 4104 5 1 128 2197 1 2 i+1 := 360 k1 4275 k3 75240 k4 + 50 k5 + 55 k6 s := 0.84 ( / |i+1 |)1/4

(2)

< , OK: h = 2sh (2) Si no, h = sh (1) n i, hasta que xi+1 b.

Si |i+1 |

521230

- 27 -

DIM Universidad de Concepcion

Вам также может понравиться