You are on page 1of 32

“AÑO DE LA

CONSOLIDACION DEL
MAR DE GRAU”

 FACULTAD : FIEE

 TEMA : METODO DE RUNGE KUTTA Y
EULER

 ESCUELA : ELECTRICA

 CURSO : ECUACIONES DIFERENCIALES

 PROFESOR : CHAVEZ SANCHEZ WILMER

 ALUMNO : SAMANIEGO LOPEZ DANILO

 CODIGO : 1523120307

2017

nuestro propósito es desarrollar el tema de una forma breve y entendible claro está utilizando la terminología necesaria en este capítulo. deformación de vigas. estabilidad de aviones. trayectorias balísticas. estudio de redes eléctricas. INTRODUCCION Dentro de la Ingeniería y otras ciencias hay diversos problemas que se formulan en términos de ecuaciones diferenciales. que va dirigido primeramente al docente del curso y a los colegas estudiantes que llevan el curso ya mencionado.ordenado y de fácil entendimiento . de igual manera se presenta algunos de problemas con el procedimiento completo . teoría de vibraciones y otras aplicaciones de aquí la importancia de su solución En el presente trabajo nos enfocaremos en la SOLUCION DE ECUACIONES DIFERENCIALES ORDINARIAS DE PRIMER ORDEN-Método de Runge kutta del curso de Métodos Numéricos. Por ejemplo.

en ir de un valor Yn conocido de la solución de la ecuación diferencial (1) en un punto. RESUMEN Cuando se desarrolla el método de Euler para resolver la ecuación diferencial de primer orden Y' = f(X. Para determinar la solución de la ecuación diferencial en X = X1. Sustituyendo la función f (X. al siguiente por medio de la tangente T1 a la curva integral Y = Y(X) en el mismo punto de la solución conocida. (1) Y) Con la condición inicial Y(X0) = (2) Y0 Consiste en aplicar repetidamente la fórmula de recurrencia Yn+1 = Yn + h f (Xn. X3. 3. X2. . en (3). .. Yn) donde n = 1. Y) dada en (1). como se muestra en la siguiente figura.. se tiene que Yn+1 = Yn + h (4) Y'n Expresión que indica que el método de Euler consiste gráficamente.. (3) 2.. .

