Sei sulla pagina 1di 35

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 Mtodo 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, MTODO PUNTO MEDIO. .................................................................................................................. 14 1.5.2 2 RUNGE KUTTA PARA TERCER ORDEN. ........................................ 17 APLICACIONES A LA INGENIERIA CIVIL ..................................................... 20 2.1 APLICACIN 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 Ingeniera y otras ciencias hay diversos problemas que se formulan en trminos de ecuaciones diferenciales .Por ejemplo ,trayectorias balsticas ,estudio de redes elctricas , deformacin de vigas, estabilidad de aviones, teora de vibraciones y otras aplicaciones de aqu la importancia de su solucin En el presente trabajo nos enfocaremos en la SOLUCION DE ECUACIONES

DIFERENCIALES ORDINARIAS DE PRIMER ORDEN-Mtodo de Runge kutta del curso de Mtodos Numricos, que va dirigido primeramente al docente del curso y a los colegas estudiantes que llevan el curso ya mencionado, nuestro propsito es desarrollar el tema de una forma breve y entendible claro est utilizando la terminologa necesaria en este captulo, de igual manera se presenta algunos de problemas con el procedimiento completo ,ordenado y de fcil entendimiento .Tambin se presenta una aplicacin a la INGENIERIA CIVIL de este mtodo y finalmente un programa en MATLAB.

Los Alumnos

RESUMEN
Cuando se desarrolla el mtodo de Euler para resolver la ecuacin diferencial de primer orden Y' = f(X, Y) (1) Con la condicin inicial Y(X0) = Y0 (2) Consiste en aplicar repetidamente la frmula de recurrencia Yn+1 = Yn + h f(Xn, Yn) donde n = 1, 2, 3, ... (3) Para determinar la solucin de la ecuacin diferencial en X = X1, X2, X3, ... Sustituyendo la funcin f(X,Y) dada en (1), en (3), se tiene que Yn+1 = Yn + h Y'n (4) Expresin que indica que el mtodo de Euler consiste grficamente, en ir de un valor Yn conocido de la solucin de la ecuacin 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 solucin conocida, como se muestra en la siguiente figura.

De este planteamiento grfico puede verse que una mejor aproximacin a la solucin de la ecuacin diferencial se obtendra si en vez de ir por la tangente T1 para determinar la solucin 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 grfica:

Con lo anterior se obtendra un mtodo mejorado de Euler con error del orden de definido por la expresin

(5)

en donde f(Xn+1,

Yn+1) es el valor de la funcin f(X, Y) para:

X = Xn+1 Y = Yn + h f(Xn, Yn)


Observando las expresiones para resolver la ecuacin diferencial, puede decirse que ambas consisten en aplicar la frmula de recurrencia

(6)

en donde (7)

En el mtodo

de Euler y

(8)

En lo que Y' = f(X, Y) (9) En el mtodo

de Euler Mejorado.

Como se ve, estos mtodos tienen los siguientes puntos en comn: 1. son mtodos 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 funcin f(x, y). Estas caractersticas dan origen a una gran variedad de mtodos conocidos como de runge-kutta la diferencia entre ellos cosiste en la forma como se define la funcin que aparece en la expresin (6). La ventaja de los mtodos de Runge-Kutta con respecto al uso de la serie de Taylor, que es tambin un mtodo de un paso, est expresado en el punto (2) anterior; es decir, los mtodos de Runge-Kutta requieren slo de la funcin f(X, Y) y de ninguna derivada, mientras que la serie de Taylor s requiere de la evaluacin de derivadas. Esto hace que, en la prctica, la aplicacin de los mtodos de Runge-Kutta sean ms simples que el uso de la serie de Taylor. Un mtodo 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 mtodos numricos se le llama simplemente el Mtodo de Runge-Kutta, se dar a conocer sin demostrar y consiste en aplicar la ecuacin de recurrencia (6) en donde la funcin est dada por la expresin:

(10)

En el cual

(11)

La ecuacin (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).

OBJETIVOS

Objetivo General
Aprender a resolver Ecuaciones Diferenciales lineales de primer orden a travs del mtodo de Runge-Kutta.

