P. 1
Ecuaciones Diferenciales. Problemas de Valor Inicial

Ecuaciones Diferenciales. Problemas de Valor Inicial

|Views: 18|Likes:
Publicado porwalterpuntounico

More info:

Published by: walterpuntounico on Nov 12, 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

05/12/2014

pdf

text

original

Pr´ctica 7: Ecuaciones diferenciales.

Problemas de a valor inicial

1.

Introducci´n. o
El objetivo de esta pr´ctica es la resoluci´n de ecuaciones diferenciales de la forma a o y = dy = f (t, y) , dt (1)

con la condici´n inicial y(t0 ) = y0 . Para resolver este problema vamos a emplear m´todos o e de Runge-Kutta y m´todos predictor-corrector. e

1.1.

M´todos Runge-Kutta. e

En estos m´todos se divide el intervalo [t0 , tn ] en que se pretende resolver la ecuaci´n e o en n subintervalos [t0 , t1 ], [t1 , t2 ],...,[tn−1 , tn ] de longitud id´ntica h. El m´todo nos proe e porciona aproximaciones yk a la soluci´n y(tk ) en cada punto tk mediante una expresi´n o o de la forma: yi+1 = yi + φ(ti , yi , h) h (2) La aproximaci´n m´s sencilla se obtiene tomando φ = f (ti , yi ); es decir, la derivada y o a en el punto anterior (ti , yi ) , que es el llamado m´todo de Euler. Comparando (2) con e el desarrollo de Taylor para y en t = ti es f´cil comprobar que el error de truncamiento a introducido en cada paso por la aproximaci´n (2) (error de truncamiento local) es de orden o h2 en el m´todo de Euler. En los m´todos de Runge-Kutta se generaliza el procedimiento e e anterior, tomando una funci´n φ que conduce a un error local de orden predeterminado. o Por ejemplo, en los m´todos de Runge-Kutta de segundo orden se toma: e φ = a 1 k1 + a2 k2 con k1 = f (ti , yi ) k2 = f (ti + p1 h, yi + q11 k1 h) (4) (5) (3)

Donde los coeficientes a1 , a2 , p1 , q11 se obtienen igualando la expresi´n (3) con un deo sarrollo de Taylor de segundo orden, lo que conduce a un error de truncamiento local de O(h3 ). De esta condici´n se deducen tres ecuaciones que deben verificar los cuatro o coeficientes indeterminados; por ello se han propuesto distintos m´todos que difieren en e 1

la condici´n adicional introducida para determinar estos par´metros. De forma an´loga, o a a en los m´todos de Runge-Kutta de cuarto orden se emplea la expresi´n: e o yi+1 = yi + (a1 k1 + a2 k2 + a3 k3 + a4 k4 ) h + O(h5 ) (6)

