Metodos de runge_kutta

568 views

Published on

Published in: Entertainment & Humor, Travel
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
568
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Metodos de runge_kutta

  1. 1. METODOS DE RUNGE-KUTTA.Los métodos de RK se derivan a partir de la serie de Taylor. La forma general de laecuación usada para formular el método de RK es y n +1 = y n + ∆y n , ∆y n = φ (t n , y n )h∆yn es la función incremental que puede interpretarse como la pendiente representativadel intervalo.En general φ = a1 k1 + a 2 k 2 + .... + a n k nLas a’s son constantes y las k’s se definen como:k 1 = f (t n , y n )k 2 = f (t n + p1 h , y n + q11 k 1 h )k 3 = f (t n + p 2 h , y n + q 21 k 1 h + q 22 k 2 h )..k n = f (t n + p n −1 h , y n + q n −1,1 k 1 h + q n − 2 k 2 h + ... + q n −1, n −1 k n −1 h )Para derivar los valores de las constantes a y k en el método de RK de 20, escribimos y n + 1 = y n + (a 1 k 1 + a 2 k 2 )hdonde k1 = f (t n , y n ) k 2 = f (t n + p1 h, y n + q11 k1 h )Desarrollamos yn+1 en serie de Taylor de 20 orden, tomando como punto base yn f ′(t n , y n ) 2 y n+1 = y n + f (t n , y n ) h + h 2!la derivada de f ( tn , yn ) se desarrolla por medio de la regla de la cadena ∂f (t , y ) ∂f (t , y ) dy f ′(t n , y n ) = + ∂t ∂y dtsustituyendo esta expresión obtenemos  ∂f ∂f dy  h 2 y n +1 = y n + f (t n , y n )h +  +  ∂t ∂y dt  2!  (1)   1
  2. 2. Además la expansión de f (t n + p1h, y n + q11k1h ) en serie de Taylor, toma la formadada por: ∂g ∂g g ( x + r , y + s ) = g ( x, y ) + r +s + ... ∂x ∂yentonces, la serie de Taylor de la función mencionada resulta: ∂f ∂f f (t n + p1 h, y n + q11k1 h ) = f (t n , y n ) + p1 h ∂t + q11 k1 h + O h 2 ∂y ( )de donde tendremos: y n +1 = y n + (a1 k1 + a 2 k 2 )h = y n + a1 h f (t n , y n ) + a 2 h f (t n + p1 h, y n + q11 k1 h )  ∂f ∂f  = y n + a1 h f (t n , y n ) + a 2 h  f (t n , y n ) + p1 h + q11 k1 h + O h 2  ∂x ∂y ( )   ∂f ∂f = y n + a1 h f (t n , y n ) + a 2 h f (t n , y n ) + a 2 p1 h 2 ∂x + a 2 q11 k1 h 2 ∂y + O h3 ( )  ∂f ∂f  y n +1 = y n + [a1 f (t n , y n ) + a 2 f (t n , y n )]h + a 2 p1 ∂x ( ) + a 2 q11 f (t n , y n )  h 2 + O h 3 ∂y  recordando que k = f (t n , y n ) .Comparando esta ultima ecuación con (1) arriba a1 + a 2 = 1 a1 + p 2 = 1 2 a 2 q11 = 1 2que representan 3 ecuaciones en 4 incógnitas. Existen una familia de métodos de RK de20 orden, uno de ellos es el definido por y n +1 = y n + ( 1 k1 + 1 k 2 )h 2 2 2
  3. 3. METODO DE RUNGE-KUTTA (CON COEFICIENTES DE RUNGE).La formula del método RK de 40 orden es: ∆t y n +1 = y n + ∆y n , ∆y n = (k 0 + 2k1 + 2k 2 + k 3 ) 6donde k 0 = f (t n , y n )  ∆t k  k1 = f  t n + , y n + 0 ∆t   2 2   ∆t k  k 2 = f  t n + , y n + 1 ∆t   2 2  k 3 = f (t n + ∆t , y n + k 2 ∆t )Las cantidades k representan las pendientes en varios puntos: • K0 es la pendiente en el punto inicial del intervalo • K3 es la pendiente en el punto final del intervalo • K2 es una de las pendientes a mitad del intervalo con ordenada y n + 1 k1 ∆t 2 • K1 es la 2a pendiente a mitad del intervalo con ordenada y n + 1 k 0 ∆t 2 3
  4. 4. Mientras que el método de Euler utiliza una pendiente, el método RK usa unpromedio ponderado de pendientes.DERIVACIÓN DE LA FORMULA DE RK 40 ORDEN CON COEFICIENTESDE RUNGE.Las formulas de los métodos de RK se desarrollan a partir de las serie de Taylor: y n′ ′ ′′′ ivy n +1 = y n + y n (t n +1 − t n ) + ′ (t n +1 − t n )2 + y n (t n+1 − t n )3 + y n (t n +1 − t n )4 + ..... 2! 3! 4!como tn+1 = tn + ∆t, y n′ 2 y n′′ 3 y n ′ ′ iv y n +1 ′ = y n + y n ∆t + ∆t + ∆t + ∆t 4 + ..... 2! 3! 4!definamos yn+1 – yn = =∆yn , entonces y ′′ 2 y ′′′ 3 y n iv ∆y n = y ′ ∆t + ∆t + ∆t + n n n ∆t 4 + ..... (A) 2! 3! 4!Denotamos: y’ = f ( t , y), entonces: ∂f ∂f dy y ′′ = f ′ = + = ft + f y f ∂t ∂y dt ∂f ′ ∂f ′ y ′′′ = f ′′ = + f = ∂t ∂y [ ] [ ( = f tt + ( f yt f + f y f t ) + f ty + f yy f + f y2 f )] y iv = f ttt + ...... 4
  5. 5. Sustituyendo lo anterior en la ecuación de ∆yn resulta ∆y n = f n ∆t + ( 2! )( f t + f y f )n (∆t ) + 1 2 ( 31! )[ f tt + 2 f ty f + f yy f 2 + ( f t + f y f ) f y ]n (∆t )3 + ( 41! )[ f ttt + ...](∆t )4 (B)La evaluación de tanta derivada es poco practico y para evitar esta dificultadtomamos arbitrariamente ∆y n = (µ 0 z 0 + µ1 z1 + µ 2 z 2 + ... + µ m z m ) z 0 = f (t n , y n )∆t z1 = f (t n + α 1 ∆t , y n + β 10 z 0 )∆t z 2 = f (t n + α 2 ∆t , y n + β 20 z 0 + β 21 z1 )∆t . . z m = f (t n + α n ∆t , y n + β m 0 z 0 + β m1 z1 + ....)∆tEl objetivo es determinar los tres conjuntos de constantes µ , α , β. El subíndicem indica que las expresiones para ∆yn debe coincidir hasta el término que contienea (∆t)m-1.Con m = 3 : ∆ y n = µ 0 z 0 + µ 1 z1 + µ 2 z 2 + µ 3 z 3 (C) z 0 = f (t n , y n )∆t z1 = f (t n + α 1 ∆t , y n + β 10 z 0 )∆t z 2 = f (t n + α 2 ∆t , y n + β 20 z 0 + β 21 z1 )∆t z 3 = f (t n + α 3 ∆t , y n + β 30 z 0 + β 31 z1 + β 32 z 2 )∆tAhora buscamos la forma de determinar las 13 constantes µ0 , µ1 , µ2 , µ3 , α1 ,α2 , α3 , α4 , β10 , β20, β30, β21, β31, β32. Para esto, partimos de la serie de Taylorpara dos variables independientes alrededor del punto (a , b): f (a + h, b + k ) = f (a, b ) + f x (a, b ) + f y (a, b )k + 1 2! [f xx (a, b ) h 2 + 2 f xy (a, b ) h k + ] f yy (a, b ) k 2 + .... 5
  6. 6. La serie anterior a menudo se escribe simbólicamente como sigue:  ∂ ∂  f (a + h, b + k ) = f (a, b ) +  h + k  f (a, b ) +  ∂x  ∂y   2 1 ∂ ∂  +  h + k  f (a, b ) +  ∂x 2!  ∂y   3 1 ∂ ∂  +  h + k  f (a, b ) + ... 3!  ∂x  ∂y   Ahora sustituimos z0 , z1 , z2 y z3 en la ultima ecuación para obtener:z 0 = f n ∆t   ∂ ∂ 1 ∂ ∂ 2 1 ∂ ∂ 3 z1 =  f n α1 ∆t + β10 z 0  f n + α1 ∆t + β10 z 0  f n + α1 ∆t + β10 z 0  f n + ...∆t +   ∂t ∂y   2!   ∂t ∂y   3!   ∂t ∂y        ∂ ∂ 1 ∂ ∂ 2   f n + α 2 ∆t + (β 20 z 0 + β 21 z1 )  f n + α 2 ∆t + (β 20 z 0 + β 21 z1 )  f n     ∂t ∂y   2!   ∂t ∂y   z2 =  3 ∆t + 1  ∆ ∂ + ( ∂   3! α 2 t ∂t β 20 z 0 + β 21 z1 ) ∂y  f n + ...          ∂ ∂ 1 ∂ ∂ 2   f n + α 3 ∆t + (β 30 z 0 + β 31 z1 + β 32 z 2 )  f n + α 2 ∆t + (β 30 z 0 + β 31 z1 + β 32 z 2 )  f n  +   ∂t ∂y   2!   ∂t ∂y   z3 =  3 ∆t + 1  ∆ ∂ + ( ∂   3! α 2 t ∂t β 30 z 0 + β 31 z1 + β 32 z 2 ) ∂y  f n + ...       Si igualamos los coeficientes de (B) con (C) y estas ultimas relaciones de las z’s,obtenemos 11 ecuaciones en 13 incógnitas : α 1 = β 10 α 2 = β 20 + β 21 α 3 = β 30 + β 31 + β 32 µ 0 + µ1 + µ 2 + µ 3 = 1 µ1α 1 + µ 2α 2 + µ 3α 3 = 1 2 µ1α 12 + µ 2α 2 + µ 3α 3 = 2 2 1 3 µ1α 13 + µ 2α 2 + µ 3α 3 = 3 3 1 4 6
  7. 7. µ 2α 1 β 21 + µ 3 (α 1 β 31 + α 2 β 32 ) = 1 6 µ 2α 12 β 21 + µ 3 (α 12 β 31 + α 2 β 32 ) = 12 2 1 µ 2α 1α 2 β 21 + µ 3 (α 1 β 31 + α 2 β 32 )α 3 = 1 8 µ 3α 1 β 21 β 32 = 1 24Con 11 ecuaciones y 13 incógnitas debemos escoger 2 de las incógnitas y resolver elsistema de ecuaciones.Para µ1 = µ 2 = 1 obtenemos: 3µ0 = 1/6 , µ1 = 1/3 , µ2 = 1/3 , µ3 = 1/6;α1 = ½ , α2 = ½ , α3 = 1 ;β10 = 1/2 , β20 = 0 , β30 = 0 , β21 = 1/2 , β31 = 0 , β32 = 1Los anteriores coeficientes se denominan coeficientes de Runge. 7

×