De este planteamiento gráfico puede verse que una mejor aproximación a la solución de la ecuación diferencial se obtendría si en vez de ir por la tangente T1 para determinar la solución en el siguiente Punto Pivote. Yn). Yn+1) es el valor de la función f(X. 𝑌) (7) . puede decirse que ambas consisten en aplicar la fórmula de recurrencia (6) en donde Φ(𝑋. (Xn+1. se utiliza una secante con pendiente igual al promedio de pendientes de la curva integral en los puntos coordenados (Xn. como se muestra en la siguiente gráfica: Con lo aanterior se obtendría un método mejorado de Euler con error del orden de definido por la expresión (5) en donde f(Xn+1. Yn+1) en donde Xn+1 y Yn+1 pueden estimarse con el procedimiento normal de Euler. Y) para: X = Xn+1 Y = Yn + h f(Xn. 𝑌) = 𝑓(𝑋. Yn) Observando las expresiones para resolver la ecuación diferencial.

se dará a conocer sin demostrar y consiste en aplicar la ecuación de recurrencia (6) en donde la función está dada por la expresión: (10) En el cual . Estas características dan origen a una gran variedad de métodos conocidos como de runge-kutta la diferencia entre ellos cosiste en la forma como se define la función que aparece en la expresión (6). sino únicamente valores de la función f (x. mientras que la serie de Taylor sí requiere de la evaluación de derivadas. Como se ve. son métodos de un paso. Un método de Runge-Kutta para resolver ecuaciones diferenciales ordinarias de primer orden con error del orden . Esto hace que. estos métodos tienen los siguientes puntos en común: 1. y).EN EL METODO DE EULER (8) En lo que Y' = f(X. La ventaja de los métodos de Runge-Kutta con respecto al uso de la serie de Taylor. no requieren evaluar ninguna derivada. de uso tan frecuente que en la literatura sobre métodos numéricos se le llama simplemente el Método de Runge-Kutta. que es también un método de un paso. en la práctica. los métodos de Runge-Kutta requieren sólo de la función f (X. la aplicación de los métodos de Runge-Kutta sean más simples que el uso de la serie de Taylor. está expresado en el punto (2) anterior. 2. para determinar yn+1 se necesita conocer únicamente los valores de Xn y yn del punto anterior. es decir. Y) y de ninguna derivada. (9) Y) En el método de Euler Mejorado.

. k3 y k4 a la curva integral. (11) La ecuación (10) se obtiene haciendo un promedio de las cuatro pendientes. k1. en forma semejante a como se procedió con las pendientes de las tangentes T1 y T2 que dieron lugar a (5). k2.

OBJETIVOS Objetivo General Aprender a resolver Ecuaciones Diferenciales lineales de primer orden a través del método de Runge-Kutta. Identificar la exactitud del método. . Comparar el método de Runge-Kutta con la solución de la ecuación resuelta por métodos de integración. Objetivos Específicos Conocer ventajas y desventajas del método.

es un método de Runge Kutta de orden dos. El método de Euler se puede considerar como un método de Runge Kutta de primer orden.1 Método de RUNGE-KUTTA El método de Runge Kutta es un método numérico de resolución de ecuaciones diferenciales que surge como una mejora del método de Euler. 1. tanto implícitos como explícitos. El método de Runge-Kutta no es sólo un único método. CONTENIDO 1 METODO DE RUNGE KUTTA El método de Runge-Kutta es un método genérico de resolución numérica de ecuaciones diferenciales. Existen muchas variaciones. yi. el de Heun. pero todas se pueden denotar en la forma generalizada de la ecuación yi + 1 = yi + F (xi. yi.O´s). h) se conoce como la función incremento la cual puede interpretarse como una pendiente representativa en el intervalo. La función incremento se escribe en forma general como: . sino una importante familia de métodos iterativos.D. Los métodos de Runge-Kutta logran la exactitud del procedimiento de una serie de Taylor sin requerir el cálculo de derivadas superiores. para aproximar las soluciones de ecuaciones diferenciales ordinarias (E. h) h Donde F (xi. estas técnicas fueron desarrolladas alrededor de 1900 por los matemáticos alemanes Carl David Tolmé Runge y Martin Wilhelm Kutta.

+ qn-1.2k2h + ….F = a1k1 + a2k2 +…+ ankn Donde la a son constantes y las K son: k1 = f (xi. yi + q11k1h) k3 = f (xi + p2h. Existen varios tipos de métodos Runge-Kutta al emplear diferentes números de términos en la función incremento como la especificada por n. yi + q2n-1k1h + qn-1. n = 1. Una vez se elige n. a2. yi) k2 = f (xi + p1h. se evalúan las a. esta recurrencia hace que los métodos Runge-Kutta sean eficientes para la programación. La versión de segundo orden para la ecuación en su forma generalizada es: Donde: Los valores de a1. Como cada k es una evaluación funcional. es el método de Euler.n-1kn- 1h) Donde las p y q son constantes. p1 y q11 son evaluados al igualar el término de segundo orden de la ecuación dada con la expansión de la serie de Taylor. Desarrollando tres ecuaciones para evaluar las cuatro incógnitas: . p y q al igualar la función incremento a los términos en la serie de expansión de Taylor. yi + q21k1h + q22k2h) kn = f (xi + pnh.

Una versión ampliamente usada es: Éste es el más popular de los métodos Runge-Kutta de cuarto orden: . a2 = 2/3: Método de Ralston. el resultado son seis ecuaciones con ocho incógnitas. por lo tanto. donde: a2 = 1 : Método del punto medio. hay un número infinito de métodos Runge-Kutta de segundo orden. Siguiendo el mismo razonamiento para n = 3. a2 = 1/2: Método de Heun con un solo corrector.suponer el valor de una de ellas. Runge-Kutta de tercer orden. o sea. se deben suponer dos valores con antelación para poder desarrollar el sistema de ecuaciones. Suponiendo que se especificó un valor para a2. se puede resolver de manera simultánea el sistema de ecuaciones obtenido: Como se puede elegir un número infinito de valores para a 2.

determinando algunos coeficientes adecuados. así: Como podemos verificar.2 PRIMER METODO DE RUNGE KUTTA Sea dado el punto . reemplazando de acuerdo a las condiciones supuestas . es nuestro interés aproximar en dentro de la ecuación diferencial ordinaria Con tal propósito determinemos un punto intermedio de modo tal que.1. en el punto deseado su predictor y corrector será: Simplificaremos el proceso de cálculo. tendremos que él predictor y corrector en dicho punto intermedio se escribirá: Por lo cual. reemplazando en las expresiones correspondientes.

3 SEGUNDO METODO DE RUNGE KUTTA En forma similar. por medio de la determinación de los coeficientes de K del modo siguiente 1.De esta manera a partir de (x0. y0 ) en Y` = f(X. Y) es possible ubicar y1 en mediante el primer método de RUNGE KUTTA. se deduce un segundo método en función al siguiente sistema: .

como Suele simplificarse su cálculo efectuando el siguiente cambio de variable: De este modo.1.4 EXTENSION DEL METODO DE RUNGE KUTTA Para ecuaciones diferenciales de segundo orden. el sistema queda entonces reducido a: Determinándose los coeficientes siguientes: .

5. Resuelva el siguiente problema de valor inicial en el intervalo de x=0 a x=1. yi) 1 1 k = f (x h.y k h) 2 i i 1 2 2 .2 y 2 dx Donde: y (0) =1 h = 0.5 EJEMPLOS RESUELTOS 1.1 RUNGE –KUTTA PARA SEGUNDO ORDEN. dy yx . MÉTODO PUNTO MEDIO.1.25 Solución: yi 1 yi k2h k1 (xi.

y k1h) (x 0 2 0 2 1 1 k2 f (0.25 x2 0.641891) k2 0.25 y2 0. 1 (1.578319  Tercera iteración x2 x1 h x2 0.25.680003)0.2(0.680003 y2 0.85) k2 0.748320) k1 (0.2) (0. 0.25 k1 f(x1 .k2 f h .375)2 .25 x1 0.748320  Segunda iteración x1 x0 h x1 0 0.25) .25).25)2 .641891) k2 0.2(0.85(0.25 2 2 k2 f (0. y1 ) (0.25)) (0.006718)0.375.0.0.25 0.641891(0.748320)(0.748320 ( 0.748320) k1 0.851432 1 1 k2 f (0.851432)(0.2(0.006718 y1 1 (1.125)2 .25)) (0 2 2 k2 f (0.85) k2 1.25 y1 0. 0.748320 ( 0.5 .125.

3029 k2 f h .509643) k2 0. 1 1 k2 f (0.4752) k1 (0.75 2 2 k2 f (0. y k1h) (x 3 2 3 2 1 1 k2 f (0.25) .625)2 .25 y4 0.25)) 2 2 k2 f (0.75 k1 f(x3 .2(0.4373) k2 0.875.25)) (0.0.578319 ( 0.75.25 x3 0.3029)(0.549403)(0.0.509643(0.75)2 1. y 3 ) f (0.4277 x4 x3 h x4 0.4752) k1 0.2(0.25 y3 0.625.75 1 .4373(0.4373) k2 0.5 0.0.1900)0.5 0.25 0.5 (0.875)2 .509643) k2 0.4752 ( 0.4752)(0. 0.4752  Cuarta iteración x3 x2 h x3 0.1900 y4 0.578319 ( 0.4125)0.2(0.4752 ( 0.4125 y3 0. 0.25) .75 x4 1 Vectores solución X 0 0.

2 RUNGE –KUTTA PARA TERCER ORDEN Se resuelve el mismo problema anterior pero esta vez mediante el uso del método Runge kutta de tercer grado.125)2 .0067 k3 f(x o h . y k1h) (x 0 2 0 2 1 1 k2 f (0. En el método de Runge kutta de tercer orden se utilizan las siguientes formulas: 1 yi yi (k 4k 2 k 3 )h 1 1 6 k1 (xi.85) k2 1. 1 ( 1.2(0. y0 ) f (0 . yo 1 h 2k 2 h) . yi 1 h 2k 2 h)  Primera iteración k1 f(x0 . yi ) 1 1 k = f(x h.2)(0.25) .25)) (0 2 2 k2 f (0. de valor inicial.25 Solución.2 k2 f h .5. en el intervalo de x=0 a x=1.2(1) k1 1.125.85(0.2 y dx yx 2 Dónde: y(0)=1 h = 0.y k h) 2 i 2 i 1 2 k3 f(xi h . dy .1.1) 2 k1 (1)(0) .85) k2 0.0.

7445) ( 0.25 (0.8468 1 1 k f (x h .7445)(0. 0.25) 2( 0.7445  Segunda iteración x1 x0 h x1 0 0.57  20        .25) .6765 k3 (x1 h .7445) k1 (0.7445) k1 0.6386) k2 0.7445 ( 0.6386) k2 0.375.375)2 . 0. y k h) 1 2 1 21 2 1 1 k2 f (0. y1 ) 0.25).2(0.2(0.2(0.25 x1 0.6178(0.25 k1 f(x1 .6178) k3 0.8469)(0.25 k3 f (0. 1 y1 y0 (k 4k 2 k 3 )h 1 6 y1 0.(0.25.6178) k3 0.8469)(0.25)) 2 2 k2 f (0.0.6386(0.0.6765)(0.5. y1 k 1h 2k 2 h) k3 f (0.5)2 .25)) (0.5870 1 y2 y1 (k 4k 2 k 3 )h 1 6 y2  0.25)2 .

4679) k1 (0.5038) k3 0.5720) ( 0.25+0.75)2 .4080 k3 f(x 2 h .75)2 k1 0.5 2 2 k2 f (0. Tercera iteración x2= x1+h x2=0.25 x3 0.5434)(0.625.2(0.5434)(0.4080)(0.25) 2( 0. 0.75 k1 f(x3 .25) .4679  Cuarta iteración x3 x2 h x3 0.5720 ( 0.5 0.2986 .4679)(0.25)) (0.5038) k3 0.5041) k2 0.25).0.5 k3 f (0.25)) (0.3212 1 y3 y2 (k 4k 2 k 3 )h 1 6 y3 0.2(0.5041(0.(0. y2 k 1h 2k 2 h) k3 f (0. y k h) 2 2 2 21 2 1 1 k2 f (0.5041) k2 0.625)2 .75. y 3 ) f (0.5038(0.0.5 1 1 k f (x h .0.75.

4306) k2 0.1871 k3 f(x3 h .4306(0.25) .(0.4679) ( 0. y k h) 2 3 3 21 2 1 1 k2 f (0.25)) (0. y3 k1h 2k 2 h) k3 f (0.2983)(0.875)2 .2(0.25) 2( 0. 0.4679) 1 1 k f (x h .25)) .2(0.75 2 2 k2 f (0.0.2983)(0.75 (0.875.25).1871)(0.4679 ( 0.4306) k2 0.1.

2(0.75 1 SOLUCION: y 1 0.4206 x4 x3 h x4 0.5 0.4679 0.75 x4 1 VECTORES X 0 0. k3 0.0898 1 y4 y3 (k 4k 2 k 3 )h 1 6 y4 0.5720 0.4206 .4489(1)2 .4489) k3 0.7445 0.25 0.

INTRODUCCION .

una vez que el punto ha sido calculado. podemos tomarnos un nuevo punto A1 y suponer que dicho punto pertenece a la curva. Entonces. Se puede pensar en la ecuación diferencial como una fórmula que nos permite calcular la pendiente de la recta tangente a la curva en cualquier punto de la curva. como se discute más abajo) . Considere el problema de calcular la pendiente de una curva desconocida que comienza en un punto dado y satisface una cierta ecuación diferencial dada. Luego de varios pasos tendremos formada una curva poligonal A0A1A2A3. su punto de comienzo. además el error entre ambas curvas se puede minimizar si se dan pasos muy pequeños al avanzar sobre la recta tangente a la curva y además el intervalo sobre el que trabajamos es finito (aunque las cosas son más complicadas para ecuaciones inestables. La idea es que a pesar de que la curva es desconocida en un principio.. Ahora. En general esta curva que obtenemos al aplicar el método no diverge lejos de la curva original.. es conocido. al cual denotamos por A0. dando un pequeño paso sobre dicha recta. de la ecuación diferencial se puede calcular la pendiente de la curva en el punto A0 y por lo tanto la recta tangente a la curva. entonces seguimos el mismo razonamiento aplicado anteriormente y volvemos a calcular la pendiente de la recta tangente a la curva en el punto A1.

yr (xi) − ϕ (xi. y(xi)) = 0. y(xi)) = Si a continuación se impone que se satisfaga la ecuación diferencial en cada punto xi . y(xi)) resulta − ϕ (xi. y). FUNDAMENTO El objetivo es desarrollar un algoritmo numérico para resolver el problema de valores iniciales yr (x) = ϕ(x. b] (1) siendo ϕ(x. n.. x0 =a (2) siendo el espaciado h h=b− (3) a n El punto de partida lo constituye el desarrollo en Serie de Taylor de la función y(x) en el punto xi+1 de la discretización del dominio yrr (xi) 2 y(xi+1) = y(xi) + yr (xi)(xi+1 2 (x i+1 − + . i= 1. b]. Si en esta expresión se despeja la derivada primera: y(xi+1) − y(xi) yr (xi) − Θ(h) (6) = h y(xi+1) − y(xi) y restando en ambos miembros ϕ (xi. n (8) . dado que xi+1 = xi + h y(xi+1) = y(xi) + yr (xi)h + Θ(h2) (5) donde Θ(h2 ) denota los restantes términos del desarrollo en serie que dependen del factor h2 y/o de potencias superiores de h2 . b] discretizado en n + 1 puntos equiespaciados: xi = x0 + ih. continua en la variable x y lipschitziana en la variable y en el dominio [a. Considérese en principio el domino [a. (7) h yr (xi) − ϕ (xi.. i = 0. x ∈ [a. y) una función acotada. y(xi)) − Θ(h). y(a) = ya. (4) − x i) + ! x i) esto es. esto es.

resultando (11) . n. y(xi)) − Θ(h) = 0. n. (9) El termino −Θ(h) es el “Error de Truncamiento Local del Algoritmo” y se denota como τi (h). y(xi)) + hτi(h). La expresión (9) es equivalente a y(xi+1) = y(xi) + hϕ(xi. i = 1. i= 0.resulta que debe satisfacerse y(xi+1) − y(xi) h − ϕ (xi. (10) El algoritmo del Método de Euler consiste en obtener una aproximación a la solución a la ecuación (10) al considerar τi(h) = 0. A la vista de la dependencia del orden con h podemos afirmar que el Método de Euler es de primer orden.

y(xi)) − ϕ(xi. τ (h) . ∀i = 0. si tomamos valores absolutos en los dos miembros. y(xi )) − ϕ(xi . ˆ )) + hτ (h)| yi i (15) yi i Dado que la función ϕ(x. por hipótesis. (18) Si la igualdad (17) se aplica de forma recursiva para los valores de i. hτ (h) (19) ≤ (1 + hk)i+1 |z0 | + (1 + (1 + hk) + . esto es τ (h) = max|τi (h)|. (12) 2. (17) Denominemos τ (h) al mayor de los errores de truncamiento locales. i= 0. Denotaremos por zi al error de truncamiento i eT como eT y i (13) i ≡ zi = y(xi) − ˆ Si se restan las expresiones (10) y (11) obtenemos zi+1 = zi + h(ϕ(xi. Convergencia del Método Vamos a analizar el “Error Global de Truncamiento” o “Error Discretización” i (eT ). Consistencia del Método El Método de Euler es consistente ya que. lipschitziana en y. y(xi )) − ϕ(xi . es decir. 1. ∀i. es decir ∃k > 0 tal que |ϕ(xi . i − 1. y as´ı hasta 0 se obtiene |zi+1 | ≤ (1 + hk)|zi | + hτ (h) ≤ (1 + hk)2 |zi− 1| + (1 + hk)hτ (h) + . y) es. n. esto es la diferencia entre la solución analı́tica y la solución aproximada que proporciona el algoritmo de Euler dado por (11). cuando el tamaño de la discretización h tiende a 0. τi (h) → 0 cuando h → 0. n. n. n.. resulta |zi+1 | = |zi + h(ϕ(xi . + (1 + hk)i )hτ (h) Por lo 1 − (1 + tanto: hk)i+1 |zi+1 | ≤ (1 + 1 − (1 + hτ (h) hk)i+1 |z0 | + hk) (1 +i+1 hk) τ(h) ≤ (1 + hk)i+1 |z0 | + . k . ˆ )| ≤ k|y(x ) − ˆ | = k|z |. el error local de truncamiento (τi (h) = −Θ(h)) también tiende a cero. ˆ )) + hτ (h). .. i= 0. (14) yi i Dado que h > 0. . i= 0. (16) yi i yi i entonces (15) puede escribirse como |zi+1 | ≤ (1 + hk)|zi | + h|τi (h)|.

∀ξ ≥ 0. . (23) h→0 por lo que podemos concluir que el método de Euler es convergente. (20) ≤ (1 + hk)i+1 |z0| + k Por y(x )otra = y parte. n ≥ 0. y ˆ = ysi. tenemos y en cuenta que el error inicial (z0 = y(x0) − ˆ ) es nulo ya que y0 a y0 a que se verifica la desigualdad 0 0 ≤ (1 + ξ)n ≤ enξ . (21) entonces la cota superior del error de truncamiento global del método de Euler es τ (h) (i+1)hk |zi+1 | ≤ e (22) k A la vista del resultado anterior. esto es. es obvio que el error global de truncamiento del método tiende a 0 cuando el tamaño de la discretización h tiende a 0. lı́m |zi+1 | = 0.

ˆ ) − ϕ(x . i = 0. z yi i i 0 que. tomando valores absolutos. n. n (28) desigualdad que. . ∀i. resulta |zi+1 | ≤ |zi | + h|ϕ(xi . i = 0. Para ello consideraremos el algoritmo (11) y el algoritmo del método de Euler variando en un valor ε la condición inicial ψˆi+1 = ψˆi + hϕ (xi . (27) yi i i yi i i entonc |zi+1 | ≤ |zi |(1 + hk). (31) A la vista del resultado anterior. ∃k > 0 tal que |ϕ(xi . y) es lipschitziana. i ) = 0. esto es el comportamiento de la solucio´n num’erico del mismo cuando se perturba el valor de la condición inicial. ψˆ )|. (32) h→0 por lo que podemos concluir que el método de Euler es estable. conduce a |zi+1 | ≤ (1 + hk)|zi | ≤ (1 + hk) 2 |zi 1 | ≤ . ˆ − ψˆ yi i Si restamos las expresiones de los algoritmos (11) y (24) se obtiene = −ε (25 zi+1 = zi + h(ϕ(xi . es obvio que el mayor error que se comete está acotado cuando el tamaño de la discretización h tiende a 0. aplicada de forma recursiva. . ˆ ) − ϕ(x . (30) Teniendo en cuenta ahora la desigualdad (21). (26) yi i i 0 Dado que la función ϕ (x.3. i= es 0. n. resulta que la cota superior del error que se comete en la solución numérica cuando se perturba la condición inicial es |zi+1 | ≤ ε e(i+1)hk . ≤ (1 + hk)i+1 |z | (29) − 0 y en consecuencia a |zi+1 | ≤ (1 + hk)i+1 ε. esto es lı́m |zi+1 | = ε. ψˆ )| ≤ k|ˆ − ψˆ | = k|z |. es decir. Estabilidad del Método Vamos a analizar seguidamente la estabilidad del método de Euler. |z | = |ε|. n. ψˆ0 = ya + ε (24) y analizaremos el error zi = que se produce. ψˆ )). ˆ ) − ϕ(x . . ψˆi ).

n. yi+1 = yi + hϕ (xi. yi) + ρi+1. (34) Denominaremos zi al error cometido zi = y(xi) − yi. yi)) + hτi(h) − ρi+1. y(xi)) + hτi(h). y(xi)) − ϕ(xi. i = 0. y(x0) = ya (33) con la que solución aproximada inexacta (yi ) que proporciona el método de Euler si se considera que los cálculos se realizan en un ordenador y se producen. (3 . i = 0. 4. se analiza la evolución del error (zi ) que se comete cuando se compara la solución analı́tica exacta y(xi) que se obtendría de (10) (si fuese posible hallarla) y(xi+1) = y(xi) + hϕ (xi. z0 = −ρ0. errores de redondeo (ρi) en las operaciones. y0 = ya + ρ 0 . Restando las expresiones (33) y (34). resulta zi+1 = zi + h(ϕ(xi. Convergencia del Método cuando se consideran los errores de redondeo en los cálculos A continuación. i = 0. es decir. por tanto. n. n.