Objetivos Especficos
Conocer ventajas y desventajas del mtodo. Comparar el mtodo de Runge-Kutta con la solucin de la ecuacin resuelta por mtodos de integracin. Identificar la exactitud del mtodo.

CONTENIDO

1 METODO DE RUNGE KUTTA


El mtodo de Runge-Kutta es un mtodo genrico de resolucin numrica de ecuaciones diferenciales. El mtodo de Runge-Kutta no es slo un nico mtodo, sino una importante familia de mtodos iterativos, tanto implcitos como explcitos, para aproximar las soluciones de ecuaciones diferenciales ordinarias (E.D.Os); estas tcnicas fueron desarrolladas alrededor de 1900 por los matemticos alemanes Carl David Tolm Runge y Martin Wilhelm Kutta.

1.1 Mtodo de RUNGE-KUTTA


El mtodo de Runge Kutta es un mtodo numrico de resolucin de ecuaciones diferenciales que surge como una mejora del mtodo de Euler. El mtodo de Euler se puede considerar como un mtodo de Runge Kutta de primer orden, el de Heun, es un mtodo de Runge Kutta de orden dos. Los mtodos de Runge-Kutta logran la exactitud del procedimiento de una serie de Taylor sin requerir el clculo de derivadas superiores. Existen muchas variaciones, pero todas se pueden denotar en la forma generalizada de la ecuacin yi + 1 = yi + F(xi,yi,h)h Donde F(xi,yi,h) se conoce como la funcin incremento la cual puede interpretarse como una pendiente representativa en el intervalo. La funcin incremento se escribe en forma general como: F = a1k1 + a2k2 +.+ ankn

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 evaluacin funcional, esta recurrencia hace que los mtodos Runge-Kutta sean eficientes para la programacin. Existen varios tipos de mtodos Runge-Kutta al emplear diferentes nmeros de trminos en la funcin incremento como la especificada por n. n = 1, es el mtodo de Euler. Una vez se elige n, se evalan las a, p y q al igualar la funcin incremento a los trminos en la serie de expansin de Taylor. La versin de segundo orden para la ecuacin en su forma generalizada es:

Donde:

Los valores de a1, a2, p1 y q11 son evaluados al igualar el trmino de segundo orden de la ecuacin dada con la expansin de la serie de Taylor. Desarrollando tres ecuaciones para evaluar las cuatro incgnitas:

Como se tienen tres ecuaciones con cuatro incgnitas se tiene que suponer el valor de una de ellas. Suponiendo que se especific un valor para a2, se puede resolver de manera simultnea el sistema de ecuaciones obtenido:

Como se puede elegir un nmero infinito de valores para a2, hay un nmero infinito de mtodos Runge-Kutta de segundo orden. a2 = 1/2: Mtodo de Heun con un solo corrector, donde:

a2 = 1 : Mtodo del punto medio.

a2 = 2/3: Mtodo de Ralston.

Siguiendo el mismo razonamiento para n = 3, o sea, Runge-Kutta de tercer orden, el resultado son seis ecuaciones con ocho incgnitas, por lo tanto se deben suponer dos valores con antelacin para poder desarrollar el sistema de ecuaciones. Una versin ampliamente usada es:

ste es el ms popular de los mtodos Runge-Kutta de cuarto orden:

1.2 PRIMER METODO DE RUNGE KUTTA


Sea dado el punto , es nuestro inters aproximar en dentro de la ecuacin diferencial ordinaria Con tal propsito 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

clculo,

determinando

algunos

coeficientes adecuados, as:

Como podemos verificar, reemplazando de acuerdo a las condiciones supuestas

De esta manera a partir de en

en

es posible ubicar

mediante el primer mtodo de RUNGE KUTTA, por medio

de la determinacin de los coeficientes de K del modo siguiente

1.3 SEGUNDO METODO DE RUNGE KUTTA


En forma similar, se deduce un segundo mtodo en funcin al siguiente sistema:

1.4 EXTENSION DEL METODO DE RUNGE KUTTA


Para ecuaciones diferenciales de segundo orden, como

Suele simplificarse su clculo efectuando el siguiente cambio de variable:

