35
º INDICE Contenido INDICE ............................................................................................................................. 1 INTRODUCCION ............................................................................................................ 2 RESUMEN ....................................................................................................................... 3 CONTENIDO ................................................................................................................... 8 1 METODO DE RUNGE KUTTA ............................................................................. 8 1.1 Método de RUNGE-KUTTA............................................................................. 8 1.2 PRIMER METODO DE RUNGE KUTTA ..................................................... 11 1.3 SEGUNDO METODO DE RUNGE KUTTA................................................ 12 1.4 EXTENSION DEL METODO DE RUNGE KUTTA .................................... 13 1.5 EJEMPLOS RESUELTOS .............................................................................. 14 1.5.1 RUNGE KUTTA PARA SEGUNDO ORDEN, MÉTODO PUNTO MEDIO. .................................................................................................................. 14 1.5.2 RUNGE KUTTA PARA TERCER ORDEN. ........................................ 17 2 APLICACIONES A LA INGENIERIA CIVIL ..................................................... 20 2.1 APLICACIÓN DEL METODOD DE RUNGE KUTTA (TRANSITO DE AVENIDAS)- HIDROLOGIA ................................................................................... 21 3 PROGRAMA EN MATLAB DEL METODO DE RUNGE KUTTA ................... 27 3.1 SOLUCION DEL EJERCICIO PLANTEADO EN EL PROGRAMA ........... 31 4 CONCLUSIONES .................................................................................................. 34 5 RECOMENDACIONES ........................................................................................ 35

Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

Embed Size (px)

Citation preview

Page 1: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

INDICE

Contenido INDICE ............................................................................................................................. 1

INTRODUCCION ............................................................................................................ 2

RESUMEN ....................................................................................................................... 3

CONTENIDO ................................................................................................................... 8

1 METODO DE RUNGE KUTTA ............................................................................. 8

1.1 Método de RUNGE-KUTTA ............................................................................. 8

1.2 PRIMER METODO DE RUNGE KUTTA ..................................................... 11

1.3 SEGUNDO METODO DE RUNGE KUTTA ................................................ 12

1.4 EXTENSION DEL METODO DE RUNGE KUTTA .................................... 13

1.5 EJEMPLOS RESUELTOS .............................................................................. 14

1.5.1 RUNGE –KUTTA PARA SEGUNDO ORDEN, MÉTODO PUNTO

MEDIO. .................................................................................................................. 14

1.5.2 RUNGE –KUTTA PARA TERCER ORDEN. ........................................ 17

2 APLICACIONES A LA INGENIERIA CIVIL ..................................................... 20

2.1 APLICACIÓN DEL METODOD DE RUNGE KUTTA (TRANSITO DE

AVENIDAS)- HIDROLOGIA ................................................................................... 21

3 PROGRAMA EN MATLAB DEL METODO DE RUNGE KUTTA ................... 27

3.1 SOLUCION DEL EJERCICIO PLANTEADO EN EL PROGRAMA ........... 31

4 CONCLUSIONES .................................................................................................. 34

5 RECOMENDACIONES ........................................................................................ 35

Page 2: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

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

Page 3: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

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.

Page 4: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

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, se utiliza una secante con

pendiente igual al promedio de pendientes de la curva integral en los puntos

coordenados (Xn, Yn), (Xn+1, Yn+1) en donde Xn+1 y Yn+1 pueden estimarse con

el procedimiento normal de Euler, 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, Yn+1) es el valor de la función f(X, Y) para:

X = Xn+1

Y = Yn + h f(Xn, Yn)

Observando las expresiones para resolver la ecuación diferencial, puede decirse que

ambas consisten en aplicar la fórmula de recurrencia

(6)

en donde

(7)

Page 5: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

En el método de Euler y

(8)

En lo que

Y' = f(X, Y) (9)

En el método de Euler Mejorado.

Como se ve, estos métodos tienen los siguientes puntos en común:

1. son métodos de un paso; para determinar yn+1 se necesita conocer

únicamente los valores de xn y yn del punto anterior.

2. no requieren evaluar ninguna derivada, sino únicamente valores de la función

