You are on page 1of 14

METODO DE RUNGE-KUTTA

JAVIER FELIPE RAMIREZ COD: 2010192226 GIOVANNY ALEXANDER CARVAJAL COD: 2010191536 DIEGO ALEJANDRO TRUJILLO COD: 2010192585

UNIVERSIDAD SURCOLOMBIANA FACULTAD DE INGENIERIA ENERO 31 DE 2012 NEIVA-HUILA

( ( ) en dos sumandos porque se intenta ) del intervalo [xn.y(x3)…y(xn) y ahora se calcula yn+1=y(xn+1). y3….y(x2). Esto llevo a hacer la demostración de la siguiente formula: ∫ ∫ Aplicando el teorema fundamental del calculo y la regla de Simpson para la integración numérica se obtiene: ( De aquí se desea definir yn+1 tal que: ( ) ( ) ) Se ha separado el termino aproximar la pendiente en dos diferentes formas. Con la notación que se acostumbra.1.xn+1] )en el punto medio ( . INTRODUCCIÓN: RUNGE-KUTTA La necesidad de mayor exactitud en la práctica llevo al desarrollo de un método considerablemente más exacto que el método de Euler mejorado y que hoy en dia es mas ampliamente utilizado.yn para los valores reales y(x1). Este método se conoce como Runge-Kutta en honor a los matemáticos alemanes Carl Runge (18561927) y Wilhem Kutta(1867-1944) quienes lo desarrollaron. y2. se calculan las aproximaciones de y1.

DEFINICION FORMAL El método de Runge-Kutta para calcular aproximaciones y1. Cuando se obtienen estos resultados se sustituyen los valores obtenidos en la formula iterativa inicial: . y2.  ( ) Este es un valor del método e Euler mejorado para la pendiente en punto medio  ( ) utilizando la pendiente Esta es la pendiente en el método de Euler en el punto mejorada en el punto medio para pasar a . y3… sucesivamente consiste en el uso de las siguientes formulas: ( ) ( ) Del lado derecho de esta ecuación se sustituyen los valores de la pendiente real ( ) respectivamente con las siguientes estimaciones:  Esta es la pendiente del método de Euler en  ( ) Esta es la estimación de la pendiente en el punto medio del intervalo [xn.2.xn+1] utilizando el método de Euler para predecir la ordenada de este punto.

esto hace posible desarrollar métodos de Runge-Kutta de ordenes diferentes a 4. .3. pero no Donde la constante c depende de la función del tamaño de paso h.b) con a=x0 es del orden 4. Esto será: | | y el intervalo (a.b). ERRORES DEL METODO DE RUNGE-KUTTA La exactitud del método de Runge-Kutta es mucho mayor que la de los métodos anteriores teniendo esta un error de cuarto orden (h4). Puede probarse que el error acumulado en el intervalo acotado (a.

Y)=X+Y N=10 X=0 Y=1 X1=1 H=(X1-X)/N FOR I=TON X0=X Y0=Y k1=FNF(X.N) :X> X0 :Y> Y0 :F> k1 : x0+H* K1/2 > x : Y0+H* k1/2>y :F> k2 : Y0+H* k2/2 >y : F> k3 : x0+H>x : Y0+H* k3/2 >y : F> k4 :( K1+2*k2+2*k3+k4)/6 : Y0+H* k>y :Disp X.Y) X= X0+H/2 Y= Y0+H*k1/2 K2=FNF(X. Para la ecuación diferencial: TI-85 PROGRAM: RK :F=X+Y :10 > N :0>X :1>Y :1>X1 :( x1-x)/(N>H) :For(I.1.Y :End BASIC Program IMPEULER DEF FN F(X.Y) X= X0+H Y= Y0+H*k3 K4=FNF(X.Y) Y= Y0+H*k2/2 K3=FNF(X.Y NEXT I Comentarios Titulo del programa Definición de la función Numero de pasos X inicial Y inicial X final Tamaño de paso Inicio del ciclo Almacenar X previa Almacenar el valor de Y Primera pendiente Punto medio Predictor Midpt Segunda pendiente Predictor Midpt Tercera pendiente Nueva x Predictor Endpt Cuarta pendiente Pendiente promedio Corrector Resultados Termina ciclo Para incrementar el numero de pasos se necesita únicamente cambiar el valor especificado de N en la primera línea del programa. MODELOS COMPUTACIONALES El Metodo de Runge-Kutta también puede ser implementado por medio de programas de computadora que aumentan la exactitud del método debido a que con ellos se puede aumentar fácilmente el numero de pasos n y el de la longitud h.Y) K=( K1+2*k2+2*k3+k4)/6 Y= Y0+H*k PRINT X. al aplicar el método de . ASi. programas que pueden ser utilizados en calculadoras y computadores. Ahora se implementara primero el método en BASIC y TI-85.4.

y). Implementación en MATLAB Function yp=f(x. K4=f(x+h.y]=rk(x.x1.n). K2=f(x+h/2. Y=y.y+h*K2/2). End % yp=y’ %tamaño del paso % valor inicial de x % valor inicial de y % inicio del ciclo % primera pendiente % segunda pendiente % tercera pendiente % cuarta pendiente %pendiente promedio %x nueva %y nueva %actualiza la columna x %actualiza la columna y %fin del ciclo . el valor final de X1 de x y el numero deseado de subintervalos. X=x.y+h*K1/2).Runge-Kutta a diferentes ecuaciones diferenciales solo es necesario cambiar la línea que calcula el valor de la función F. K3=f(x+h/2. H=(x1-x)/n. K=( K1+2*k2+2*k3+k4)/6 x=x+h. Function[x.y) Yp=x+y.x]. For i=1:n K1=f(x. Y=[Y.y]. y=y+h*k. el valor inicial de Y. La función rk toma como entrada el valor inicial de x. También podemos implementar el método en MATLAB.y+h*K3). X=[X.y.

Utilizando h=0. EJEMPLOS Y APLICACIONES Aplicando el método de Runge-Kutta resolver la ecuación diferencial con valor inicial de: La solución exacta de este problema es: iteramos las formulas del método: .1      Reemplazando obtenemos: ( ( ( ) ) ) ( ( ( ) ) ( ( ) ) ) ( ( ( ) ( ) ( ) ) ) .5.

4282 Runge-Kutta 1.8 0.5 0.0 Euler mejorado 1.019206 3.044236 2.044238 2.9 1.0409 2.3985 1.797441 2.1 Método de Euler mejorado Método de Runge-Kutta .327503 2.583649 1.2421 1.3 0.6356 3.( ( ( ) ) ( ( ) ) ) Mediante la utilización de MATLAB iteramos 10 veces la formula de RungeKutta y adicionalmente obtuvimos los valores de Euler mejorado y al reemplazar los valores de x en la ecuación exacta obtuvimos los valores reales de y: X 0.651079 3.4 0.1 0.110342 1.242805 1.7949 2.110342 1.5818 1.1100 1.019203 3.242806 1.3231 2.436564 Error: Se calcula el error en la primera iteración con cada uno de los pasos y los métodos.651082 3.0124 3.436559 Y real 1.2 0. Error tamaño de paso: 0.327505 2.6 0.399718 1.583648 1.399717 1.7 0.797443 2.

636 18.949 32.1se obtienen los resultados de las velocidades en un intervalo de 0 a 20 s después de la caída. ¿Después de 10 seg?. ¿Qué tan rápido estará cayendo después de 5 seg?.291 29. ¿Después de 20 seg? Ley de Newton: Reemplazando las condiciones iniciales obtenemos: Cancelando las masas obtenemos la ecuación diferencial : Iterando las formulas de Runge-Kutta con tamaño de paso 0.386 25. Aplicando el seudocódigo de MATLAB e iterando la formula se obtienen los siguientes resultados: t (s) 0 1 2 3 4 5 v (m/s) 0 9.APLICACIÓN: Un paracaidista con una mas de 60 kg salta desde un helicóptero suspendido a una altura inicial de 5 km. Suponga que ella cae verticalmente con una velocidad inicial 0 y experimenta una fuerza hacia arriba fR por la resistencia del aire dada en términos de velocidad v(m/s) como: Si ella no abre su paracaídas ¿Cuál sea su velocidad terminal?.678 .

578 35.577 35.578 35.578 35.560 35.576 35.574 35.239 35.137 34.500 35.6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 34.85% más de su velocidad inicial. velocidad alcanzada desde los 17 s. .578 m/s.578 m/s la cual alcanzara después de 17 s de caída.500 m/s y a los 20 s alcanzara la velocidad de 35.875 35. Después de 5 s la velocidad de la paracaidista sea de 32.569 35.415 35.578 La velocidad terminal de la paracaidista será aproximadamente de 35. Después de 10 s la velocidad será de 35.541 35.678 m/s es decir 91.

2009 P135-246 . Métodos numéricos. Cuarta edición. Editorial Pearson.BIBLIOGRAFIA:  EDWARDS. Henry. Ecuaciones diferenciales. México.

. Determinar relaciones entre métodos numéricos y su exactitud en diferentes casos y aplicaciones Estudiar aspectos computacionales y de programación que tienen que ver con el desarrollo de este método.OBJETIVOS:    Desarrollar de forma general el método de Runge Kutta para la solución de ecuaciones diferenciales con valor inicial.

comparar el nivel de confianza que se puede tener al momento de elegir con que método trabajar.Kutta.INTRODUCCIÓN El presente trabajo está relacionado con uno de los métodos numéricos que sirven para determinar la solución de una ecuación diferencial ordinaria con un valor inicial dado. no se puede pasar por alto el método de Runge. asi como también problemas de aplicación resueltos con programas de computadora a través de programación. Los principales objetivos de este trabajo. es importante ya que al haber estudiado métodos como el de Euler y su forma mejorada. . el cual es bastante usado por su nivel de exactitud y practicidad. y por último. pues es el más exacto y al mismo tiempo práctico. desarrollar modelos computacionales para la solución de problemas con ecuaciones diferenciales con valor inicial dado. mostrar generalidades acerca de este importante método numérico. comparando a este con el método de Euler y su forma mejorada. son. dentro de este trabajo se incluyen descripciones paso a paso de la forma como se trabaja el método de Runge kutta.

El método de Runge-Kutta se puede expresar en cualquier lenguaje computacional para su uso técnico. se puede determinar claramente que el método de Runge kutta.CONCLUSIONES:  Comparando diferentes métodos numéricos para la solución de ecuaciones diferenciales ordinarias. es el más usado. está mucho más cerca de los valores reales.  . en este trabajo se utilizaron lenguajes como MATLAB y BASIC. por esta razón.