De este modo, el sistema queda entonces reducido a:

Determinndose los coeficientes siguientes:

1.5 EJEMPLOS RESUELTOS


1.5.1 RUNGE KUTTA PARA SEGUNDO ORDEN, MTODO PUNTO MEDIO. Resuelva el siguiente problema de valor inicial en el intervalo de x=0 a x=1.
dy dx yx 2 1.2 y

Donde: y(0)=1 h = 0.25 Solucin

yi k1

yi

k 2h

f(xi, y i )
1 1 h , yi k 1 h) 2 2

k 2 = f(x i

Primera iteracin
k1 f(x 0 , y 0 ) f (0 , 1)

k1

(1)(0) 2

1.2(1)

k1
k2
k2

1.2
1 1 h , y0 k1h) 2 2 1 1 f (0 (0.25) , 1 ( 1.2)(0.25)) 2 2 f (0.125,0.85) 0.85(0.125) 2 1.2(0.85) 1.006718 f ( x0

k2
k2

k2

y1 y1

1 ( 1.006718)0.25 0.748320
Segunda iteracin

x1

x0

x1 x1

0 0.25 0.25

k1
k1

f(x1 , y1 ) f 0.851432

(0.25 , 0.748320)
1.2(0.748320)

(0.748320)(0.25) 2

k1
k2

k2
k2

k2 y2 y2

1 1 (0.25) , 0.748320 ( 0.851432)(0.25)) 2 2 f (0.375,0.641891) 0.641891(0.375) 2 1.2(0.641891) 0.680003 0.748320 ( 0.680003)0.25 0.578319 f (0.25

Tercera iteracin

x2 x2 x2 k1
k1

x1 h 0.25 0.25 0.5 f(x 2 , y 2 ) f


0.549403
f ( x2 1 h , y2 2 1 k1 h ) 2

(0.5,0.578319)
1.2(0.578319)

(0.578319)(0.5) 2

k1
k2

k2

k2
k2

k2
y3 y3

1 1 (0.25) , 0.578319 ( 0.549403)(0.25)) 2 2 f (0.625,0.509643) 0.509643(0.625) 2 1.2(0.509643) 0.4125 f (0.5


0.578319 0.4752 ( 0.4125)0.25

Cuarta iteracin
x3 x3 x2 h

0.5 0.25

x3
k1
k1

0.75
f(x 3 , y 3 ) f
(0.4752)(0.75)

(0.75,0.4752)
2

1.2(0.4752)

k1
k2 k2

k2
k2

0.3029 1 1 f ( x3 h , y3 k1h) 2 2 1 f (0.75 (0.25) , 0.4752 2 f (0.875,0.4373)


0.4373(0.875) 2 1.2(0.4373)

1 ( 0.3029)(0.25)) 2

k2
y4 y4
x4

0.1900
0.4752 ( 0.1900)0.25 0.4277
x3 h

x4 0.75 0.25 x4 1
Vectores solucin X 0 0.25 0.5 0.75 1 y 1 0.7483 0.5783 0.4752 0.4277

1.5.2 RUNGE KUTTA PARA TERCER ORDEN. Se resuelve el mismo problema anterior pero esta vez mediante el uso del mtodo Runge kutta de tercer grado, de valor inicial, en el intervalo de x=0 a x=1.

dy dx

yx 2

1.2 y

Donde: y(0)=1 h = 0.25 Solucin. En el mtodo de Runge kutta de tercer orden se utilizan las siguientes formulas:
yi yi 1 (k 1 6 4k 2 k 3 )h

k1

f(xi, y i ) 1 1 k 2 = f(x i h , yi k 1 h) 2 2 k 3 f(x i h , y i k 1h 2k 2 h)


Primera iteracin
k1 f(x0 , y 0 ) f
(1)(0) 2 1.2(1)

(0 , 1)

k1

k1
k2 k2

1.2
1 1 h , y0 k1h) 2 2 1 1 f (0 (0.25) , 1 ( 1.2)(0.25)) 2 2 f (0.125,0.85) 0.85(0.125) 2 1.2(0.85) 1.0067 f ( x0

k2
k2

k2

k3
k3 k3
k3

f(x o

h , y o k 1h 2k 2 h)

f (0 (0.25), (1) ( 1.2)(0.25) 2( 1.0067)(0.25)) f (0.25,0.7966)


0.7966(0.25) 2 1.2(0.7966)

k3

0.9062

y1

y1

1 (k 1 6 0.7445 y0

4k 2

k 3 )h

Segunda iteracin
x1 x0 h

x1 x1 k1
k1

0 0.25 0.25 f(x1 , y1 ) f 0.8468


1 1 h , y1 k1 h ) 2 2 1 1 f (0.25 (0.25) , 0.7445 ( 0.8469)(0.25)) 2 2 f (0.375,0.6386) 0.6386(0.375) 2 1.2(0.6386) 0.6765 f ( x1

(0.25 , 0.7445)
1.2(0.7445)

(0.7445)(0.25) 2

k1
k2 k2

k2
k2

k2

k3 k3 k3
k3

f(x1 h , y1 k 1h 2k 2 h) f (0.25 (0.25), (0.7445) ( 0.8469)(0.25) 2( 0.6765)(0.25)) f (0.5,0.6178)


0.6178(0.5) 2 1.2(0.6178)

k3
y2

0.5870
y1 1 (k 1 6 0.5720 4k 2 k 3 )h

y2

Tercera iteracin

x2 x2 x2

x1 h 0.25 0.25 0.5

k1
k1

f(x 2 , y 2 ) f
(0.5720)(0.5)
2

(0.5,0.5720)
1.2(0.5720)

k1
k2

0.5434
1 1 h , y2 k1 h ) 2 2 1 1 f (0.5 (0.25) , 0.5720 ( 0.5434)(0.25)) 2 2 f (0.625,0.5041) 0.5041(0.625) 2 1.2(0.5041) 0.4080 f ( x2

k2

k2
k2

k2

k3 k3 k3
k3

f(x 2

h , y2

k 1h 2k 2 h)

f (0.5 (0.25), (0.5720) ( 0.5434)(0.25) 2( 0.4080)(0.25)) f (0.75,0.5038)


0.5038(0.75) 2 1.2(0.5038)

k3
y3

0.3212
y2 1 (k 1 6 4k 2 k 3 )h

y3

0.4679
Cuarta iteracin

x3
x3 x3 k1
k1

x2
0.75

0.5 0.25

f(x 3 , y 3 ) f

(0.75,0.4679)
1.2(0.4679)

(0.4679)(0.75) 2

k1
k2 k2

0.2986
1 1 h , y3 k1 h ) 2 2 1 1 f (0.75 (0.25) , 0.4679 ( 0.2983)(0.25)) 2 2 f (0.875,0.4306) 0.4306(0.875) 2 1.2(0.4306) 0.1871 f ( x3

k2
k2

k2

k3 k3

f(x 3

h , y3

k 1h 2k 2 h)

f (0.75 (0.25), (0.4679) ( 0.2983)(0.25) 2( 0.1871)(0.25))

k3
k3

f (1,0.4489)
0.4489(1) 2 1.2(0.4489)

k3
y4

0.0898
y3 1 (k 1 6 0.4206
h

4k 2

k 3 )h

y4
x4

x3

x4 x4

0.75 0.25 1

Vectores solucin 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 mtodos numricos, es muy til y por ende importante para quien utilice esta herramientas para resolucin de operaciones, las cuales se saben que pueden resultar complicadas, tediosas y largas, y por ms que se dominen los mtodos tradicionales, estos muchas veces pueden no ser suficientes, sin embargo esto no quiere decir que la operacin sea imposible de solucionar, y es ah donde los mtodos numricos se aplican, y facilitan es trabajo de cierta manera. Dentro del estudio de los mtodos numricos, se encuentran una gran variedad de aplicaciones como lo fue el descrito en el presente trabajo referido al mtodo de runge kutta, que tiene como objetivo principal el anlisis y solucin de los problemas de valor inicial de ecuaciones diferenciales ordinarias, siendo estos una extensin del mtodo de euler para resolver las, pero con un orden de exactitud mas alto que este, logrando as la exactitud del procedimiento sin requerir el clculo de derivadas superiores Por tal razn se toma como un mtodo de gran facilidad y rapidez lo que lo hace de gran importancia, ya que debido

a estas caractersticas su implantacin resulta mas cmoda y fcil de manejar, tomando en cuenta a la misma vez la utilizacin de su algoritmo resultando una gran ventaja a nivel de su desenvolvimiento en la programacin en matlab. El mecanismo esta basado en la aplicacin de ecuaciones matemticas de gran facilidad de empleo, siendo esta otra caracterstica positiva. Este mtodo es de gran aplicabilidad en diversas reas de la industria lo que lo hace muy usado en distintos niveles.

2.1 APLICACIN DEL METODOD DE RUNGE KUTTA (TRANSITO DE AVENIDAS)- HIDROLOGIA


METODO DE RUNGE-KUTTA Para la circulacin de avenidas a travs de embalses bajo el supuesto de superficie libre horizontal, puede establecerse un mtodo alternativo al anteriormente descrito resolviendo la ecuacin de continuidad mediante un mtodo numrico como el de Runge-Kutta. Este mtodo no requiere el clculo de la funcin especial 2S/t+Q versus Q, y se aproxima ms a la hidrulica de la circulacin de flujos a travs de embalses. Existen diversos rdenes de esquemas de Runge-Kutta, con mucho, el ms til y empleado el cuarto orden. La ecuacin de continuidad puede expresarse como

En donde S: Volumen de agua almacenado. I(t): Aporte que entra al embalse, funcin del tiempo. Q(y): descarga evacuada por el aliviadera o estructura de desage, determinada por la carga o calado.

El mtodo de Runge-Kutta aproxima el valor de la funcin y sobre un intervalo de tiempo, t, mediante un desarrollo en serie de Taylor.

Que es la aproximacin de Runge-Kutta de cuarto orden, por esta precisin, en la que el termino de error ser 0 (t5) METODO DE RUNGE-KUTTA

HIDROGRAMA DE SALIDA TIEMPO (min.) 15 30 45 60 75 90 105 120 135 150 165 ELEVACION CAUDAL TIEMPO (m.) 353.511 353.537 353.578 353.636 353.718 353.827 353.965 354.132 354.324 354.539 354.763 (m3/s) 0 0 0 0 0 0 0 0 0 0 0 (min.) 255 270 285 300 325 330 345 360 375 390 405 ELEVACION CAUDAL (m.) 355.726 355.783 355.817 355.831 355.829 355.817 355.798 355.773 355.743 355.708 355.671 (m3/s) 87.17 97.71 104.15 106.7 106.35 104.08 100.36 95.8 90.29 83.95 77.46

180 195 210 225 240

354.985 355.195 355.377 355.527 355.642

0 12.15 32.75 53.96 72.51

420 435 450 465 480

355.632 355.593 355.555 355.52 355.488

70.81 64.28 58.39 52.88 48.09

Nota: SE ANEXA UN ARCHIVO EN EXCEL EN EL CD EJERCICIO 2: Aplicando el mtodo de Runge-Kutta resolver un problema de ecuaciones diferenciales lineales de primer orden con aplicacin de ingenieras. Para problemas de ingeniera tenemos el caso de un tanque con problema de mezclas de soluciones salinas: Consideremos un depsito que contiene 50lts de agua con 75 gr de sal disueltos. En un determinado instante comienza a entrar agua salada a razn de 2 lts/min, con una concentracin de 3 gr/lts de sal, mientras que el agua, perfectamente mezclada, sale del depsito a razn de 2 lts/min. En la imagen anterior se plantea el problema. Llamemos a la cantidad de sal en el depsito en el instante t.

Notemos que el volumen de agua en el depsito es siempre de 50 litros,

ya que en cada instante entran dos litros y salen otros dos. Por tanto, la concentracin de sal en cada instante ser de La velocidad , que se

de variacin de la concentracin de sal viene dada por expresa en gr/min. Por un lado, el aporte de sal por minuto al depsito ser de:

Mientras que la tasa de prdida de sal es de:

La variacin total de la concentracin de sal viene dada por la diferencia entre el aporte y la prdida de sal. Obtenemos as la siguiente ecuacin 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

Donde

Por lo tanto

Y as sucesivamente hasta llegar hasta Pero para facilitar este mtodo se realiza a travs de la herramienta Excel realizando una simple tabla que contenga el mtodo dicha tabla se anexara en el trabajo. ANEXOS CALCULOS DE METODO DE RUNGE KUTTA Se anexa tambin para comparar la efectividad del mtodo la solucin de la ecuacin luego de haber sido integrada y los valores resueltos, al comparar esto nos podemos dar cuenta que son mnimas las diferencias y que el mtodo es efectivo y ser aun ms efectivo si se escoge un incremento (h) ms pequeo.

Resolver mediante el mtodo de Runge Kutta la siguiente ecuacin: 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,8225 100,097513 109,294542 116,796558 122,915952 127,907542 131,979182 135,300419 138,009552 140,219391 142,021957 143,492311 0 75 5 k1 3 2,4471 1,99609947 1,62821834 1,3281377 1,08336192 0,88369832 0,72083272 0,58798325 0,47961794 0,39122435 0,3191217 0,26030757 k2 2,7 2,20239 1,79648952 1,4653965 1,19532393 0,97502573 0,79532849 0,64874945 0,52918492 0,43165614 0,35210192 0,28720953 0,23427682 k3 2,73 2,226861 1,81645052 1,48167869 1,20860531 0,98585935 0,80416547 0,65595777 0,53506476 0,43645232 0,35601416 0,29040075 0,23687989 k4 2,727 2,2244139 1,81445442 1,48005047 1,20727717 0,98477599 0,80328177 0,65523694 0,53447677 0,4359727 0,35562293 0,29008163 0,23661958

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 Organizador:


% % % % % % METODO DE ord : funcion : xo, yo : h : n : RUNGE KUTTA Orden del metodo Nombre de la funcin f(x,y) de la derivada condiciones iniciales tamao del paso Numero de iteraciones. (para la particin)

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

Funcin:
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 funcin f(x,y) de la derivada % xo, yo : condiciones iniciales % h : tamao del paso % n : Numero de iteraciones. (para la particin) 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); 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 funcin f(x,y) de la derivada % xo, yo : condiciones iniciales % h : tamao del paso % n : Numero de iteraciones. (para la particin) 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);

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 funcin f(x,y) de la derivada % xo, yo : condiciones iniciales % h : tamao del paso % n : Numero de iteraciones. (para la particin) 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 funcin f(x,y) de la derivada % xo, yo : condiciones iniciales % h : tamao del paso % n : Numero de iteraciones. (para la particin) 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)); 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 ------ ------ ------

