Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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,
(6)
en donde (7)
En el mtodo
de Euler y
(8)
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
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:
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:
modo tal que reemplazando en las expresiones correspondientes, tendremos que el predictor y corrector en dicho punto intermedio se escribir:
Simplificaremos
el
proceso
de
clculo,
determinando
algunos
en
es posible ubicar
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
(0.5,0.578319)
1.2(0.578319)
(0.578319)(0.5) 2
k1
k2
k2
k2
k2
k2
y3 y3
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
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
(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)
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.25 , 0.7445)
1.2(0.7445)
(0.7445)(0.25) 2
k1
k2 k2
k2
k2
k2
k3 k3 k3
k3
k3
y2
0.5870
y1 1 (k 1 6 0.5720 4k 2 k 3 )h
y2
Tercera iteracin
x2 x2 x2
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)
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)
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
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.
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
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.
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:
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:
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
INICIO
Ingreso
Computar
Iniciar datos
Mostrar
Incrementar
Fin
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;
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
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
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
>> 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 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