Ecuaciones Diferenciales Ordinarias Teorico

Ecuaciones Diferenciales Ordinarias Métodos Numéricos para su Resolución Ecuaciones Diferenciales Ordinarias (EDO) ●

Views 96 Downloads 1 File size 204KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Ecuaciones Diferenciales Ordinarias

Métodos Numéricos para su Resolución

Ecuaciones Diferenciales Ordinarias (EDO) ●



● ●



Definición: una ecuación diferencial es una ecuación que involucra a una función y sus derivadas Si además la función depende de una única variable independiente: ecuación diferencial ordinaria (EDO) Ejemplos: y'=2x2+y

o

y'''-7y'=6y

Donde las primas (') indican el orden de la derivada, y la x es la variable independiente En ocasiones suele usarse también t para representar la variable independiente

Ecuaciones Diferenciales Ordinarias (EDO) ●



Encontrar una solución a una EDO es encontrar una función y=g(x) que cumpla dicha ecuación Ejemplo: ● ●





y'=2x2+y tiene solución y(x)=ex-2x2-4x-4 y'''-7y'=6y tiene solución y(x)=e-x

No siempre es posible conocer la solución analítica de una EDO (¿ejemplo?) En esos casos hay que recurrir a métodos numéricos para encontrar soluciones aproximadas a EDOs de primer orden: y'=f(x,y) dadas la condiciones iniciales x=x0 e y=y0

Método de Euler Este método rara vez se emplea en la práctica. Pero es de simple deducción y permite ilustrar las técnicas que e aplican en método más sofisticados. Pretendemos resolver numéricamente:

dy = f t , y  dt

a≤t ≤b

con y  a=

Lo que obtendremos será una tabla de valores aproximados, para algunos puntos uniformemente ditribuido en el intervalo [a,b] t i=aih

i=0,1 ,2 , , N

donde h=

b−a N

es el paso o tamaño del intervalo

Método de Euler Desarrollamos y(t) en serie de Taylor alrededor del punto ti

1 2 y t i 1= y t i h y ' t i  h y ' ' t i  2 donde

h=t i 1−t i

truncamos a primer orden, y generamos sucesión wi (para diferenciarlo del resultado exacto yi)

w i 1=wi h f t i , w i 

w0 =

Método de Euler

w i 1=wi h f t i , w i 

w0 =

Ejemplo: Método de Euler y ' =− y t 1 solución exacta:

t 0,0 0,1 0,2 0,3 0,4 0,5 0,6

w 1,000000 1,000000 1,010000 1,029000 1,056100 1,090490 1,131441

0≤t ≤1

y=te y 1,000000 1,004837 1,018731 1,040818 1,070320 1,106531 1,148812

y 0 =1

−t

error 0,000000 0,004837 0,008731 0,011818 0,014220 0,016041 0,017371

Error en el método de Euler y i 1− y i El error cometido en cada paso es i 1= − f t i , y i  h Por el teorema de Taylor, podemos escribir el polinomio de Taylor

1 2 y t i 1= y t i h f t i , y i  h y ' ' i  2 sustituyendo y operando, llegamos a

h i 1= y ' ' i  2 ¡El error es O(h)!

para algúni ,

t i ≤i ≤t i1

Métodos de Runge-Kutta Consideremos nuevamente la EDO

y '= f t , y 

y t 0 =

Para calcular el valor yi+1 en ti+1=ti+h, dado el valor yi integramos la ecuación anterior en el intervalo [ti , ti+1] t i1

y i 1= y i ∫ f t , y  dt ti

Ahora es cuestión de aproximar la integral por medio de algún método numérico, en este caso por trapecios t i1

∫ ti

1 f t , y  dt ≈ h  f t i , y i  f t i 1 , y i 1 2

Método de Runge-Kutta de orden 2 Las aproximaciones son: ● integral mediante el método de los Trapecios ● aproximación de Euler inicial para y i+1

y i 1= y i h f t i , y i  h y i 1= y i  [ f t i , y i  f t i 1 y i 1  ] 2

Método de Runge-Kutta de orden 2 Forma Canónica k 1 =h f t i , y i 

k 2=h f t i1 , y ik 1  1 y i 1= y i   k 1k 2  2

Ejemplo: y'=t-y t 0 0,1 0,2 0,3 0,4 0,5 0,6

w(i) 1,000000 0,910000 0,838050 0,782435 0,741604 0,714152 0,698807

y(0)=1 en [0 , 0.6]

k1 -0,100000 -0,081000 -0,063805 -0,048244 -0,034160 -0,021415

k2 -0,080000 -0,062900 -0,047425 -0,033419 -0,020744 -0,009274

w(i+1) 0,910000 0,838050 0,782435 0,741604 0,714152 0,698807

Método de R-K de orden 3 Partimos de la misma aproximación que RK2: sólo que esta vez usamos el método de simpson 1/3 para aproximar la integral

h y n 1= y n  f t n , y n 4 f t 1 , y 1  f t n1 , y n1  n n 6 2 2

[

h y n 1/ 2= y n f t n , y n  2

y n 1= y n h [  f t n , y n 1− f  y n1 / 2 ] donde q es un parámetro que debe optimizarse a los efectos de minimizar el error

]

Método de R-K de orden 3 En forma canónica, esto queda expresado así:

k 1 =h f t n , y n  h 1 k 2 =h f  t n  , y n k 1  2 2 k 3 =h f t nh , y n k 11− k 2  1 y n1 = y n k 14 k 2k 3  6

Método de R-K de orden 3 Para encontrar el q óptimo, desarrollaremos k1, k2 y k3 en una serie de Taylor alrededor del punto (tn,yn)

k 1 =hf 1 2 k 2=hf  h  f t  f 2

