You are on page 1of 8

ANEXO V.

Mtodo de Runge-Kutta para Ecuaciones Diferenciales. Uno de los mtodos ms utilizados para resolver numricamente problemas de ecuaciones diferenciales ordinarias con condiciones iniciales es el mtodo de Runge- Kutta de cuarto orden, el cual proporciona un pequeo margen de error con respecto a la solucin real del problema y es fcilmente programable en un software para realizar las iteraciones necesarias. El mtodo de Runge-Kutta se utiliza para resolver ecuaciones diferenciales de la forma:

Y es sumamente til para casos en los que la solucin no puede hallarse por los mtodos convencionales (como separacin de variables). Hay variaciones en el mtodo de Runge-Kutta de cuarto orden pero el ms utilizado es el mtodo en el cual se elige un tamao de paso h y un nmero mximo de iteraciones n tal que

y se realiza la iteracin

Para i = 0,, n-1. La solucin se da a lo largo del intervalo (to, to+ hn).

95

El algoritmo para el mtodo de Runge-Kutta de cuarto orden en seudo cdigo es el siguiente: INICIO INPUT: Nmero de iteraciones n (o tamao de paso h), punto inicial del intervalo a (punto final del intervalo b), condicin inicial y (t0) = y0.

OUTPUT (t, y) PARA

OUTPUT (t, y) FIN PARA FIN

96

Un software apropiado y muy til adems de fcil de programar es Matlab, con el cual resolveremos el siguiente ejemplo: Resolver numricamente con 100 iteraciones en el intervalo [1, 100] la ecuacin diferencial con condiciones iniciales dada a continuacin:

Solucin: Es claro que la ecuacin diferencial dada no tiene una solucin analtica exacta ya que al realizar separacin de variables nos encontramos con una funcin que no posee antiderivada. Entonces tenemos que

Un algoritmo en Matlab para realizar la iteracin es el siguiente:

97

La grfica del resultado que entrega el programa es la siguiente:

98

Resolver la ecuacin diferencial.

con el mtodo de Runge-Kutta de 4 orden con h = 0.5 en el intervalo [0, 20] y comparar con la solucin exacta

Solucin: Para hallar la solucin numrica por el mtodo de Runge-Kutta de cuarto orden se elabor un algoritmo en Matlab que grafica la solucin numrica en rojo marcando los puntos con asteriscos y unindolos por medio de rectas y en la misma pantalla grafica la solucin exacta en azul. El programa tambin entrega una tabla que tiene el valor de t en la primera columna, el valor y* de la aproximacin hallada numricamente en la segunda columna, el valor de y exacto en la tercera columna, y el error absoluto | y-y*|. Todo lo anterior en el intervalo [0, 20]. El algoritmo en lenguaje Matlab es el siguiente:

99

100

Se tiene entonces:

101

Puede observarse en la grfica que la aproximacin realizada por el mtodo de Runge-Kutta es muy cercana al valor exacto de la solucin, lo cual puede confirmarse con la vista de los errores absolutos, siendo el mayor error del orden de 10-3 e igual a cero luego de t =13.5, es decir, la aproximacin numrica es igual a la solucin real en esos casos.

102

You might also like