0 1.0000 2.0000 3.0000 4.0000 5.0000

0 1.0000 0.1000 1.0000 0.2000 1.0200 0.3000 1.0608 0.4000 1.1244 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:

4 CONCLUSIONES
El mtodo RUNGE-KUTA es un conjunto de mtodos iterativos para la aproximacin de ecuaciones diferenciales ordinarias que derivan del mtodo de Taylor. El mtodo de RUNGE-KUTTA tiene variantes variando en la exactitud de la solucin La efectividad o exactitud del mtodo consiste en saber escoger un buen incremento. Se pueden resolver ecuaciones diferenciales sin tener necesidad de resolver las integrales a dicha ecuacin solo se necesita conocer una pendiente hallada a travs de la ecuacin . El mtodo de Runge Kutta se utiliza para determinar costos, volmenes bajos aislados, productos de alto valor agregado, control de movimientos, control de procesos, dimensiones de espacio, entre otras

5 RECOMENDACIONES
Es bueno reconocer los tipos de este mtodo para poder resolver los diferentes problemas que se nos presente Reconocer los datos para su fcil resolucin Saber cmo es el mtodo TAYLOR , saber utilizarlos ya que nos ayudara en la variante de cuarto orden Saber tambin el mtodo de EULER ya que se usa en una de la variante de este mtodo que estamos explicando

Potrebbero piacerti anche