donde, como en el m´todo de segundo orden, ki son valores de la derivada f (t, y), evaluados e en puntos intermedios, (tp , yp ) cuyas posiciones dependen a su vez de par´metros que se a determinan igualando t´rmino a t´rmino con la serie de Taylor. En su forma m´s habitual, e e a el algoritmo toma la forma: 1 yi+1 = yi + (k1 + 2k2 + 2k3 + k4 ) h + O(h5 ) 6 k1 = f (ti , yi ) k1 h h ) k2 = f (ti + , yi + 2 2 h k2 h k3 = f (ti + , yi + ) 2 2 k4 = f (ti + h, yi + k3 h) (7) (8) (9) (10) (11)

1.2.

M´todos predictor-corrector. e

Consideramos como ejemplo el m´todo de Adams-Bashfort-Moulton que emplearemos e en esta pr´ctica. La deducci´n del algoritmo parte de la expresi´n: a o o
tı+1

y(ti+1 ) = y(ti ) +
ti

f (t, y(t))dt

(12)

con ti+1 = t+h. A continuaci´n, la integral se aproxima sustituyendo f (t, y) por el polinoo mio de interpolaci´n de tercer grado P3 (t) que pasa por los puntos (ti−3 , yi−3 ), (ti−2 , yi−2 ), o (ti−1 , yi−1 ), (ti , yi ), que han sido calculados previamente. Integrando este polinomio anal´ ıticamente se obtiene:
p yi+1 = yi +

h [55f (ti , yi ) − 59f (ti−1 , yi−1 ) + 37f (ti−2 , yi−2 ) − 9f (ti−3 , yi−3 )] 24

(13)

que se conoce como el valor predictor de Adams-Bashfort. A continuaci´n, la soluci´n se o o p o o mejora a˜adiendo el punto (tii+1 , yi+1 ) en la evaluaci´n de la integral de la ecuaci´n (12). n En concreto, se emplea ahora un nuevo polinomio de tercer grado que pasa por los puntos p (ti−2 , yi−2 ), (ti−1 , yi−1 ), (ti , yi ), (ti+1 , yi+1 ). Integrando este polinomio se obtiene: yi+1 = yi + h p 9f (ti+1 , yi+1 ) + 19f (ti , yi ) − 5f (ti−1 , yi−1 ) + f (ti−2 , yi−2 ) , 24 (14)

que es conocido como el valor corrector de Adams-Moulton 2

2.

Aplicaci´n: resoluci´n de una ecuaci´n diferencial o o o de primer orden

Como ejemplo vamos a aplicar los m´todos de Runge-Kutta y Adams-Bashfort-Moulton e para resolver la ecuaci´n diferencial de primer orden: o y = 1 + y2 (15)

con la condici´n inicial y(0) = 0. Los resultados pueden comprobarse por comparaci´n o o con la soluci´n anal´ o ıtica y = tg(t). En esta pr´ctica, disponemos de un programa RunKut.m para resolver ecuaciones a diferenciales ordinarias empleando el m´todo de Runge-Kutta. Este se ejecuta en la forma: e RunKut(’F’ TI, TF, H, YI, N) donde F es el nombre de la funci´n en la que se ha programado la ecuaci´n diferencial a o o resolver. TI, TF son los puntos inicial y final del intervalo en el que se va a resolver la ecuaci´n. o H es el paso (h en las ecs. (2) - (11)). YI es el valor de la variable independiente en el punto inicial TI. N es orden del m´todo Runge-Kutta. e Para comenzar, abrir el archivo RunKut.m y anotar los valores de los par´metros a 1 , a a2 , p1 , q11 que se emplean en el m´todo de segundo orden (primera pregunta de la hoja e de resultados). Fijarse que en el programa la variable independiente se llama x, mientras que en las ecuaciones anteriores la hemos denominado t. En nuestro ejemplo, el archivo ejemp1.m contiene la funci´n ejemp1(t,y), en la que o hemos programado la funci´n y (t, y) de la ecuaci´n (15). Comenzamos por resolver la o o ecuaci´n diferencial empleando un paso h = 0,1 y el m´todo de segundo orden: o e [t12, yrk2]=RunKut(’ejemp1’, 0, 1.2, 0.1, 0, 2) los vectores t12, yrk2 contienen respectivamente los valores (t i ) de la variable independiente y de la funci´n yi , obtenidos resolviendo la ecuaci´n diferencial en estos puntos. o o De la misma forma, podemos aplicar el m´todo de cuarto orden con el mismo paso, e escribiendo: 3

[t12, yrk4]=RunKut(’ejemp1’, 0, 1.2, 0.1, 0, 4)

Comprobamos el resultado, representando la diferencia con la soluci´n exacta: o yex= tan(t12) plot (t12, yrk2, ’or’, t12, yex, ’b’) plot (t12, yrk4, ’or’, t12, yex, ’b’) drk2=yrk2 - yex; drk4=yrk4 - yex; plot (t12, drk2,’b’, t12, drk4,’r’) En esta pr´ctica disponemos asimismo de un programa para resolver ecuaciones dia ferenciales empleando el m´todo de Adams-Bashfort-Moulton, contenido en el archivo e AdMou.m. Abrir dicho archivo, comprobar que se han programado las ecuaciones (13) y (14) y completar la primera pregunta de la la hoja de resultados. La forma de ejecutar el programa es similar a la del m´todo Runge-Kutta. Para el ejemplo concreto que estamos e considerando escribimos: [t12, yam, yp]=AdMou (’ejemp1’, 0, 1.2, 0.1, 0) Los resultados son ahora tres vectores: 1. t12 son los valores de la variable independiente. 2. yam es el resultado dado por la ecuaci´n (14) o 3. yp es el valor del predictor Adams-Bashfort de la ecuaci´n (13). o Podemos comparar los distintos resultados de la forma siguiente: dpam = yp - yex; dam = yam-yex; plot (t12, drk2,’ob’ t12, drk4, ’b’, t12, dam,’r’, t12, dpam, ’or’ )

3.

Sistemas de ecuaciones diferenciales.

Los m´todos antes explicados se generalizan sin dificultad para resolver sistemas de e ecuaciones diferenciales de la forma: yp = f (t, y1 , y2 , ...yN ) ; p = 1, 2, ..., N 4 (16)

con la condici´n inicial o yp (t0 ) = yp0 , ; p = 1, 2, ..., N (17) En particular, el programa RunKut que hemos empleado permite resolver sistemas de ecuaciones diferenciales ordinarias sin m´s que generalizar la funci´n F.m para que eval´e a o u las N derivadas precisas y recordando que el valor inicial YI debe ser ahora un vector con N componentes. Veamos un ejemplo: El movimiento de un p´ndulo viene determinado por e las dos ecuaciones: dy1 = y2 dt dy2 = −15 sen(y1 ) dt (18) (19)

siendo y1 el desplazamiento angular e y2 la velocidad angular. Estas ecuaciones se han escrito en la function pendulo.m. Supongamos un desplazamiento inicial y 1 (t0 ) = π/4 con velocidad inicial nula. El procedimiento para resolver este problema, empleando una m´todo Runge-Kutta de cuarto orden, es el siguiente: e y0=[pi/4 0]; ti=0; tf=5; h=0.01; [t,y]=RunKut(’pendulo’, ti, tf, h, y0, 4); plot (t, y) Tambi´n puede ser util representar velocidad frente a posici´n: e ´ o plot (y1, y2)

Para desplazamientos angulares peque˜os puede emplearse la aproximaci´n lineal: n o dy1 = y2 dt dy2 = −15 y1 dt (20) (21)

Modificar el programa pendulo.m para aplicar esta aproximaci´n y comparar las soluo ciones obtenidas con las del modelo original (pregunta 3 de la hoja de resultados). En muchas ocasiones es deseable emplear m´todos con paso variable. Entre estos m´toe e dos, mencionaremos el de Runge-Kutta Fehlberg, que emplea f´rmulas de Runge-Kutta o de cuarto y quinto ordenes para estimar el error de truncaci´n local, que a continuaci´n se ´ o o 5

usa para aumentar o disminuir el paso a lo largo de la integraci´n. Este algoritmo es la bao se de la instrucci´n MATLAB ode45. En su forma m´s sencilla, la sintaxis del comando es o a [t, y] = ode45 (’F’, [TI,TF], YI) donde los argumentos F, TI, TF, YI tienen el mismo significado que los correspondientes para el programa RunKut. Comprobamos el funcionamiento del comando escribiendo: ode45 (’pendulo’, [ti,tf ], y0) Veremos que la soluci´n se presenta gr´ficamente. Podemos observar en esta gr´fica que o a a el paso de integraci´n aumenta al comienzo de la integraci´n. Los resultados num´ricos o o e se obtienen escribiendo: [t, y] = ode45 (’pendulo’, [ti,tf ], y0) En los m´todos de predictor-corrector puede adaptarse el paso a lo largo de la integrae ci´n empleando la diferencia entre los valores predictor y corrector como estimaci´n del o o error. En particular, un algoritmo Adams-Bashfort-Moulton con paso variable es la base del comando MATLAB ode113. En el ejemplo actual escribimos: ode113 (’pendulo’, [ti,tf ], y0)

6

4.

Aplicaci´n: Reacci´n reversible exot´rmica en un o o e reactor catal´ ıtico.

Se lleva a cabo la reacci´n en fase gas 2A o C en el reactor catal´ ıtico de la figura. A lo largo del reactor hay una caida de presi´n y un intercambiador de calor rodea el reactor. o La conversi´n de A , denominada X y la temperatura T son funciones de la posici´n en o o el lecho catal´ ıtico, indicada por la masa de catalizador W .

Tα F Α0 T
0

q X T

Llamando y a la caida de presi´n a lo largo del reactor (y = P/P0 ), el sistema de o ecuaciones diferenciales que debemos resolver tiene la forma: dX = f1 (W, X, y, T ) (22) dW dy = f2 (W, X, y, T ) (23) dW dT = f3 (W, X, y, T ) (24) dW (25) Las expresiones de las funciones f1 , f2 , f3 son las siguientes: 1. Llamando FA0 al flujo incidente de A, se cumple: dX = −rA FA0 dW donde la velocidad de esta reacci´n catal´ o ıtica es: Cc 2 −rA = k CA − KC

(26)

(27)

La constante de velocidad k y la constante de equilibrio KC cumplen las ecuaciones de Arrhenius y van’t Hoff: k = k(T = 450K) exp KC 1 1 EA − R 450 T 1 1 ∆HR − = KC (T = 450K) exp R 450 T 7 (28) (29)

y las concentraciones se expresan como funciones de X, y = P/P0 , T en la forma: CA = CA0 CC = 2. La caida de presi´n es: o dy α(1 − 0,5X) T =− dW 2y T0 3. Por ultimo: ´ Uα (Tα − T ) + rA (∆HR ) dT = dW FA0 CP A (32) 1−X T0 y 1 − 0,5X T T0 0,5CA0 X y 1 − 0,5X T (30) (31)

(33)

La resoluci´n del sistema de ecuaciones diferenciales (22-24) se efect´a mediante el proo u grama packbed.m. Este programa lee los datos FA0 y Tα , integra el sistema de tres ecuaciones diferenciales (usa la rutina ode45) y representa gr´ficamente los resultados a (X, T , P/P0 ) en funci´n de W . Las ecuaciones(22-24) se han programando en la reaco cal.m, donde se dan los valores para un reactor concreto y una determinada reacci´n. o Resolver el problema escribiendo: packbed El programa pedir´ los datos FA0 y Tα . Tomar FA0 = 5, Tα = 300. Repetir con FA0 = 10 a y Tα = 500, 700 y reponder la pregunta 4 de la hoja de resultados.

8

5.

Resultados.
NOMBRE Y APELLIDOS:

1. Escribir los valores de los par´metros a1 , a2 , p1 y q11 empleados en el m´todo de a e Runge-Kutta de segundo order. ¿Qu´ m´todo se ha empleado para obtener los prie e meros puntos en el programa AdMou.m?

2. Explicar la diferencia entre m´todos de un s´lo paso y m´todos multipaso y entre e o e m´todos con paso fijo y variable. e

3. Comentar la validez del modelo lineal del p´ndulo de la secci´n 3 para condiciones e o iniciales y1 (0) = 0,1, y1 (0) = π/4

9

4. Deducir de los resultados si se emplea un n´mero mayor de pasos en la integraci´n u o Runge-Kutta Fehlberg (comando ode45) o en el m´todo Adams-Bashfort-Moulton e con paso variable (comando ode113) para resolver el problema de la secci´n 3. o

5. De los resultados num´ricos, deducir si la conversi´n X es m´s sensible al flujo e o a incidente o a la temperatura. ¿Con qu´ valores de estos par´metros se alcanza un e a valor m´s alto de X para W =20kg? a

10

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