P. 1
Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

|Views: 4.463|Likes:

More info:

Published by: Kath Laurente Flores on Jul 08, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

07/29/2013

pdf

text

original

INDICE

Contenido
INDICE ............................................................................................................................. 1 INTRODUCCION ............................................................................................................ 2 RESUMEN ....................................................................................................................... 3 CONTENIDO ................................................................................................................... 8 1 METODO DE RUNGE KUTTA ............................................................................. 8 1.1 1.2 1.3 1.4 1.5 Método de RUNGE-KUTTA............................................................................. 8 PRIMER METODO DE RUNGE KUTTA ..................................................... 11 SEGUNDO METODO DE RUNGE KUTTA................................................ 12 EXTENSION DEL METODO DE RUNGE KUTTA .................................... 13 EJEMPLOS RESUELTOS .............................................................................. 14

1.5.1 RUNGE –KUTTA PARA SEGUNDO ORDEN, MÉTODO PUNTO MEDIO. .................................................................................................................. 14 1.5.2 2 RUNGE –KUTTA PARA TERCER ORDEN. ........................................ 17 APLICACIONES A LA INGENIERIA CIVIL ..................................................... 20 2.1 APLICACIÓN DEL METODOD DE RUNGE KUTTA (TRANSITO DE AVENIDAS)- HIDROLOGIA ................................................................................... 21 3 4 5 PROGRAMA EN MATLAB DEL METODO DE RUNGE KUTTA ................... 27 3.1 SOLUCION DEL EJERCICIO PLANTEADO EN EL PROGRAMA ........... 31 CONCLUSIONES .................................................................................................. 34 RECOMENDACIONES ........................................................................................ 35

º

INTRODUCCION
Dentro de la Ingeniería y otras ciencias hay diversos problemas que se formulan en términos de ecuaciones diferenciales .Por ejemplo ,trayectorias balísticas ,estudio de redes eléctricas , deformación de vigas, estabilidad de aviones, 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, que va dirigido primeramente al docente del curso y a los colegas estudiantes que llevan el curso ya mencionado, nuestro propósito es desarrollar el tema de una forma breve y entendible claro está utilizando la terminología necesaria en este capítulo, de igual manera se presenta algunos de problemas con el procedimiento completo ,ordenado y de fácil entendimiento .También se presenta una aplicación a la INGENIERIA CIVIL de este método y finalmente un programa en MATLAB.

Los Alumnos

º

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

º

