Вы находитесь на странице: 1из 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

1. INTRODUCCIN: RUNGE-KUTTA La necesidad de mayor exactitud en la prctica llevo al desarrollo de un mtodo considerablemente ms exacto que el mtodo de Euler mejorado y que hoy en dia es mas ampliamente utilizado. Este mtodo se conoce como Runge-Kutta en honor a los matemticos alemanes Carl Runge (18561927) y Wilhem Kutta(1867-1944) quienes lo desarrollaron. Con la notacin que se acostumbra, se calculan las aproximaciones de y1, y2, y3,yn para los valores reales y(x1),y(x2),y(x3)y(xn) y ahora se calcula yn+1=y(xn+1). Esto llevo a hacer la demostracin de la siguiente formula:

Aplicando el teorema fundamental del calculo y la regla de Simpson para la integracin numrica se obtiene: ( De aqu se desea definir yn+1 tal que: ( ) ( ) )

Se ha separado el termino aproximar la pendiente en dos diferentes formas. (

) en dos sumandos porque se intenta ) del intervalo [xn,xn+1]

)en el punto medio (

2. DEFINICION FORMAL El mtodo de Runge-Kutta para calcular aproximaciones y1, y2, y3 sucesivamente consiste en el uso de las siguientes formulas: ( ) ( )

Del lado derecho de esta ecuacin se sustituyen los valores de la pendiente real
( )

respectivamente con las siguientes estimaciones:

Esta es la pendiente del mtodo de Euler en ( )

Esta es la estimacin de la pendiente en el punto medio del intervalo [xn,xn+1] utilizando el mtodo de Euler para predecir la ordenada de este punto. ( )

Este es un valor del mtodo e Euler mejorado para la pendiente en punto medio ( ) utilizando la pendiente

Esta es la pendiente en el mtodo de Euler en el punto mejorada en el punto medio para pasar a .

Cuando se obtienen estos resultados se sustituyen los valores obtenidos en la formula iterativa inicial:

3. ERRORES DEL METODO DE RUNGE-KUTTA La exactitud del mtodo de Runge-Kutta es mucho mayor que la de los mtodos anteriores teniendo esta un error de cuarto orden (h4). Puede probarse que el error acumulado en el intervalo acotado (a,b) con a=x0 es del orden 4, esto hace posible desarrollar mtodos de Runge-Kutta de ordenes diferentes a 4. Esto ser: | | y el intervalo (a,b), pero no

Donde la constante c depende de la funcin del tamao de paso h.

4. MODELOS COMPUTACIONALES El Metodo de Runge-Kutta tambin puede ser implementado por medio de programas de computadora que aumentan la exactitud del mtodo debido a que con ellos se puede aumentar fcilmente el numero de pasos n y el de la longitud h. Ahora se implementara primero el mtodo en BASIC y TI-85, programas que pueden ser utilizados en calculadoras y computadores. Para la ecuacin diferencial:

TI-85 PROGRAM: RK :F=X+Y :10 > N :0>X :1>Y :1>X1 :( x1-x)/(N>H) :For(I,1,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 :End

BASIC Program IMPEULER DEF FN F(X,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,Y) X= X0+H/2 Y= Y0+H*k1/2 K2=FNF(X,Y) Y= Y0+H*k2/2 K3=FNF(X,Y) X= X0+H Y= Y0+H*k3 K4=FNF(X,Y) K=( K1+2*k2+2*k3+k4)/6 Y= Y0+H*k PRINT X,Y NEXT I

Comentarios Titulo del programa Definicin de la funcin Numero de pasos X inicial Y inicial X final Tamao 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 lnea del programa. ASi, al aplicar el mtodo de

Runge-Kutta a diferentes ecuaciones diferenciales solo es necesario cambiar la lnea que calcula el valor de la funcin F. Tambin podemos implementar el mtodo en MATLAB. La funcin rk toma como entrada el valor inicial de x, el valor inicial de Y, el valor final de X1 de x y el numero deseado de subintervalos. Implementacin en MATLAB Function yp=f(x,y) Yp=x+y; Function[x,y]=rk(x,y,x1,n); H=(x1-x)/n; X=x; Y=y; For i=1:n K1=f(x,y); K2=f(x+h/2,y+h*K1/2); K3=f(x+h/2,y+h*K2/2); K4=f(x+h,y+h*K3); K=( K1+2*k2+2*k3+k4)/6 x=x+h; y=y+h*k; X=[X;x]; Y=[Y;y]; End % yp=y %tamao 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

5. EJEMPLOS Y APLICACIONES Aplicando el mtodo de Runge-Kutta resolver la ecuacin diferencial con valor inicial de:

La solucin exacta de este problema es: iteramos las formulas del mtodo:

. Utilizando h=0,1

Reemplazando obtenemos: ( ( ( ) ) )

( ( ( )

) (

) ) )

( ( (

( ) ( ) )

( ( (

) )

( ( )

) )

Mediante la utilizacin 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 ecuacin exacta obtuvimos los valores reales de y: X 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 Euler mejorado 1,1100 1,2421 1,3985 1,5818 1,7949 2,0409 2,3231 2,6356 3,0124 3,4282 Runge-Kutta 1,110342 1,242805 1,399717 1,583648 1,797441 2,044236 2,327503 2,651079 3,019203 3,436559 Y real 1,110342 1,242806 1,399718 1,583649 1,797443 2,044238 2,327505 2,651082 3,019206 3,436564

Error: Se calcula el error en la primera iteracin con cada uno de los pasos y los mtodos. Error tamao de paso: 0,1 Mtodo de Euler mejorado

Mtodo de Runge-Kutta

APLICACIN: Un paracaidista con una mas de 60 kg salta desde un helicptero 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 trminos de velocidad v(m/s) como:

Si ella no abre su paracadas Cul sea su velocidad terminal?, Qu tan rpido estar cayendo despus de 5 seg?, Despus de 10 seg?, Despus de 20 seg? Ley de Newton:

Reemplazando las condiciones iniciales obtenemos:

Cancelando las masas obtenemos la ecuacin diferencial :

Iterando las formulas de Runge-Kutta con tamao de paso 0,1se obtienen los resultados de las velocidades en un intervalo de 0 a 20 s despus de la cada. Aplicando el seudocdigo de MATLAB e iterando la formula se obtienen los siguientes resultados: t (s) 0 1 2 3 4 5 v (m/s) 0 9,636 18,386 25,291 29,949 32,678

6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

34,137 34,875 35,239 35,415 35,500 35,541 35,560 35,569 35,574 35,576 35,577 35,578 35,578 35,578 35,578

La velocidad terminal de la paracaidista ser aproximadamente de 35,578 m/s la cual alcanzara despus de 17 s de cada. Despus de 5 s la velocidad de la paracaidista sea de 32,678 m/s es decir 91,85% ms de su velocidad inicial. Despus de 10 s la velocidad ser de 35,500 m/s y a los 20 s alcanzara la velocidad de 35,578 m/s, velocidad alcanzada desde los 17 s.

BIBLIOGRAFIA: EDWARDS, Henry. Mtodos numricos. Ecuaciones diferenciales. Editorial Pearson. Mxico. Cuarta edicin.2009 P135-246

OBJETIVOS: Desarrollar de forma general el mtodo de Runge Kutta para la solucin de ecuaciones diferenciales con valor inicial. Determinar relaciones entre mtodos numricos y su exactitud en diferentes casos y aplicaciones Estudiar aspectos computacionales y de programacin que tienen que ver con el desarrollo de este mtodo.

INTRODUCCIN

El presente trabajo est relacionado con uno de los mtodos numricos que sirven para determinar la solucin de una ecuacin diferencial ordinaria con un valor inicial dado, es importante ya que al haber estudiado mtodos como el de Euler y su forma mejorada, no se puede pasar por alto el mtodo de Runge.Kutta, pues es el ms exacto y al mismo tiempo prctico, dentro de este trabajo se incluyen descripciones paso a paso de la forma como se trabaja el mtodo de Runge kutta, asi como tambin problemas de aplicacin resueltos con programas de computadora a travs de programacin.

Los principales objetivos de este trabajo, son, mostrar generalidades acerca de este importante mtodo numrico, el cual es bastante usado por su nivel de exactitud y practicidad; desarrollar modelos computacionales para la solucin de problemas con ecuaciones diferenciales con valor inicial dado; y por ltimo, comparar el nivel de confianza que se puede tener al momento de elegir con que mtodo trabajar, comparando a este con el mtodo de Euler y su forma mejorada.

CONCLUSIONES: Comparando diferentes mtodos numricos para la solucin de ecuaciones diferenciales ordinarias, se puede determinar claramente que el mtodo de Runge kutta, est mucho ms cerca de los valores reales, por esta razn, es el ms usado. El mtodo de Runge-Kutta se puede expresar en cualquier lenguaje computacional para su uso tcnico, en este trabajo se utilizaron lenguajes como MATLAB y BASIC.

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