6
1 Deducción de las Ecuaciones del Método de Runge-Kutta El problema consiste en encontrar una solución numérica a la ecuación diferencial ordinaria de primer orden: ( y x f dx dy , = ) sujeta a la condición inicial . El objetivo consiste en encontrar aproximaciones satisfactorias para los valores de la solución en un conjunto especificado de valores de ( ) 0 0 y x y = () x y x denotados como . Los valores exactos los denotaremos como 4 , x 3 2 1 , , x x x ( ) ( ) ( 3 2 , , x y x y ) 1 x y y sus valores aproximados los denotaremos como 4 2 1 , , y y y 3 , y Empezamos aproximando el valor de en el punto y x x x + = 0 1 , esto es, . La manera mas simple de hacer esto consiste en aproximar ( ) y y x y + = 0 1 y por la estimación acostumbrada para el verdadero incremento, o sea ( ) x y dy y x = x 0 0 0 , y . La ecuación diferencial misma nos da el valor de la derivada en el punto ( ) , esto es, ; y entonces ( ) 0 x y ( 0 0 , y x f = ) ( ) x y x f y 0 0 , y por lo tanto ( ) 0 1 y y x y ( 0 0 x f y ) 1 0 , y x y = + + = Una vez que ha sido obtenida como la aproximación a 1 y ( ) 1 x y , el mismo procedimiento puede repetirse en ( ) 1 1 , y x 2 y para obtener ( ) ( ( ) 1 1 1 1 2 , x y x f y y x y x y ) = + = + ; y así sucesivamente hasta donde se necesite. Este método se conoce con el nombre de “Método de Euler” Ahora bien, habiendo obtenido como una primera aproximación a por el método de Euler, podemos usar ahora la ecuación diferencial para calcular 1 y ( 1 x y ) y en el nuevo punto y usar entonces el promedio de las derivadas en los puntos y para obtener una mejor aproximación de , y por tanto de antes de calcular la siguiente aproximación ( 1 1 1 , : y x P ( 1 1 1 , : y x P ) ) ( ) 0 0 0 , : y x P ( ) 1 x y y ( ) 2 x y . Este método nos da el valor ( ) [ ( ) ] x 1 x y x y + 0 y 2 1 , y la estimación mejorada del siguiente punto es entonces: ( ) ( ) [ ) 1 1 0 , x y x f x + ] ( 2 1 y = 0 , y 0 0 y y + 2 1 f y + . Este proceso se conoce con el nombre de “Método Modificado de Euler” Otra posibilidad adicional, después de haber obtenido como una primera aproximación a 1 y ( ) 1 x y por el método de Euler, consiste en reaproximar y y ( ) 1 x y usando la derivada en el punto medio de ( ) 0 0 0 , : y x P y ( ) 1 1 , : y x 1 P en lugar de usar el promedio de las derivadas, esto es en el punto:

Deduccion Ecuaciones Runge-Kutta

Embed Size (px)

Citation preview

Page 1: Deduccion Ecuaciones Runge-Kutta

1

Deducción de las Ecuaciones del Método de Runge-Kutta El problema consiste en encontrar una solución numérica a la ecuación diferencial

ordinaria de primer orden: ( yxfdxdy ,= ) sujeta a la condición inicial . El

objetivo consiste en encontrar aproximaciones satisfactorias para los valores de la solución en un conjunto especificado de valores de

( ) 00 yxy =

( )xy x denotados como . Los valores exactos los denotaremos como 4, x321 ,, xxx ( ) ( ) ( 32 ,, xyxy )1xy y

sus valores aproximados los denotaremos como 421 ,, yyy 3 ,yEmpezamos aproximando el valor de en el punto y xxx ∆+= 01 , esto es,

. La manera mas simple de hacer esto consiste en aproximar ( ) yyxy ∆+= 01 y∆ por la estimación acostumbrada para el verdadero incremento, o sea ( ) xydyy x ∆′=≅∆

x0

00 , y

. La ecuación diferencial misma nos da el valor de la derivada en el punto ( ) , esto es, ; y entonces ( )0xy′ ( 00 , yxf= ) ( ) xyxfy ∆≅∆ 00 , y por lo tanto

( ) 01 yyxy ( 00 xfy ) 10, yxy =∆+≅∆+= Una vez que ha sido obtenida como la aproximación a 1y ( )1xy , el mismo procedimiento puede repetirse en ( )11, yx

2y para obtener

( ) ( ( )11112 , xyxfyyxyxy ) =∆+≅= ∆+ ; y así sucesivamente hasta donde se necesite. Este método se conoce con el nombre de “Método de Euler” Ahora bien, habiendo obtenido como una primera aproximación a por el método de Euler, podemos usar ahora la ecuación diferencial para calcular

1y ( 1xy )y′ en el

nuevo punto y usar entonces el promedio de las derivadas en los puntos y para obtener una mejor aproximación de , y por tanto de

antes de calcular la siguiente aproximación

( 111 ,: yxP( 111 ,: yxP

))( )000 ,: yxP

( )1xyy∆

( )2xy . Este método nos da el

valor ( )[ ( )] x∆1xyxy ′+′ 0y ≅∆21 , y la estimación mejorada del siguiente punto es

entonces: ( ) ( )[ )110 , xyxfx ∆+ ] ( 21y=0 , y00 yy ≅∆+21 fy + . Este proceso se conoce

con el nombre de “Método Modificado de Euler” Otra posibilidad adicional, después de haber obtenido como una primera aproximación a

1y( )1xy por el método de Euler, consiste en reaproximar y y∆ ( )1xy

usando la derivada en el punto medio de ( )000 ,: yxP y ( )11,: yx1P en lugar de usar el promedio de las derivadas, esto es en el punto:

Page 2: Deduccion Ecuaciones Runge-Kutta

2

++2

,2

: 1010 yyxxM . Esto nos da la estimación mejorada

( ) xxyxfyxxfxyyxxfy ∆

∆+

∆+=∆

++≅∆ 0000

1010 ,21,

22,

2

( )1xy ( )

, y esto nos da una

tercera aproximación a como: ( ) xxyxfyxxfyy ∆

∆+

∆++= 0000031 ,

21,

2 .

Este proceso se conoce con el nombre de “Método de Runge” El método de Runge-Kutta es básicamente una generalización de esos tres procedimientos simples en el que en cada paso se calculan tres o mas estimaciones de . El valor de que se usa entonces para calcular el siguiente valor de es una combinación lineal de esas estimaciones en la cual las constantes de combinación se escogen para hacer el error tan pequeño como sea posible.

y∆ y∆ y

En el método de Runge-Kutta de tercer orden se toman los siguientes tres estimados de : y∆( ) ( ) xyxfy ∆=∆ 001 ,( ) ,02

que es la estimación del método de Euler; ( )[ ] 10;10 <<∆∆+ pxypy∆+=∆ xpxfy ; que es parecido al estimado del

método de Runge excepto que en lugar de evaluar en el punto medio (con 21

=p ) la

derivada se calcula en un punto ( )[ ]10 yp0 ,: yxpxP ∆+∆+ , que todavía no se ha determinado; y ( ) ( ) ( )( )[ ] 1,0;, 12003 <<∆∆−+∆+∆+=∆ rqxyrqyryxqxfy

y en donde q y r deben

de calcularse. Finalmente el valor de ∆ que se usa finalmente para calcular se toma como: ( )

1y( ) ( ) ( )3214 ycybyay ∆+∆+∆=∆

y∆

en donde a,b,c son parámetros que igual que los parámetros p,q,r deben escogerse para dar la mas alta precisión al estimar . Los detalles de este cálculo pueden consultarse en el libro “Advanced Engineering Mathematics” de C.R.Wylie; Third Edition, McGraw-Hill, 1966. Dicho procedimiento nos lleva a un sistema de cuatro ecuaciones con seis

incógnitas: 61;

31;

21;1 22 ==+=+=++ prccqbpqcpbcba de donde

pueden despejarse cuatro de los parámetros en función de los otros dos, obteniendo:

( )( ) ( )

( )( )pp

pqqrpqqpc

qppqb

pqqppqa

32;

632;

632;

6236

−−

=−

−=

−−

=++−

=

Puesto que p y q son arbitrarias, tenemos entonces una familia de fórmulas biparámetricas que pueden usarse para resolver la ecuación diferencial de primer orden con una precisión del orden de ( )4x∆ .

Page 3: Deduccion Ecuaciones Runge-Kutta

3

Dos casos especiales del “Método de Runge-Kutta de Tercer Orden” vale la pena anotar. Para listarlos usaremos la notación convencional:

( ) ( ) ( ) 332211 ;;; kykykyhx =∆=∆=∆=∆

CASO 1:

( ) ( )

( )

hkyhxfk

hkyhxfk

hyxfk

kkyy

rqpcba

++=

++=

=

+=∆≅∆

======

2003

1002

001

314

32,

32

31,

31

,

341

32;

31;

43;0;

41

CASO 2:

( ) ( )

( )

hkyhxfk

hkyhxfk

hyxfk

kkkyy

rqpcba

++=

++=

=

++=∆≅∆

======

2003

1002

001

3214

32,

32

32,

32

,

33281

32;

83;

41

La discusión anterior puede extenderse sin dificultad, (excepto los detalles), para llegar a procedimientos de solución en los cuales el error es del orden de ( )55 x∆=h En particular los dos conjuntos de fórmulas siguientes son bastante útiles:

CASO 3:

( ) ( )

( )

( )hkyhxfk

hkyhxfk

hkyhxfk

hyxfk

kkkkyy

3004

2003

1002

001

43215

,21,

21

21,

21

,

2261

++=

++=

++=

=

+++=∆≅∆

Page 4: Deduccion Ecuaciones Runge-Kutta

4

CASO 4:

( ) ( )

( )

( )hkkkyhxfk

hkkyhxfk

hkyhxfk

hyxfk

kkkkyy

321004

21003

1002

001

43215

,31,

32

31,

31

,

3381

+−++=

+−+=

++=

=

+++=∆≅∆

El proceso de solución basado en el CASO 3 se conoce usualmente como “El Método de Runge-Kutta”

Page 5: Deduccion Ecuaciones Runge-Kutta

5

n Xn Yn k1 k2 k3 k4 kprom 0 1.00 1.0000 0.20000 0.23100 0.23426 0.27154 0.23367 1 1.10 1.2337 0.27141 0.31496 0.31997 0.37287 0.31902 2 1.20 1.5527 0.37265 0.43475 0.44252 0.51876 0.44099 3 1.30 1.9937 0.51836 0.60827 0.62041 0.73195 0.61795 4 1.40 2.6116 0.73126 0.86341 0.88257 1.04826 0.87858 5 1.50 3.4902 1.04706 1.24426 1.27483 1.52481 1.26834 6 1.60 4.7586 1.52274 1.82157 1.87088 2.25401 1.86028 7 1.70 6.6188 2.25040 2.71041 2.79091 3.38751 2.77342 8 1.80 9.3923 3.38121 4.10066 4.23375 5.17788 4.20465 9 1.90 13.5969 5.16682 6.31032 6.53331 8.05208 6.48436 10 2.00 20.0813 8.03251 9.87998 10.25872 12.74279 ########

Ejemplo de solución de una Ecuación Diferencial de Primer Orden por el Método de Runge-Kutta: y'=2xy

Page 6: Deduccion Ecuaciones Runge-Kutta

6

( )

++=

=

2,2

,

12

1

kyhxhfk

yxhfk

nn

nn

( )34

23

,2

,2

kyhxhfk

kyhxhfk

nn

nn

++=

++=

Método de Runge – Kutta ejemplo resuelto con detalles

( ) ( ) 10.0;11;2,;2 ====′ hyxyyxfxyy( )4321 2261 kkkkk prom +++=

0 hxx nn +=+1 promnn kyy +=+1 1k 2k 3k 4k promk

1 0000.11 =x 0000.11 =y

2000.00000.20000.10000.1

1

1

1

====

kfyx

2310.03100.2

1000.12

0500.12

2

11

1

==

=+

=+

kf

ky

hx

234255.034255.2

1155.12

0500.12

3

21

1

==

=+

=+

kf

ky

hx

271536.0715361.2

2342.11000.1

4

31

1

==

=+=+

kf

kyhx

233674.0=promk

2 1000.12 =x 2337.12 =y

27141.0714083.22337.11000.1

1

2

2

====

kfyx

314962.014962.3

3694.12

1500.12

2

12

2

==

=+

=+

kf

ky

hx

319971.0199716.3

3911.12

1500.12

3

22

2

==

=+

=+

kf

ky

hx

37288.07288.3

5537.12000.1

4

32

2

==

=+=+

kf

kyhx

319024.0=promk

3 2000.13 =x 5527.13 =y

37265.072648.35527.12000.1

1

3

3

====

kfyx

434756.034756.4

7390.12

2500.12

2

13

3

==

=+

=+

kf

ky

hx

44252.042519.4

7701.12

2500.12

3

23

3

==

=+

=+

kf

ky

hx

51876.0187572.5

99522.13000.1

4

33

3

==

=+=+

kf

kyhx

440994.0=promk

4 3000.14 =x 9937.14 =y