(Xn+1. Yn+1) en donde Xn+1 y Yn+1 pueden estimarse con el procedimiento normal de Euler. Yn). puede decirse que ambas consisten en aplicar la fórmula de recurrencia (6) en donde (7) º . Yn) Observando las expresiones para resolver la ecuación diferencial. se utiliza una secante con pendiente igual al promedio de pendientes de la curva integral en los puntos coordenados (Xn. Yn+1) es el valor de la función f(X. como se muestra en la siguiente gráfica: Con lo anterior 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.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. Y) para: X = Xn+1 Y = Yn + h f(Xn.

que es también un método de un paso. para determinar yn+1 se necesita conocer únicamente los valores de xn y yn del punto anterior. de uso tan frecuente que en la literatura sobre métodos numéricos se le llama simplemente el Método de Runge-Kutta. 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 º .En el método de Euler y (8) En lo que Y' = f(X. la aplicación de los métodos de Runge-Kutta sean más simples que el uso de la serie de Taylor. Y) y de ninguna derivada. en la práctica. mientras que la serie de Taylor sí requiere de la evaluación de derivadas. y). La ventaja de los métodos de Runge-Kutta con respecto al uso de la serie de Taylor. Un método de Runge-Kutta para resolver ecuaciones diferenciales ordinarias de primer orden con error del orden de . no requieren evaluar ninguna derivada. sino únicamente valores de la función f(x. estos métodos tienen los siguientes puntos en común: 1. 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). es decir. Como se ve. los métodos de Runge-Kutta requieren sólo de la función f(X. está expresado en el punto (2) anterior. Esto hace que. 2. Y) (9) En el método de Euler Mejorado. son métodos de un paso.

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

Identificar la exactitud del método. Objetivos Específicos Conocer ventajas y desventajas 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 Objetivo General Aprender a resolver Ecuaciones Diferenciales lineales de primer orden a través del método de Runge-Kutta.

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

yi + q11k1h) k3 = f(xi + p2h.yi) k2 = f(xi + p1h. Una vez se elige n. p y q al igualar la función incremento a los términos en la serie de expansión de Taylor.Donde las a son constantes y las k son: k1 = f(xi. + qn-1. 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 + q21k1h + q22k2h) kn = f(xi + pnh. esta recurrencia hace que los métodos Runge-Kutta sean eficientes para la programación. es el método de Euler. Como cada k es una evaluación funcional.n-1kn-1h) Donde las p y q son constantes.yi + q2n-1k1h + qn-1. La versión de segundo orden para la ecuación en su forma generalizada es: Donde: Los valores de a1. a2.2k2h + …. se evalúan las a. 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. n = 1. Desarrollando tres ecuaciones para evaluar las cuatro incógnitas: º .

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

2 PRIMER METODO DE RUNGE KUTTA Sea dado el punto . 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 reemplazando en las expresiones correspondientes.1. tendremos que el predictor y corrector en dicho punto intermedio se escribirá: Por lo cual. en el punto deseado su predictor y corrector será: Simplificaremos el proceso de cálculo. reemplazando de acuerdo a las condiciones supuestas º . así: Como podemos verificar. determinando algunos coeficientes adecuados.

3 SEGUNDO METODO DE RUNGE KUTTA En forma similar. se deduce un segundo método en función al siguiente sistema: º .De esta manera a partir de en en es posible ubicar mediante el primer método de RUNGE KUTTA. por medio de la determinación de los coeficientes de K del modo siguiente 1.

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: º . como Suele simplificarse su cálculo efectuando el siguiente cambio de variable: De este modo.

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

748320 ( 0.0.5) 2 k1 k2 º .85(0.680003)0.25) 2 k1 k2 k2 k2 k2 y2 y2 1 1 (0.25 .125.125) 2 1.851432 (0.006718)0.25) .2)(0.748320 ( 0.748320  Segunda iteración x1 x0 h x1 x1 0 0.680003 0. y2 2 1 k1 h ) 2 (0.2 1 1 h .375.0.578319) (0.25 0.25 k1 k1 f(x1 .5.85) 1.748320)(0.2(0.25 0.25)) 2 2 f (0.25)) 2 2 f (0.25  Tercera iteración x2 x2 x2 k1 k1 x1 h 0.5 f(x 2 .85) 0.25 0.25 0.641891) 0.748320) 1.2(0. y 2 ) f 0.641891) 0.25 0. 0.2(1) k1 k2 k2 1.578319)(0. y1 ) f 0.2(0. 1 ( 1.851432)(0.2(0.578319 f (0.549403 f ( x2 1 h .006718 f ( x0 k2 k2 k2 y1 y1 1 ( 1.748320) (0. y0 k1h) 2 2 1 1 f (0 (0.25) .578319) 1.375) 2 1. 0.k1 (1)(0) 2 1.0.641891(0.

4752 ( 0.k2 k2 k2 k2 y3 y3 1 1 (0.4373(0.4752 0.5 0.75 f(x 3 .625) 2 1.4752 2 f (0.509643(0.4277 x3 h x4 0.4373) 1 ( 0. 0.509643) 0.1900 0.509643) 0.4373) 0.75 1 y 1 0.25) .7483 0.1900)0.0.0.4752) k1 k2 k2 k2 k2 0.2(0.2(0.4752 ( 0.5 0.5783 0.25)) 2 2 f (0.549403)(0.3029 1 1 f ( x3 h . 0.25)) 2 k2 y4 y4 x4 0.75 0.25 x3 k1 k1 0.4752)(0.875.875) 2 1.3029)(0.25 0.625.75) (0.4277 º .4752) 2 1.25) .25  Cuarta iteración x3 x3 x2 h 0.578319 0.75 (0.25 x4 1 Vectores solución X 0 0. y3 k1h) 2 2 1 f (0. y 3 ) f (0.25 0.5 0.0.75.578319 ( 0.2(0.4125 f (0.4125)0.

7966) º .2 1 1 h .2 y Donde: y(0)=1 h = 0.125) 2 1.5. yi k 1 h) 2 2 k 3 f(x i h .85(0.25) 2 1.25). y o k 1h 2k 2 h) f (0 (0. de valor inicial.2)(0.2(0. 1 ( 1. En el método de Runge kutta de tercer orden se utilizan las siguientes formulas: yi yi 1 (k 1 6 4k 2 k 3 )h 1 k1 f(xi. (1) ( 1. en el intervalo de x=0 a x=1.125.1.25.0067 f ( x0 k2 k2 k2 k3 k3 k3 k3 f(x o h . dy dx yx 2 1.0067)(0.7966) 0.25) . Se resuelve el mismo problema anterior pero esta vez mediante el uso del método Runge kutta de tercer grado.2(1) (0 .25 Solución.85) 1. 1) k1 k1 k2 k2 1. y 0 ) f (1)(0) 2 1. y0 k1h) 2 2 1 1 f (0 (0.2)(0.0.2 RUNGE –KUTTA PARA TERCER ORDEN.85) 0.25) 2( 1.0. y i k 1h 2k 2 h)  Primera iteración k1 f(x0 .25)) 2 2 f (0. y i ) 1 1 k 2 = f(x i h .7966(0.25)) f (0.2(0.

25 . y1 k 1h 2k 2 h) f (0. 0.8468 1 1 h .6178(0.25).9062 y1 y1 1 (k 1 6 0.6386) 0.7445 y0 4k 2 k 3 )h  Segunda iteración x1 x0 h x1 x1 k1 k1 0 0.8469)(0.25)) 2 2 f (0.25 0.25)) f (0.5720 4k 2 k 3 )h y2  Tercera iteración x2 x2 x2 x1 h 0.6386(0.25 (0.25) 2 k1 k2 k2 k2 k2 k2 k3 k3 k3 k3 f(x1 h .6178) 0.7445) (0.375.7445) ( 0.8469)(0. y1 k1 h ) 2 2 1 1 f (0.0. y1 ) f 0.375) 2 1.2(0.25 0.5 º .2(0.25 f(x1 .25 0.25 (0.5870 y1 1 (k 1 6 0.7445 ( 0.7445)(0.7445) 1.6386) 0.5) 2 1.k3 0.2(0.6765 f ( x1 (0. (0.6178) k3 y2 0. 0.25) .0.5.6765)(0.25) 2( 0.

2(0.25)) 2 2 f (0.5434)(0.0.1871 f ( x3 k2 k2 k2 k3 k3 f(x 3 h .5434)(0. y 2 ) f (0.25).5720 ( 0.2983)(0. 0.5720) 1.4679) (0.5 (0.75. y2 k1 h ) 2 2 1 1 f (0.2(0.5) 2 (0.3212 y2 1 (k 1 6 4k 2 k 3 )h y3 0.5 0.25)) º .75) 2 1.2(0.25) 2( 0.2983)(0.5 (0. 0.0.25) 2( 0.75.4679  Cuarta iteración x3 x3 x3 k1 k1 x2 0.5038) 0.4679)(0.2986 1 1 h .4306) 0.25) .5038(0.1871)(0.0.4306) 0.25)) 2 2 f (0. y 3 ) f (0.5720) ( 0.0. y2 k 1h 2k 2 h) f (0.4306(0.k1 k1 f(x 2 .625) 2 1.5041) 0.4080 f ( x2 k2 k2 k2 k2 k3 k3 k3 k3 f(x 2 h . y3 k1 h ) 2 2 1 1 f (0.4679 ( 0.5720) k1 k2 0.5041) 0.4080)(0.5041(0.0.5434 1 1 h .25)) f (0.625.75) 2 k1 k2 k2 0.25).4679) ( 0.5.75 (0. y3 k 1h 2k 2 h) f (0. (0.5720)(0.75 (0.25) .2(0.75 h 0.4679) 1. (0.25 f(x 3 .5038) k3 y3 0.2(0.875.875) 2 1.

Dentro del estudio de los métodos numéricos. pero con un orden de exactitud mas alto que este. sin embargo esto no quiere decir que la operación sea imposible de solucionar. las cuales se saben que pueden resultar complicadas.5720 0.4206 h 4k 2 k 3 )h y4 x4 x3 x4 x4 0.4489(1) 2 1. y facilitan es trabajo de cierta manera. logrando así la exactitud del procedimiento sin requerir el cálculo de derivadas superiores Por tal razón se toma como un método de gran facilidad y rapidez lo que lo hace de gran importancia. y es ahí donde los métodos numéricos se aplican.25 0.0. ya que debido º . se encuentran una gran variedad de aplicaciones como lo fue el descrito en el presente trabajo referido al método de runge kutta.4206 2 APLICACIONES A LA INGENIERIA CIVIL El estudio de los métodos numéricos. tediosas y largas. que tiene como objetivo principal el análisis y solución de los problemas de valor inicial de ecuaciones diferenciales ordinarias. siendo estos una extensión del método de euler para resolver las. y por más que se dominen los métodos tradicionales.25 1 Vectores solución X 0 0. es muy útil y por ende importante para quien utilice esta herramientas para resolución de operaciones.4489) k3 y4 0.75 1 y 1 0.k3 k3 f (1.2(0.4679 0.4489) 0.5 0.7445 0.75 0. estos muchas veces pueden no ser suficientes.0898 y3 1 (k 1 6 0.

1 APLICACIÓN DEL METODOD DE RUNGE KUTTA (TRANSITO DE AVENIDAS). con mucho. Este método no requiere el cálculo de la función especial 2S/∆t+Q versus Q.HIDROLOGIA METODO DE RUNGE-KUTTA Para la circulación de avenidas a través de embalses bajo el supuesto de superficie libre horizontal.a estas características su implantación resulta mas cómoda y fácil de manejar. El mecanismo esta basado en la aplicación de ecuaciones matemáticas de gran facilidad de empleo. puede establecerse un método alternativo al anteriormente descrito resolviendo la ecuación de continuidad mediante un método numérico como el de Runge-Kutta. Q(y): descarga evacuada por el aliviadera o estructura de desagüe. el más útil y empleado el cuarto orden. y se aproxima más a la hidráulica de la circulación de flujos a través de embalses. La ecuación de continuidad puede expresarse como En donde S: Volumen de agua almacenado. función del tiempo. 2. Existen diversos órdenes de esquemas de Runge-Kutta. º . I(t): Aporte que entra al embalse. determinada por la carga o calado. tomando en cuenta a la misma vez la utilización de su algoritmo resultando una gran ventaja a nivel de su desenvolvimiento en la programación en matlab. siendo esta otra característica positiva. Este método es de gran aplicabilidad en diversas áreas de la industria lo que lo hace muy usado en distintos niveles.

132 354.965 354. Que es la aproximación de Runge-Kutta de cuarto orden.) 15 30 45 60 75 90 105 120 135 150 165 ELEVACION CAUDAL TIEMPO (m.46 º .827 353.708 355.35 104. ∆t. en la que el termino de error será 0 (∆t5) METODO DE RUNGE-KUTTA HIDROGRAMA DE SALIDA TIEMPO (min. mediante un desarrollo en serie de Taylor.) 353.17 97.71 104.539 354.36 95.829 355.) 355.95 77.El método de Runge-Kutta aproxima el valor de la función y sobre un intervalo de tiempo.8 90.7 106.) 255 270 285 300 325 330 345 360 375 390 405 ELEVACION CAUDAL (m.29 83.831 355.08 100.817 355.743 355.671 (m3/s) 87.537 353.15 106.718 353.324 354.763 (m3/s) 0 0 0 0 0 0 0 0 0 0 0 (min.798 355.578 353.783 355.511 353.636 353. por esta precisión.773 355.726 355.817 355.

632 355.88 48. mientras que el agua.985 355. º . sale del depósito a razón de 2 lts/min.75 53.09 Nota: SE ANEXA UN ARCHIVO EN EXCEL EN EL CD EJERCICIO 2: Aplicando el método de Runge-Kutta resolver un problema de ecuaciones diferenciales lineales de primer orden con aplicación de ingenierías.96 72.52 355.593 355.377 355. perfectamente mezclada.642 0 12. con una concentración de 3 gr/lts de sal. Llamemos a la cantidad de sal en el depósito en el instante t.28 58.488 70.527 355. Notemos que el volumen de agua en el depósito es siempre de 50 litros.39 52. En la imagen anterior se plantea el problema.51 420 435 450 465 480 355.81 64. Para problemas de ingeniería tenemos el caso de un tanque con problema de mezclas de soluciones salinas: Consideremos un depósito que contiene 50lts de agua con 75 gr de sal disueltos.180 195 210 225 240 354.15 32. En un determinado instante comienza a entrar agua salada a razón de 2 lts/min.555 355.195 355.

el aporte de sal por minuto al depósito será de: Mientras que la tasa de pérdida de sal es de: La variación total de la concentración de sal viene dada por la diferencia entre el aporte y la pérdida de sal. la concentración de sal en cada instante será de La velocidad . Por un lado. que se de variación de la concentración de sal viene dada por expresa en gr/min. Por tanto.ya que en cada instante entran dos litros y salen otros dos. Obtenemos así la siguiente ecuación diferencial: Ya entonces teniendo las condiciones iniciales sabiendo que osea: Sabiendo esto vamos a determinar la cantidad de sal disuelta en el tanque cuando el t= 60min aumentando desde el t inicial=0 con un h=5min Sabiendo esto procedemos a hallar Donde : Donde Donde º .

al comparar esto nos podemos dar cuenta que son mínimas las diferencias y que el método es efectivo y será aun más efectivo si se escoge un incremento (h) más pequeño.Donde Por lo tanto Y así sucesivamente hasta llegar hasta Pero para facilitar este método se realiza a través de la herramienta Excel realizando una simple tabla que contenga el método dicha tabla se anexara en el trabajo. º . ANEXOS CALCULOS DE METODO DE RUNGE KUTTA Se anexa también para comparar la efectividad del método la solución de la ecuación luego de haber sido integrada y los valores resueltos.

4471 1.294542 116.81645052 1.915952 127.009552 140.62821834 1.64874945 0.99609947 1.98585935 0.35601416 0.219391 142.65595777 0.58798325 0.8225 100.3191217 0.2244139 1.48167869 1.35210192 0.4653965 1.98477599 0.907542 131.3281377 1.097513 109.29040075 0.43645232 0.Resolver mediante el método de Runge Kutta la siguiente ecuación: t(min) s(t) (gr) h(min) t(min) 0 5 10 15 20 25 30 35 40 45 50 55 60 s(t) (gr) 75 88.979182 135.021957 143.28720953 0.20727717 0.492311 0 75 5 k1 3 2.80416547 0.52918492 0.29008163 0.35562293 0.79648952 1.7 2.72083272 0.08336192 0.39122435 0.43165614 0.88369832 0.26030757 k2 2.20860531 0.81445442 1.65523694 0.4359727 0.79532849 0.300419 138.47961794 0.23687989 k4 2.727 2.80328177 0.97502573 0.23427682 k3 2.20239 1.796558 122.19532393 0.48005047 1.226861 1.73 2.23661958 º .53447677 0.53506476 0.

3 PROGRAMA EN MATLAB DEL METODO DE RUNGE KUTTA DIAGRAMA DE FLUJO DEL PROGRAMA DE RUNGE KUTTA INICIO Ingreso Computar Iniciar datos Mostrar Incrementar Fin º .

Runge Kutta de 1er Orden: function RK_primer_orden(funcion.xo.n) % funcion : Nombre de la función f(x.h. yo : h : n : RUNGE KUTTA Orden del metodo Nombre de la función f(x.yo.n) RK_cuarto_orden('funcion'.yo.'RK 2do Ord'. n = input ('Ingrese el numero de iteraciones n:').n) RK_segundo_orden('funcion'.xo. hleg1 = legend('RK 1er Ord'.xo.y) f=2*x*y. º .yo.h. yo : condiciones iniciales % h : tamaño del paso % n : Numero de iteraciones.h. end end disp ('Finalizado') Función: function f=funcion (x.xo.yo.h.xo.'RK 4to Ord').h.xo.xo. yo = input ('Ingrese valor inicial de y:').yo.yo.Runge Kutta Organizador: % % % % % % METODO DE ord : funcion : xo.y) de la derivada condiciones iniciales tamaño del paso Numero de iteraciones.xo.xo.n) case 4 RK_cuarto_orden('funcion'. (para la partición) yn=yo.y) de la derivada % xo.yo.h.yo.yo.h.yo. xn=xo.n) % RK_primer_orden('funcion'.h. (para la partición) disp ('METODO DE RUNGE KUTTA') disp ('---------------------') disp ('1 Metodo de Primer Orden') disp ('2 Metodo de Primer Orden') disp ('3 Metodo de Primer Orden') disp ('4 Metodo de Primer Orden') disp ('5 Comparacion') disp ('0 Salir') ord = input ('Elija Orden:').h. if ord~=0 xo = input ('Ingrese valor inicial de x:').n) case 5 hold all RK_primer_orden('funcion'.n) title('METODO DE RUNGE KUTTA COMPARACION'). switch ord case 1 RK_primer_orden('funcion'. h = input ('Ingrese los incrementos h:').'RK 3er Ord'.xo.n) case 2 RK_segundo_orden('funcion'.h.n) case 3 RK_tercer_orden('funcion'.n) RK_tercer_orden('funcion'.

vectx(1:i+1)'. vecty(1)=yn.' y ']) disp([' ------'.yn).xo. n+1).5*k1)).xn.5*h).'MarkeredgeColor'. yn1=yn+k2*h. vectx(i+1)=xn1.(xn+0. vecty(i+1)=yn1. k2=h*feval(funcion.yo.' ------']) disp([(0:n)'. vectx(i+1)=xn1.2.' ------'. yn=yn1.'LineWidth'. plot(vectx. vecty(i+1)=yn1.' ------'. for i=1:n xn1=xn+h. vectx(1)=xn.' ------']) disp([(0:n)'. xlabel ('valores x').h. yo : condiciones iniciales % h : tamaño del paso % n : Numero de iteraciones. vecty(1)=yn.xo. for i=1:n xn1=xn+h. (para la partición) yn=yo.vecty(1:i+1)']) subplot (1.'r'. n+1). k1=h*feval(funcion. n+1). vecty = zeros(1. title('METODO DE RUNGE KUTTA DE PRIMER OREDEN').vecty.vecty(1:i+1)']) subplot (1. end disp('METODO DE RUNGE KUTTA DE SEGUNDO ORDEN') disp([' Iter '. grid on Runge Kutta de 2do Orden: function w=RK_segundo_orden(funcion. end disp('METODO DE RUNGE KUTTA DE PRIMER ORDEN') disp([' Iter '.n) % funcion : Nombre de la función f(x. vectx(1)=xn. xn=xn1.1). vectx = zeros(1.' x '.yn). ylabel ('valores y').' x '.yo.vectx(1:i+1)'.'MarkerSize'.n) % RK_segundo_orden('funcion'.10).h. xn=xo. n+1). vecty = zeros(1.1).1.'-r+'. º . xn=xn1.xn.y) de la derivada % xo.(yn+0. yn1=yn+k1. k1=h*feval(funcion.' y ']) disp([' ------'.1. yn=yn1.vectx = zeros(1.

n+1).2. xlabel ('valores x').'g'. k2=h*feval(funcion.(xn+0.xo. ylabel ('valores y').y) de la derivada % xo. yo : condiciones iniciales % h : tamaño del paso % n : Numero de iteraciones. yo : condiciones iniciales % h : tamaño del paso % n : Numero de iteraciones.'LineWidth'. k3=h*feval(funcion.'MarkeredgeColor'. end disp('METODO DE RUNGE KUTTA DE TERCER ORDEN') disp([' Iter '. vectx(1)=xn. (para la partición) yn=yo.xo.5*k2)).' ------'. for i=1:n xn1=xn+h. vecty(1)=yn.n) % funcion : Nombre de la función f(x.(xn+0.vecty. vecty(i+1)=yn1.vecty.'MarkeredgeColor'. vectx = zeros(1.yo.vecty(1:i+1)']) subplot (1.10).vectx(1:i+1)'. xn=xo. º .' ------']) disp([(0:n)'.n) % RK_cuarto_orden('funcion'.plot(vectx.y) de la derivada % xo.' x '.h.h.1.'MarkerSize'.(yn+0.'MarkerSize'. title('METODO DE RUNGE KUTTA DE SEGUNDO OREDEN'). vectx = zeros(1. n+1).'b'. ylabel ('valores y'). n+1).yo. vecty = zeros(1. k1=h*feval(funcion.yo.h.5*h).xo.1). grid on Runge Kutta de 3er Orden: function w=RK_tercer_orden(funcion. xn=xo. vecty = zeros(1.yn). xn=xn1.5*k1)).xn.'-b*'.' y ']) disp([' ------'. yn=yn1. (para la partición) yn=yo.h. vectx(i+1)=xn1. xlabel ('valores x').5*h).n) % RK_TERCER_orden('funcion'. plot(vectx. n+1).'LineWidth'. yn1=yn+(k1+4*k2+k3)/6.yo.xo.(yn+0. grid on Runge Kutta de 4to Orden: function w=RK_cuarto_orden(funcion. title('METODO DE RUNGE KUTTA DE TERCER OREDEN').10).n) % funcion : Nombre de la función f(x.'-go'.2.

vecty(1)=yn.'MarkerSize'.5*h).5*k2)).(xn+0.' y ']) disp([' ------'. end disp('METODO DE RUNGE KUTTA DE CUARTO ORDEN') disp([' Iter '.' ------'.vectx(1)=xn. k4=h*feval(funcion. xlabel ('valores x'). for i=1:n xn1=xn+h.1.1 SOLUCION DEL EJERCICIO PLANTEADO EN EL PROGRAMA PARA: x=0.'LineWidth'.(xn+h).vectx(1:i+1)'. k2=h*feval(funcion.------ º . yn1=yn+(k1+2*k2+2*k3+k4)/6.' ------']) disp([(0:n)'.1 Ingrese el numero de iteraciones n:5 METODO DE RUNGE KUTTA DE PRIMER ORDEN Iter x y -----. k3=h*feval(funcion.(yn+0.vecty(1:i+1)']) subplot (1. title('METODO DE RUNGE KUTTA DE CUARTO OREDEN').'MarkeredgeColor'. xn=xn1.(xn+0.'-kx'. yn=yn1.5*k1)). h=0. ylabel ('valores y'). plot(vectx. grid on 3.(yn+0.10).5*h).vecty. k1=h*feval(funcion. vecty(i+1)=yn1.-----.1.' x '.(yn+k3)).'k'.yn).1). y=1. n=5 >> RUNGEKUTTA METODO DE RUNGE KUTTA --------------------1 Metodo de Primer Orden 2 Metodo de Primer Orden 3 Metodo de Primer Orden 4 Metodo de Primer Orden 5 Comparacion 0 Salir Elija Orden:5 Ingrese valor inicial de x:0 Ingrese valor inicial de y:1 Ingrese los incrementos h:0.xn. vectx(i+1)=xn1.2.

0000 4.0000 0.0372 3.0000 1.0000 0.1244 0.0000 0.0 1.0101 2.5000 1.0408 3.4000 1.1000 1.-----0 0 1.0000 0.0000 2.0040 3.0000 0.0000 0.-----.2711 METODO DE RUNGE KUTTA DE CUARTO ORDEN Iter x y -----.2000 1.0010 2.0000 0.3000 1.0000 3.0000 0.0000 0 1.2000 1.0092 4.3000 1.1000 1.2840 Finalizado RESULTADO: º .-----0 0 1.0259 METODO DE RUNGE KUTTA DE TERCER ORDEN Iter x y -----.2000 1.0200 0.4000 1.4000 1.1646 5.0000 0.5000 1.0000 0.2000 1.2144 METODO DE RUNGE KUTTA DE SEGUNDO ORDEN Iter x y -----.0882 4.0083 2.0000 5.0000 0.1000 1.4000 1.0942 4.0000 0.5000 1.-----.0000 0.0000 0.0000 1.1000 1.5000 1.1735 5.-----0 0 1.0000 0.0000 0.0608 0.0164 5.0000 1.3000 1.-----.3000 1.0000 0.

º .

entre otras º . control de procesos. El método de Runge Kutta se utiliza para determinar costos. productos de alto valor agregado. El método de RUNGE-KUTTA tiene variantes variando en la exactitud de la solución La efectividad o exactitud del método consiste en saber escoger un buen incremento.4 CONCLUSIONES El método RUNGE-KUTA es un conjunto de métodos iterativos para la aproximación de ecuaciones diferenciales ordinarias que derivan del método de Taylor. volúmenes bajos aislados. Se pueden resolver ecuaciones diferenciales sin tener necesidad de resolver las integrales a dicha ecuación solo se necesita conocer una pendiente hallada a través de la ecuación . dimensiones de espacio. control de movimientos.

5 RECOMENDACIONES Es bueno reconocer los tipos de este método para poder resolver los diferentes problemas que se nos presente Reconocer los datos para su fácil resolución Saber cómo es el método TAYLOR . saber utilizarlos ya que nos ayudara en la variante de cuarto orden Saber también el método de EULER ya que se usa en una de la variante de este método que estamos explicando º .

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->