f(x, y).

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).

La ventaja de los métodos de Runge-Kutta con respecto al uso de la serie de Taylor,

que es también un método de un paso, está expresado en el punto (2) anterior; es

decir, los métodos de Runge-Kutta requieren sólo de la función f(X, Y) y de ninguna

derivada, mientras que la serie de Taylor sí requiere de la evaluación de derivadas.

Esto hace que, en la práctica, la aplicación de los métodos de Runge-Kutta sean más

simples que el 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 , 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

Page 6: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

(11)

La ecuación (10) se obtiene haciendo un promedio de las cuatro pendientes, k1, k2,

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).

Page 7: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

OBJETIVOS

Objetivo General

Aprender a resolver Ecuaciones Diferenciales lineales de primer orden a través

del método de Runge-Kutta.

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.

Identificar la exactitud del método.

Page 8: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

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 método de Runge-Kutta no es sólo un único método, sino una

importante familia de métodos iterativos, tanto implícitos como

explícitos, para aproximar las soluciones de ecuaciones diferenciales

ordinarias (E.D.O´s); estas técnicas fueron desarrolladas alrededor de

1900 por los matemáticos alemanes Carl David Tolmé Runge y Martin

Wilhelm Kutta.

1.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. El método de Euler se puede considerar como un método de

Runge Kutta de primer orden, el de Heun, es un método de Runge Kutta

de orden dos.

Los métodos de Runge-Kutta logran la exactitud del procedimiento de

una serie de Taylor sin requerir el cálculo de derivadas superiores. Existen

muchas variaciones, pero todas se pueden denotar en la forma

generalizada de la ecuación

yi + 1 = yi + F(xi,yi,h)h

Donde F(xi,yi,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:

F = a1k1 + a2k2 +….+ ankn

Page 9: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

Donde las a son constantes y las k son:

k1 = f(xi,yi)

k2 = f(xi + p1h,yi + q11k1h)

k3 = f(xi + p2h,yi + q21k1h + q22k2h)

kn = f(xi + pnh,yi + q2n-1k1h + qn-1,2k2h + …. + qn-1,n-1kn-1h)

Donde las p y q son constantes.

Como cada k es una evaluación funcional, esta recurrencia hace que

los métodos Runge-Kutta sean eficientes para la programación. 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.

n = 1, es el método de Euler. Una vez se elige n, se evalúan las a, p y q al

igualar la función incremento a los términos en la serie de expansión de

Taylor. La versión de segundo orden para la ecuación en su forma

generalizada es:

Donde:

Los valores de a1, a2, 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:

Page 10: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

Como se tienen tres ecuaciones con cuatro incógnitas se tiene que

suponer el valor de una de ellas. 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 a2, hay un

número infinito de métodos Runge-Kutta de segundo orden.

a2 = 1/2: Método de Heun con un solo corrector, donde:

a2 = 1 : Método del punto medio.

a2 = 2/3: Método de Ralston.

Siguiendo el mismo razonamiento para n = 3, o sea, Runge-Kutta de

tercer orden, el resultado son seis ecuaciones con ocho incógnitas, por

lo tanto se deben suponer dos valores con antelación para poder

desarrollar el sistema de ecuaciones. Una versión ampliamente usada

es:

Éste es el más popular de los métodos Runge-Kutta de cuarto orden:

Page 11: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

1.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,

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, determinando algunos

coeficientes adecuados, así:

Como podemos verificar, reemplazando de acuerdo a las condiciones

supuestas

Page 12: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

De esta manera a partir de en es posible ubicar

en mediante el primer método de RUNGE KUTTA, por medio

de la determinación de los coeficientes de K del modo siguiente

1.3 SEGUNDO METODO DE RUNGE KUTTA En forma similar, se deduce un segundo método en función al siguiente

sistema:

Page 13: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

1.4 EXTENSION DEL METODO DE RUNGE KUTTA

Para ecuaciones diferenciales de segundo orden, como

Suele simplificarse su cálculo efectuando el siguiente cambio de

variable:

De este modo, el sistema queda entonces reducido a:

Determinándose los coeficientes siguientes:

Page 14: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

1.5 EJEMPLOS RESUELTOS

1.5.1 RUNGE –KUTTA PARA SEGUNDO ORDEN, MÉTODO PUNTO MEDIO. Resuelva el siguiente problema de valor inicial en el intervalo de x=0 a

x=1.

yyxdx

dy2.12

Donde:

y(0)=1

h = 0.25

Solución

hk y y 2i1i

)y f(xi, k i1

h)k2