y

1 3 2 f  h  f t t 2 f ty  f yy f  8

2

k 3 =hf h  f t  f y f  1 3  h  f t t 2 f ty f  f 2

2

yy

f 1− f t f

y

ff

y



Método de R-K de orden 3 Consideremos el desarrollo en serie de Taylor para yn+1 2

h y n 1= y n hf   f t  f y f  2 3 h 2 2   f t t2 f ty f  f yy f  f t f y  f y f  6

Comparando término a término con el desarrollo anterior, llegamos a que ambos desarrollos coinciden hasta el orden 3 si tomamos q=-1

k 1=h f t n , y n  h 1 k 2 =h f t n , y n k 1  2 2 k 3=h f t nh , y n−k 12 k 2  1 y n 1= y n   k 1 4 k 2k 3  6

RK3

Método de Runge-Kutta de cuarto orden Éste método es uno de lo más empleado en la práctica. Surge de aproximar la integral mediante la regla 1/3 de Simpson. La solución aproximada coincide con un desarrollo en serie de Tayor hasta el cuarto orden

k 1 =h f t i , y i  k1 h k 2=h f t i , y i   2 2 k2 h k 3 =h f t i  , y i  2 2 k 4=h f t i h , y i k 3  1 y i 1= y i  [ k 12 k 2 2 k 3k 4 ] 6

Ejemplo: R-K cuarto orden y'=t-y

t 0 0,1 0,2 0,3 0,4 0,5 0,6

w(i) 1,000000 0,909675 0,837462 0,781637 0,740641 0,713062 0,697624

k1 -0,100000 -0,080968 -0,063746 -0,048164 -0,034064 -0,021306

y(0)=1

k2 -0,090000 -0,071919 -0,055559 -0,040756 -0,027361 -0,015241

en [0,1] con h=0.1

k3 -0,090500 -0,072372 -0,055968 -0,041126 -0,027696 -0,015544

k4 -0,080950 -0,063730 -0,048149 -0,034051 -0,021294 -0,009752

w(i+1) 0,909675 0,837462 0,781637 0,740641 0,713062 0,697624

Errores cometidos en métodos numéricos para resolver EDOs ●

error de truncación (local)



error de propagación



error de redondeo (números en punto flotante) yi+2

yi+1

propagación wi+2 wi+1

ti

ti+1

ti+2

truncación

Ejemplo: Reactor Químico Conversión de Almidón en Glucosa Se asume que la reacción es de segundo orden respecto a concentración de Almidón

q,[Af]

d [ A] q q 2 = [ A f ]−k [ A] − [ A] dt V V flujo: vol. reactor: conc. entrada: cte. reacción:

V q=100 gal/min q,[A] V=10000 gal [Af]=5 lb/gal Reactor bien agitado k=0.004 gal/min-lb

Cond. iniciales: t=0 [A]=[Af] Reactor en régimen: [A]=0.5[Af]

Ej: Conversión de Almidón en Glucosa

d [ A] q q 2 = [ A f ]−k [ A] − [ A] dt V V

Para simplificar, usaremos variables adimensionales

tq V =  dt= d  V q [ A] y=  d [ A]=[ A f ]dy [ Af ] d [ A] q dy q q 2 = [ Af ] = [ A f ]−k [ A f ] y  − [ A f ] y dt V d V V

dy 2 =1−2 y − y , d

0=0 ,

y 0 =1

Ej: Reacciones secundarias en el reactor Sea el mismo reactor donde ocurren una serie de reacciones secundarias

A

k1



AB C C

B k2

 C k3



D

Las EDOs asociadas a estas reacciones son:

d [ A] V =q [ A f ]−q[ A]−k 1 [ A]−k 2 [ A][ B ] dt d [ B] V =−q [ B ]k 1 [ A]−k 2 [ A][ B ] dt d [C ] 2 V =−q [C ]k 2 [ A][ B]−k 3 [C ] dt

Sistemas de EDOs Sistema de EDOs con condiciones iniciales

y ' = f t , y , u , v  u ' =g t , y , u , v  ⋮ v ' = p t , y , u , v 

y t 0 = y 0 ut 0 =u 0 ⋮ v t 0 =v 0

¿Cómo resolvemos este tipo de problemas?

Sean los vectores:

Sistema de EDOs

[] [ ]

y u X= ⋮ v

y' u ' X'= ⋮ v'

[ ]

f t , y , u , v  g t , y , u , v  F  t , X = ⋮ p t , y , u , v 

Podemos aplicar simultaneamente a todas las ecuaciones alguno de los métodos ya vistos, por ej.: RK4 K 1=F  t , X  h h K 2=F t  , X  K 1  2 2 h h K 3=F  t  , X  K 2  2 2 K 4=F t h , X h K 3  h X  t h= X t   K 12 K 22 K 3 K 4  6 De la misma manera que aplicamos RK4 podríamos haber aplicado cualquiera de los otros métodos vistos

EDOs de orden superior m

m−1 

y = f t , y , y ' , y ' ' , , y  m −1 y t 0 = 0 , y ' t 0 =1 ,  , y t 0 = m−1 Para resolver EDOs de segundo orden o superior, el truco consiste en transformar la ecuación de orden m en un sistema de m ecuaciones de orden 1, mediante simples cambios de variables

du 1 dy = =u 2 dt dt du 2 dy ' = =u 3 dt dt ⋮ du m dy  m−1  m = = y = f t , u 1, u 2 , ; u m  dt dt

Ejemplo: EDO de orden 3

y ' ' ' = y ' −t y

2

Lo transformamos en un sistema de 3 EDOs de primer orden, mediante los cambios de variable

y ' =u u ' =v 2 v ' =u−ty