1y ,h

2

1f(x = k 1ii2

Primera iteración

1) , (0 f )y ,f(x k 001

Page 15: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

)1(2.1)0)(1( 2

1k

2.11k

hxfk2

1( 02 , )

2

110 hky

)25.0(2

10(2 fk , ))25.0)(2.1(

2

11

)85.0,125.0(2 fk

)85.0(2.1)125.0(85.0 2

2k

006718.12k

25.0)006718.1(11y

748320.01y

Segunda iteración

hxx 01

25.001x

25.01x

0.748320) , (0.25 f )y ,f(x k 111

)748320.0(2.1)25.0)(748320.0( 2

1k

851432.01k

)25.0(2

125.0(2 fk , ))25.0)(851432.0(

2

1748320.0

)641891.0,375.0(2 fk

)641891.0(2.1)375.0(641891.0 2

2k

680003.02k

25.0)680003.0(748320.02y

578319.02y

Tercera iteración

hxx 12

25.025.02x

5.02x

319)(0.5,0.578 f )y ,f(x k 221

)578319.0(2.1)5.0)(578319.0( 2

1k

549403.01k

hxfk2

1( 22 , )

2

112 hky

Page 16: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

)25.0(2

15.0(2 fk , ))25.0)(549403.0(

2

1578319.0

)509643.0,625.0(2 fk

)509643.0(2.1)625.0(509643.0 2

2k

4125.02k

25.0)4125.0(578319.03y

4752.03y

Cuarta iteración

hxx 23

25.05.03x

52)(0.75,0.47 f )y ,f(x k 331

)4752.0(2.1)75.0)(4752.0( 2

1k

3029.01k

hxfk2

1( 32 , )

2

113 hky

)25.0(2

175.0(2 fk , ))25.0)(3029.0(

2

14752.0

)4373.0,875.0(2 fk

)4373.0(2.1)875.0(4373.0 2

2k

1900.02k

25.0)1900.0(4752.04y

4277.04y

hxx 34

25.075.04x

14x

Vectores solución

X 0 0.25 0.5 0.75 1

y 1 0.7483 0.5783 0.4752 0.4277

75.03x

Page 17: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

1.5.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, de valor inicial, en el intervalo

de x=0 a x=1.

yyxdx

dy2.12

Donde:

y(0)=1

h = 0.25

Solución.

En el método de Runge kutta de tercer orden se utilizan las siguientes

formulas:

)hkk4(k6

1 y y 321i1i

)y f(xi, k i1

h)k2

1y ,h

2

1f(x = k 1ii2

h)k2hky ,h f(x k 21ii3

Primera iteración

)1(2.1)0)(1( 2

1k

2.11k

hxfk2

1( 02 , )

2

110 hky

)25.0(2

10(2 fk , ))25.0)(2.1(

2

11

)85.0,125.0(2 fk

)85.0(2.1)125.0(85.0 2

2k

0067.12k

h)k2hky ,h f(x k 21oo3 ))25.0)(0067.1(2)25.0)(2.1()1(),25.0(0(3 fk

)7966.0,25.0(3 fk

)7966.0(2.1)25.0(7966.0 2

3k

1) , (0 f )y ,f(x k 001

Page 18: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

9062.03k

)hkk4(k6

1 y y 32101

7445.01y

Segunda iteración

hxx 01

25.001x

25.01x

0.7445) , (0.25 f )y ,f(x k 111

)7445.0(2.1)25.0)(7445.0( 2

1k

8468.01k

hxfk2

1( 12 , )

2

111 hky

)25.0(2

125.0(2 fk , ))25.0)(8469.0(

2

17445.0

)6386.0,375.0(2 fk

)6386.0(2.1)375.0(6386.0 2

2k

6765.02k

h)k2hky ,h f(x k 21113 ))25.0)(6765.0(2)25.0)(8469.0()7445.0(),25.0(25.0(3 fk

)6178.0,5.0(3 fk

)6178.0(2.1)5.0(6178.0 2

3k

5870.03k

)hkk4(k6

1 y y 32112

5720.02y

Tercera iteración

hxx 12

25.025.02x

5.02x

Page 19: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

0)(0.5,0.572 f )y ,f(x k 221

)5720.0(2.1)5.0)(5720.0( 2

1k

5434.01k

hxfk2

1( 22 , )

2

112 hky

)25.0(2

15.0(2 fk , ))25.0)(5434.0(

2

15720.0

)5041.0,625.0(2 fk

)5041.0(2.1)625.0(5041.0 2

2k

4080.02k

h)k2hky ,h f(x k 21223 ))25.0)(4080.0(2)25.0)(5434.0()5720.0(),25.0(5.0(3 fk

)5038.0,75.0(3 fk

)5038.0(2.1)75.0(5038.0 2

3k

3212.03k

)hkk4(k6

1 y y 32123

4679.03y

Cuarta iteración

hxx 23

25.05.03x

75.03x

79)(0.75,0.46 f )y ,f(x k 331

)4679.0(2.1)75.0)(4679.0( 2

1k

2986.01k

hxfk2

1( 32 , )

2

113 hky

)25.0(2

175.0(2 fk , ))25.0)(2983.0(

2

14679.0

)4306.0,875.0(2 fk

)4306.0(2.1)875.0(4306.0 2

2k

1871.02k

h)k2hky ,h f(x k 21333 ))25.0)(1871.0(2)25.0)(2983.0()4679.0(),25.0(75.0(3 fk

Page 20: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

)4489.0,1(3 fk

)4489.0(2.1)1(4489.0 2

3k

0898.03k

)hkk4(k6

1 y y 32134

4206.04y

hxx 34

25.075.04x

14x

Vectores solución

X 0 0.25 0.5 0.75 1

y 1 0.7445 0.5720 0.4679 0.4206

2 APLICACIONES A LA INGENIERIA CIVIL

El estudio de los métodos numéricos, es muy útil y por ende importante

para quien utilice esta herramientas para resolución de operaciones, las

cuales se saben que pueden resultar complicadas, tediosas y largas, y

por más que se dominen los métodos tradicionales, estos muchas veces

pueden no ser suficientes, sin embargo esto no quiere decir que la

operación sea imposible de solucionar, y es ahí donde los métodos

numéricos se aplican, y facilitan es trabajo de cierta manera.

Dentro del estudio de los métodos numéricos, se encuentran una gran

variedad de aplicaciones como lo fue el descrito en el presente trabajo

referido al método de runge kutta, 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, pero con un orden de exactitud mas alto que este,

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, ya que debido

Page 21: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

a estas características su implantación resulta mas cómoda y fácil de

manejar, 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. El mecanismo esta basado en la

aplicación de ecuaciones matemáticas de gran facilidad de empleo,

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.

2.1 APLICACIÓN DEL METODOD DE RUNGE KUTTA (TRANSITO DE AVENIDAS)- HIDROLOGIA

METODO DE RUNGE-KUTTA

Para la circulación de avenidas a través de embalses bajo el supuesto

de superficie libre horizontal, 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. Este método

no requiere el cálculo de la función especial 2S/∆t+Q versus Q, y se

aproxima más a la hidráulica de la circulación de flujos a través de

embalses. Existen diversos órdenes de esquemas de Runge-Kutta, con

mucho, el más útil y empleado el cuarto orden.

La ecuación de continuidad puede expresarse como

En donde

S: Volumen de agua almacenado.

I(t): Aporte que entra al embalse, función del tiempo.

Q(y): descarga evacuada por el aliviadera o estructura de

desagüe, determinada por la carga o calado.

Page 22: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

El método de Runge-Kutta aproxima el valor de la función y sobre un

intervalo de tiempo, ∆t, mediante un desarrollo en serie de Taylor.

Que es la aproximación de Runge-Kutta de cuarto orden, por esta

precisión, en la que el termino de error será 0 (∆t5)

METODO DE RUNGE-KUTTA

HIDROGRAMA DE SALIDA

TIEMPO

(min.)

ELEVACION

(m.)

CAUDAL

(m3/s)

TIEMPO

(min.)

ELEVACION

(m.)

CAUDAL

(m3/s)

15 353.511 0 255 355.726 87.17

30 353.537 0 270 355.783 97.71

45 353.578 0 285 355.817 104.15

60 353.636 0 300 355.831 106.7

75 353.718 0 325 355.829 106.35

90 353.827 0 330 355.817 104.08

105 353.965 0 345 355.798 100.36

120 354.132 0 360 355.773 95.8

135 354.324 0 375 355.743 90.29

150 354.539 0 390 355.708 83.95

165 354.763 0 405 355.671 77.46

Page 23: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

180 354.985 0 420 355.632 70.81

195 355.195 12.15 435 355.593 64.28

210 355.377 32.75 450 355.555 58.39

225 355.527 53.96 465 355.52 52.88

240 355.642 72.51 480 355.488 48.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.

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. En un determinado instante comienza a entrar agua salada a

razón de 2 lts/min, con una concentración de 3 gr/lts de sal, mientras

que el agua, perfectamente mezclada, sale del depósito a razón de 2

lts/min. En la imagen anterior se plantea el problema.

Llamemos a la cantidad de sal en el depósito en el instante t.

Notemos que el volumen de agua en el depósito es siempre de 50 litros,

Page 24: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

ya que en cada instante entran dos litros y salen otros dos. Por tanto, la

concentración de sal en cada instante será de La velocidad

de variación de la concentración de sal viene dada por , que se

expresa en gr/min.

Por un lado, 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. 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

Page 25: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

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, 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.

Page 26: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

Resolver mediante el método de Runge Kutta

la siguiente ecuación:

t(min) 0

s(t) (gr) 75

h(min) 5

t(min) s(t) (gr) k1 k2 k3 k4 0 75 3 2,7 2,73 2,727 5 88,8225 2,4471 2,20239 2,226861 2,2244139 10 100,097513 1,99609947 1,79648952 1,81645052 1,81445442 15 109,294542 1,62821834 1,4653965 1,48167869 1,48005047 20 116,796558 1,3281377 1,19532393 1,20860531 1,20727717 25 122,915952 1,08336192 0,97502573 0,98585935 0,98477599 30 127,907542 0,88369832 0,79532849 0,80416547 0,80328177 35 131,979182 0,72083272 0,64874945 0,65595777 0,65523694 40 135,300419 0,58798325 0,52918492 0,53506476 0,53447677 45 138,009552 0,47961794 0,43165614 0,43645232 0,4359727 50 140,219391 0,39122435 0,35210192 0,35601416 0,35562293 55 142,021957 0,3191217 0,28720953 0,29040075 0,29008163 60 143,492311 0,26030757 0,23427682 0,23687989 0,23661958

Page 27: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

3 PROGRAMA EN MATLAB DEL METODO DE RUNGE KUTTA

DIAGRAMA DE FLUJO DEL PROGRAMA DE RUNGE KUTTA

INICIO

Mostrar

Ingreso

Fin

Computar

Iniciar datos

Incrementar

Page 28: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

Runge Kutta Organizador: % METODO DE RUNGE KUTTA % ord : Orden del metodo % funcion : Nombre de la función f(x,y) de la derivada % xo, yo : condiciones iniciales % h : tamaño del paso % n : Numero de iteraciones. (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:'); if ord~=0 xo = input ('Ingrese valor inicial de x:'); yo = input ('Ingrese valor inicial de y:'); h = input ('Ingrese los incrementos h:'); n = input ('Ingrese el numero de iteraciones n:');

switch ord case 1 RK_primer_orden('funcion',xo,yo,h,n) case 2 RK_segundo_orden('funcion',xo,yo,h,n) case 3 RK_tercer_orden('funcion',xo,yo,h,n) case 4 RK_cuarto_orden('funcion',xo,yo,h,n) case 5 hold all RK_primer_orden('funcion',xo,yo,h,n) RK_segundo_orden('funcion',xo,yo,h,n) RK_tercer_orden('funcion',xo,yo,h,n) RK_cuarto_orden('funcion',xo,yo,h,n) title('METODO DE RUNGE KUTTA COMPARACION'); hleg1 = legend('RK 1er Ord','RK 2do Ord','RK 3er Ord','RK

4to Ord'); end end disp ('Finalizado')

Función: function f=funcion (x,y) f=2*x*y;

Runge Kutta de 1er Orden: function RK_primer_orden(funcion,xo,yo,h,n) % RK_primer_orden('funcion',xo,yo,h,n) % funcion : Nombre de la función f(x,y) de la derivada % xo, yo : condiciones iniciales % h : tamaño del paso % n : Numero de iteraciones. (para la partición)

yn=yo; xn=xo;

Page 29: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

vectx = zeros(1, n+1); vecty = zeros(1, n+1); vectx(1)=xn; vecty(1)=yn;

for i=1:n xn1=xn+h; k1=h*feval(funcion,xn,yn); yn1=yn+k1; vectx(i+1)=xn1; vecty(i+1)=yn1; xn=xn1; yn=yn1; end disp('METODO DE RUNGE KUTTA DE PRIMER ORDEN') disp([' Iter ',' x ',' y ']) disp([' ------',' ------',' ------']) disp([(0:n)',vectx(1:i+1)',vecty(1:i+1)'])

subplot (1,1,1); plot(vectx,vecty,'--

r+','LineWidth',2,'MarkeredgeColor','r','MarkerSize',10); title('METODO DE RUNGE KUTTA DE PRIMER OREDEN'); xlabel ('valores x'); ylabel ('valores y'); grid on

Runge Kutta de 2do Orden: function w=RK_segundo_orden(funcion,xo,yo,h,n) % RK_segundo_orden('funcion',xo,yo,h,n) % funcion : Nombre de la función f(x,y) de la derivada % xo, yo : condiciones iniciales % h : tamaño del paso % n : Numero de iteraciones. (para la partición)

yn=yo; xn=xo;

vectx = zeros(1, n+1); vecty = zeros(1, n+1); vectx(1)=xn; vecty(1)=yn;

for i=1:n xn1=xn+h; k1=h*feval(funcion,xn,yn); k2=h*feval(funcion,(xn+0.5*h),(yn+0.5*k1)); yn1=yn+k2*h; vectx(i+1)=xn1; vecty(i+1)=yn1; xn=xn1; yn=yn1; end disp('METODO DE RUNGE KUTTA DE SEGUNDO ORDEN') disp([' Iter ',' x ',' y ']) disp([' ------',' ------',' ------']) disp([(0:n)',vectx(1:i+1)',vecty(1:i+1)'])

subplot (1,1,1);

Page 30: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

plot(vectx,vecty,'--

go','LineWidth',2,'MarkeredgeColor','g','MarkerSize',10); title('METODO DE RUNGE KUTTA DE SEGUNDO OREDEN'); xlabel ('valores x'); ylabel ('valores y'); grid on

Runge Kutta de 3er Orden: function w=RK_tercer_orden(funcion,xo,yo,h,n) % RK_TERCER_orden('funcion',xo,yo,h,n) % funcion : Nombre de la función f(x,y) de la derivada % xo, yo : condiciones iniciales % h : tamaño del paso % n : Numero de iteraciones. (para la partición)

yn=yo; xn=xo;

vectx = zeros(1, n+1); vecty = zeros(1, n+1); vectx(1)=xn; vecty(1)=yn;

for i=1:n xn1=xn+h; k1=h*feval(funcion,xn,yn); k2=h*feval(funcion,(xn+0.5*h),(yn+0.5*k1)); k3=h*feval(funcion,(xn+0.5*h),(yn+0.5*k2)); yn1=yn+(k1+4*k2+k3)/6; vectx(i+1)=xn1; vecty(i+1)=yn1; xn=xn1; yn=yn1; end disp('METODO DE RUNGE KUTTA DE TERCER ORDEN') disp([' Iter ',' x ',' y ']) disp([' ------',' ------',' ------']) disp([(0:n)',vectx(1:i+1)',vecty(1:i+1)'])

subplot (1,1,1); plot(vectx,vecty,'--

b*','LineWidth',2,'MarkeredgeColor','b','MarkerSize',10); title('METODO DE RUNGE KUTTA DE TERCER OREDEN'); xlabel ('valores x'); ylabel ('valores y'); grid on

Runge Kutta de 4to Orden: function w=RK_cuarto_orden(funcion,xo,yo,h,n) % RK_cuarto_orden('funcion',xo,yo,h,n) % funcion : Nombre de la función f(x,y) de la derivada % xo, yo : condiciones iniciales % h : tamaño del paso % n : Numero de iteraciones. (para la partición)

yn=yo; xn=xo;

vectx = zeros(1, n+1); vecty = zeros(1, n+1);

Page 31: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

vectx(1)=xn; vecty(1)=yn;

for i=1:n xn1=xn+h; k1=h*feval(funcion,xn,yn); k2=h*feval(funcion,(xn+0.5*h),(yn+0.5*k1)); k3=h*feval(funcion,(xn+0.5*h),(yn+0.5*k2)); k4=h*feval(funcion,(xn+h),(yn+k3)); yn1=yn+(k1+2*k2+2*k3+k4)/6; vectx(i+1)=xn1; vecty(i+1)=yn1; xn=xn1; yn=yn1; end disp('METODO DE RUNGE KUTTA DE CUARTO ORDEN') disp([' Iter ',' x ',' y ']) disp([' ------',' ------',' ------']) disp([(0:n)',vectx(1:i+1)',vecty(1:i+1)'])

subplot (1,1,1); plot(vectx,vecty,'--

kx','LineWidth',2,'MarkeredgeColor','k','MarkerSize',10); title('METODO DE RUNGE KUTTA DE CUARTO OREDEN'); xlabel ('valores x'); ylabel ('valores y'); grid on

3.1 SOLUCION DEL EJERCICIO PLANTEADO EN EL PROGRAMA

PARA:

x=0, y=1, h=0.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.1 Ingrese el numero de iteraciones n:5 METODO DE RUNGE KUTTA DE PRIMER ORDEN Iter x y ------ ------ ------

Page 32: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

0 0 1.0000 1.0000 0.1000 1.0000 2.0000 0.2000 1.0200 3.0000 0.3000 1.0608 4.0000 0.4000 1.1244 5.0000 0.5000 1.2144 METODO DE RUNGE KUTTA DE SEGUNDO ORDEN Iter x y ------ ------ ------ 0 0 1.0000 1.0000 0.1000 1.0010 2.0000 0.2000 1.0040 3.0000 0.3000 1.0092 4.0000 0.4000 1.0164 5.0000 0.5000 1.0259 METODO DE RUNGE KUTTA DE TERCER ORDEN Iter x y ------ ------ ------ 0 0 1.0000 1.0000 0.1000 1.0083 2.0000 0.2000 1.0372 3.0000 0.3000 1.0882 4.0000 0.4000 1.1646 5.0000 0.5000 1.2711 METODO DE RUNGE KUTTA DE CUARTO ORDEN Iter x y ------ ------ ------ 0 0 1.0000 1.0000 0.1000 1.0101 2.0000 0.2000 1.0408 3.0000 0.3000 1.0942 4.0000 0.4000 1.1735 5.0000 0.5000 1.2840 Finalizado

RESULTADO:

Page 33: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

Page 34: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

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.

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.

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

.

El método de Runge Kutta se utiliza para determinar costos,

volúmenes bajos aislados, productos de alto valor agregado,

control de movimientos, control de procesos, dimensiones de

espacio, entre otras

Page 35: Solucion de Ecuaciones Diferenciales_metodo de Runge Kutta

º

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